Pobieranie danych

pop

POST
/api/v1/queues/:queue_name/pop
Pobiera dane z kolejki

Pobiera dane z kolejki :queue_name, gdzie :queue_name może przyjmować wartości 'meta' lub 'stocks'. W treści żądania można przekazać trzy argumenty: count , testing oraz offset (tylko gdy testing=1). Parametr count jest opcjonalny i oznacza maksymalną ilość produktów, które jednorazowo zdejmujemy z kolejki. API akceptuje wartość count pomiędzy 1 i 100.

Gdy parametr testing ma wartość 1, dane nie są w rzeczywistości usuwane z kolejki oczekującej. Taki request można wykonywać wielokrotnie i za każdym razem zwraca te same dane (dane produktów z początku kolejki oczekującej).

Aby uprościć parsowanie odpowiedzi (brak konieczności dodatkowych przestrzeni nazw w XML'u), metadane POP'u zostały przeniesione do nagłówków HTTP. Wykorzystywane są do tego celu nagłówki X-eLibri-API-pop-* Gdy X-eLibri-API-pop-products-count równe jest 0, odpowiedź od serwera nie zawiera żadnych danych. Oznacza to iż pobraliśmy już wszystkie dane z kolejki. Parametr offset może być używany tylko w połączeniu z parametrem testing=1, i pozwala na przeglądanie całej kolejki, bez jej modyfikowania. Domyślnie parametr ten przyjmuje wartość 0, czyli zwracane są dane z początku kolejki.

Gdy są oczekujące dane, to system zwraca kod 200, nagłówki z informacjami o kolejce i ilości zwróconych rekordów, a także sam xml:

X-eLibri-API-pop-created-at: 2011-10-04 12:02:07 UTC
X-eLibri-API-pop-products-count: 20
X-eLibri-API-pop-queue-name: meta

<ONIXMessage xmlns="http://www.editeur.org/onix/3.0/reference" release="3.0">
  <Header>
    <Sender>
      <SenderName>Elibri.com.pl</SenderName>
    </Sender>
    <SentDateTime>20110906</SentDateTime>
  </Header>

  <Product>
    <!-- [...] -->
  </Product>
  <Product>
    <!-- [...] -->
  </Product>
</ONIXMessage>

Gdy nie ma danych oczekujących danych, zwracany jest nagłówek informujący o tym oraz pusta odpowiedź:

X-eLibri-API-pop-products-count: 0

Jeśli wystąpi błąd, zwracany jest odpowiedni kod http i komunikat o błędzie:

404
Wybrana kolejka nie istnieje

Oto przykład pobrania metadanych przy użyciu curl:

curl -i -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD \
-d "count=1&testing=1" -X POST \
https://www.elibri.com.pl/api/v1/queues/meta/pop

refill_all

POST
/api/v1/queues/refill_all
Wypełnij kolejki
Użyteczne w przypadku konieczności pełnej synchronizacji z elibri. Kolejki są wypełniane danymi o wszystkich produktach. Serwer zwraca kod 200 oraz pustą odpowiedź, gdy operacja się udała.
curl -i -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD -X POST \
https://www.elibri.com.pl/api/v1/queues/refill_all

remove

POST
/api/v1/queues/:queue_name/remove/:record_reference
Usuwa produkt z kolejki
Z kolejki jest usuwany produkt o określonym record_refence. Zwracany jest kod 200, jeśli wszystko jest ok, lub błąd, gdy podana zostanie błędna nazwa kolejki, lub gdy nie istnieje produkt o określonym record_reference. Ta operacja jest rzadko potrzebna, może być przydatna, gdy proces akceptacji danych po stronie klienta jest interaktywnym procesem.
GET
/api/v1/queues
Sprawdź stan kolejek

Sprawdź, jakie kolejki zostały Tobie udostępnione oraz czy są jakieś oczekujące dane produktów do pobrania.

<queues>
  <queue name="meta" products_count="24" last_insert_at="2011-02-05 21:02:22 UTC"/>
  <queue name="stocks" products_count="1500" last_insert_at="2011-02-05 21:02:22 UTC"/>
</queues>

Oto przykład wywołania w curl-u:

curl -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD \
https://www.elibri.com.pl/api/v1/queues
GET
/api/v1/queues/:queue_name/last_pop
Zwróć jeszcze raz dane ostatniego POP

Metoda ta pozwala powtórzyć ostnio wykonaną operację pobrania produktów. Zwraca kod 200 i zwraca ponownie wcześniej pobrane produkty, lub kod 412, jeśli wcześniej nie były pobierane żadne produkty.

Przykład wywołania w curl-u:

curl -i -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD \
https://www.elibri.com.pl/api/v1/queues/meta/last_pop
GET
/api/v1/publishers
Lista dostępnych wydawnictw

Klienci, którzy mają ustawioną subskrypcję na jedno wydawnictwo, widzą tylko jedną pozycję na liście. Reszta widzi wszystko.

<publishers>
  <publisher name="The MIT Press" city="Cambridge" company_name="The MIT Press"
            zip_code="MA 02142-1493" id="1" street="Hayward Street 55" phone1="(617) 253-5646">
    <products count="2"/>
  </publisher>
  ...
</publishers>

Przykład wywołania w curl-u:

curl -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD \
https://www.elibri.com.pl/api/v1/publishers
GET
/api/v1/publishers/pdw
Lista wydawnictw dystrybuowanych do PDW
Lista wydawnictw dystrybuowanych przez PDW, w formacie jak w liście wszystkich wydawców
GET
/api/v1/publishers/olesiejuk
Lista wydawnictw dystrybuowanych przez F.K.Olesiejuk
Lista wydawnictw dystrybuowanych przez Firmę Księgarską Olesiejuk (dystrybucja e-booków), w formacie jak w liście wszystkich wydawców
GET
/api/v1/products/:record_reference
ONIX wybranego produktu.

Zwracane kody http:

200
Produkt został znaleziony, zwrócony zostanie ONIX produktu.
404
Produkt nie został znaleziony
403
Dane produktu nie są dostępne dla tego konta.

Przykład wywołania w curl-u:

curl -k --digest -u $ELIBRI_API_LOGIN:$ELIBRI_API_PASSWORD \
https://www.elibri.com.pl/api/v1/products/91adec74ce091edadaab

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