Wprowadzenie
elibri jest systemem stworzonym dla wydawnictw, które mogą za jego pośrednictwem sprzedawać swoje ebooki na swoich stronach internetowych, jak i na stronach współpracujących firm. Pełna dokumentacja API znajduje się pod adresem https://www.elibri.com.pl/doc/watermarking/
Instalacja
Bibliotekę instalujemy przez Composera:
Wymagane jest PHP 7.4 lub nowsze oraz rozszerzenia curl i json. Źródła: https://github.com/elibri/elibriWatermarkingPHP
Aktualizacja do wersji 1.0
Wersja 1.0 nie jest zgodna wstecz z serią 0.x:
- Biblioteka jest instalowana Composerem i ładowana przez PSR-4; nie ma już kanału PEAR ani pliku
elibriWatermarkingPHP.php, który trzeba było ręcznie wymagać. - Klasy mają przestrzenie nazw:
ElibriWatermarkingClientto teraz Elibri\Watermarking\WatermarkingClient. - Wyjątki przeniesiono do
Elibri\Watermarking\Exception\i pozbawiono przedrostkaElibri. Wszystkie dziedziczą poElibriException. - Nazwy metod są w camelCase:
available_filestoavailableFiles,soon_available_filestosoonAvailableFiles,soon_unavailable_filestosoonUnavailableFiles. - Certyfikaty TLS są weryfikowane, a żądania mają timeout.
Wcześniej, 18.09.2024, z metody watermark zostały usunięte parametry $title_postfix oraz $client_id, a metoda retry została wycofana.
Użycie biblioteki
Poprzez API zlecasz watermarking książki, podając jej identyfikator (ISBN lub record reference), formaty (tablica stałych Format lub lista po przecinku, na ogół 'epub,mobi') oraz widoczny watermark, który jest umieszczany na końcu każdego rozdziału.
Link do zwatermarkowanego pliku jest wysyłany razem z pingiem informującym o zakończeniu transakcji, więcej informacji: https://www.elibri.com.pl/doc/watermarking/ping
Niezbędne jest podpisanie umów z wydawnictwami, których pliki mają być sprzedawane za pośrednictwem systemu elibri.
API watermarkingu jest maksymalnie proste, składa się z dwóch podstawowych wywołań: watermark oraz deliver. Metody te są oferowane przez klasę WatermarkingClient.
watermark
Sugerujemy, żeby zlecenie watermarkingu książki odbyło się jak najwcześniej, żeby klient jak najkrócej czekał na dostarczenie pliku. Wysłanie zlecenia watermarkingu nie rejestruje transakcji w systemie, można więc je wysłać w momencie, kiedy klient opuszcza koszyk i przechodzi do płacenia. Zwatermarkowany plik jest udostępniany sklepowi dopiero po wykonaniu metody deliver.
deliver
Deliver skutkuje zarejestrowaniem transakcji w systemie oraz dostarczeniem pliku. Sklep powinien na tym etapie mieć potwierdzenie dokonania płatności, ponieważ wydawnictwo obarczy go fakturą za dokonaną transakcję.
Może się zdarzyć, że sklep zleci watermarkowanie, a nie wywoła metody deliver, bo klient nie dokonał płatności. W takiej sytuacji transakcja zostaje anulowana i żadna ze stron nie zostanie obciążona. Wywołanie deliver musi nastąpić w ciągu 7 dni od wywołania watermark.
Po zakończeniu znakowania pliku nasz serwer łączy się z przekazanym przez Państwa URL-em (metoda POST), przekazując w parametrze trans_id identyfikator transakcji, która została ukończona. W pingu zwrotnym umieszczany jest również link do pliku, który mogą Państwo udostępnić klientom.
Lista dostępnych produktów
Można również pobrać listę dostępnych plików dla założonego klienta (uwzględnia ona przypisanych wydawców oraz daty premier). Uwzględnia również książki, dla których wgrane są wszystkie pliki, ale nie nastąpiła jeszcze premiera - wtedy ustawione jest pole available_date. Służy do tego metoda WatermarkingClient::availableFiles.
Obsługa błędów
Każdy wyjątek rzucany przez bibliotekę dziedziczy po ElibriException, wystarczy więc przechwycić tę jedną klasę.
1.9.1