Wprowadzenie

Producer products API jest przeznaczone dla producentów i pozwala na pobieranie informacji o produktach producenta, np. o ich aktualnej dostępności w sklepach internetowych współpracujących z BUY.BOX.

API wykorzystuje architekturę REST oraz przyjmuje i przekazuje dane w formacie JSON. Sukces lub błąd obsługi żądania sygnalizowany jest odpowiednim kodem HTTP zwracanej odpowiedzi. Kod HTTP 200 oznacza poprawną realizację żądania, inne kody oznaczają błąd adekwatny do zgłoszonego kodu, np. HTTP 401 - błąd autoryzacji. 

Komunikacja

API dostępne jest wyłącznie z użyciem protokołu HTTPS pod adresem adm.getbuybox.com.

Autoryzacja

Każde zapytanie wymaga autoryzacji wykorzystującej Klucz API (APIkey) i Sekret API (APIsecret), które można wygenerować samodzielnie w ramach panelu administracyjnego. Mechanizm autoryzacji wykorzystuje nagłówek X-BB-API-Authorization, w którym należy przekazać sekwencję zbudowaną zgodnie z poniższym wzorcem.

X-BB-API-Authorization: APIkey:signature
signature = HMAC-SHA1( APIsecret, UTF-8-Encoding-Of( stringToSign ) ) );
stringToSign = HTTP-VERB + " " + requestPath + "\n" + JSONPayload;

Przykład zapytania GET 

GET /api/v1/producer-products/availability
stringToSign = GET /api/v1/producer-products/availability\n

Metody

Pobranie informacji o dostępności produktów

Żądanie

GET 	https://adm.getbuybox.com/api/v1/producer-products/availability

Parametry

Brak

Treść wywołania metody

Brak

Odpowiedź

W przypadku sukcesu metoda zwraca następującą strukturę w formacie JSON. Na przykład:

[
   {
      "ean": "1234567890123",
      "availability": [
         {
            "shop": "mediaexpert.pl",
            "available": true
         },
         {
   "shop": "saturn.pl",
   "available": true
         }
      ]
   },
   {
      "ean": "1234567890124",
      "availability": [
         {
            "shop": "mediaexpert.pl",
            "available": false
         },
         {
            "shop": "saturn.pl",
            "available": true
         }
      ]
   }
]

Czy udało Ci się znaleźć odpowiedź na swoje pytanie?