Dostarczanie plików

Dla każdej transakcji dostarczamy Państwu linki umożliwiające dostęp do plików. Linki te mogą Państwo wykorzystać na jeden z dwóch opisanych poniżej sposobów. Informacje o tym, w jaki sposób otrzymają Państwo linki można znaleźć w sekcji ping zwrotny.

Bezpośrednie udostępnienie klientowi

Najprostszym rozwiązaniem jest bezpośrednie udostępnienie linków klientowi. Są one ważne bezterminowo i kierują bezpośrednio do plików przygotowanych dla danego klienta. Pliki są serwowane z domeny pobierz.elibri.com.pl

Pliki przygotowane dla klienta są jednak tylko trzymane przez kilka tygodni - po tym czasie są kasowane. Jeśli klient kliknie na linka po tym, jak plik zostanie usunięty, system pokaże mu komunikat o tym, że plik jest przygotowywany. Plik z książką lub audbiobookiem zostanie pobrany automatycznie, jak tylko plik zostanie na nowo przygotowany.

Wykorzystanie wewnętrzne

W niektórych sytuacjach mogą Państwo chcieć się zdecydować na obsłużenie linków w sposób zupełnie niewidoczny dla klienta. W takiej sytuacji konieczne będzie wykonanie przez Państwa głębszej integracji.

W tym scenariuszu, powinni Państwo zapisać dostarczone przez nas linki do plików oraz (również zawarty w pingu zwrotnym) link do statusu transakcji. A następnie, w reakcji na wysłane przez klienta żądanie pobrania plików, powinni Państwo sprawdzić status pliku i w oparciu o tę informację postąpić zgodnie z poniższymi instrukcjami.

Status transakcji zawiera informacje o tym, jakie formaty są dostępne i czy pliki dostępne są do pobrania od ręki, czy wymagają ponownego watermarkowania. Przykładowy status wygląda tak:

{
  "epub": {
    "status": "absent",
    "downloads": [],
    "refresh_url": "https://pobierz.elibri.com.pl/refresh/123/asdf/epub"
  },
  "pdf": {
    "status": "refreshing",
    "downloads": []
  },
  "mobi": {
    "status": "ok",
    "downloads": [
      "2022-07-06T13:19:13.941+02:00"
    ],
    "file_size":	681574
    "download_url": "https://pobierz.elibri.com.pl/d/123/asdf.mobi"
  }
}

Jeśli status formatu, o który prosi klient jest ok mogą Państwo zaserwować klientowi plik korzystając z linku do tego formatu. Link mogą Państwo odczytać pod kluczem download_url, jak w powyższym przykładzie lub wykorzystać link, który wcześniej otrzymali Państwo w pingu zwrotnym. Linki te są identyczne i dostępne w obu miejscach dla Państwa wygody.

Jeśli natomiast status to absent, powinni Państwo skorzystać z linku dostępnego w polu refresh_url i wykonać na ten adres żądanie POST. Po tym żądaniu rozpoczniemy ponowne przygotowanie pliku, co może zająć około pół minuty. W tym czasie powinni Państwo okresowo sprawdzać ponownie status (w czasie odświeżania status formatu będzie podawany jako refreshing) i — gdy status otrzyma wartość ok — zaserwować plik klientowi.

Ponieważ ponowne przygotowanie pliku może zająć około pół minuty, nie powinni Państwo całej tej operacji robić w ramach jednego żądania HTTP. Prawdopodobnie najlepszym rozwiązaniem będzie wyświetlenie klientowi (zaraz po zamówieniu odświeżenia pliku) komunikatu z informacją, że plik jest przygotowywany i okresowe sprawdzanie statusu przez osobne żądania do Państwa serwera. Mogą też Państwo rozważyć wykorzystanie WebSocketów lub innego sposobu na "wypchnięcie" informacji o gotowym pliku z Państwa serwera do przeglądarki klienta.

Masz pyta­nia? Chcesz nawią­zać współ­pracę?

Skon­tak­tuj się z nami!

Znamy się na auto­ma­ty­za­cji i opty­ma­li­za­cji pro­ce­sów wydaw­ni­czych.
Przy­go­to­wu­jemy roz­wią­za­nia dla kon­kret­nego wydaw­nic­twa.
Co możemy dla Cie­bie zro­bić? Napisz do nas: kon­takt@eli­bri.com.pl