Biblioteka do obsługi API watermarkingu eLibri

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ąch firm. Pełna dokumentacja API znajduje si się pod adresem https://www.elibri.com.pl/doc/watermarking/

Instalacja

Proszę instalować bibliotekę ze źródeł: https://github.com/elibri/elibriWatermarkingPHP

Aktualizacja biblioteki po 18.09.2024

  • Z metody watermark zostały usunięte parametry $title_postfix oraz $client_id.
  • Została usunięta niepotrzebna już metoda retry.

Użycie biblioteki

Poprzez API zlecasz watermarking książki, podając jej identyfikator (ISBN lub record reference), formaty (po przecinku, na ogół 'epub,mobi', widoczny watermark, który jest umieszczony na końcu każdego rozdziału, oraz krótki tekst, który jest dołączany do tytułu książki.

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

Następnie niezbędne jest podpisanie umów z wydawnictwami, których pliki mają być sprzedawane z pośrednictwem systemu eLibri.

API watermarkingu jest maksymalne proste, składa się z dwóch podstawowych wywołań: watermark oraz deliver. Metody te są oferowane przez klasę ElibriWatermarkingClient

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ę.

Oczywiście może się zdarzyć sytuacja, ż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 siedmiu 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żenego klienta (uzwględnia ona przypisanych wydawców, oraz daty premier) Uwzględnia on również książki, dla których są wgrane wszystkie pliki, ale nie nastąpiła jeszcze jej premiera (wtedy ustawione jest pole available_date) Służy do tego metoda ElibriWatermarkingClient::available_files

Przykłady

Przykład

W poniższym przykładzie zlecasz watermarkowanie jednej książki.

<?php
$book_rr = "2a0ec1239e285ec46b11";
//dostępy do API eLibri
$key = "061df0c87cd0472a5e4e5708fd788246";
$secret = "fbef4d3bbb30cbf502bbdb0f8ede3fc7";
require_once(dirname(__FILE__) . '/../elibriWatermarkingPHP.php');
print "1\n";
$client = new ElibriWatermarkingClient($key, $secret);
print "2\n";
//zleć watermarkowanie
$transid = $client->watermark($book_rr, "mobi,epub", "Książka dla Wojtka Kowalskiego");
print "transid: $transid\n";
//potwierdzaj transakcję
print $client->deliver($transid);
//czekaj na callback od elibri na zdefiniowany adres, w callbacku znajdziesz linki do zwatermarkowanych plików
?>
ElibriAPI abstrahuje wykorzystanie API udostępniane przez eLibri.
Definition: elibriWatermarkingClient.php:104