Informacje podstawowe
Czyli co musisz wiedzieć, żeby rozpocząć pracę z REST API Allegro.
GET https://api.allegro.pl/sale/categories/2
Jeśli chcemy pobrać więcej niż jeden zasób, pomijamy w ścieżce identyfikator. Przykładowe pobranie listy kategorii Allegro:GET https://api.allegro.pl/sale/categories
WAŻNE! Jeśli chcesz pobrać całą dokumentację zasobów w formie swagger.yaml kliknij tutaj.
$ curl -i https://api.allegro.pl
HTTP/1.1 404 Not Found
Connection: keep-alive
Trace-Id: 99436185-4d7c-483b-a594-e56cbfcec360
Content-Type: application/json; charset=utf-8
Content-Length: 165
Date: Tue, 08 Sep 2015 07:59:45 GMT
X-Frame-Options: SAMEORIGIN
{"errors":[{"code":"NotFoundException","message":"Not found","details":null,"path":null,"userMessage":"Funkcja niedostępna. Skontaktuj się z autorem aplikacji."}]}
Każda odpowiedź zawiera m.in. nagłówek Trace-Id, którego wartość jednoznacznie identyfikuje zapytanie HTTP klienta. W przypadku zgłaszania problemu z zapytaniem HTTP należy przekazać wartość Trace-Id w zgłoszeniu.{
"offers": [
{
"id": "123",
"title": "test"
},
{
"id": "456",
"title": null
}
]
}
https://api.allegro.pl/sale/shipping-rates?seller.id={Seller_ID}
Pozostałe typy zapytań HTTP, takie jak POST i PUT, mają parametry umieszczone w treści zapytania, a nie w adresie:
curl -X POST \
'https://api.allegro.pl/sale/offers'
-H 'authorization: Bearer {token}' \
-H 'accept: application/vnd.allegro.public.v1+json' \
-H 'content-type: application/vnd.allegro.public.v1+json' \
-d '{
"name": "Suszarka do włosów z dyfuzorem jonizacja",
"category": {
"id": "257150"
}
Zapytania typu DELETE nie przyjmują parametrów umieszczonych w treści, jednak może się zdarzyć, że przyjmą parametry w adresie zasobu.Accept: application/vnd.allegro.public.v1+json
Wyjątkiem są metody DELETE oraz end-point OAuth (https://allegro.pl/auth), które nie są wersjonowane.Accept: application/vnd.allegro.beta.v1+json
Zasoby w tej wersji są odpowiednio oznaczone w dokumentacji.curl -X GET \
https://api.allegro.pl/sale/delivery-methods \
-H 'Authorization: Bearer {token}' \
-H 'accept: application/vnd.allegro.beta.v1+json'
Przykład wywołania zasobu w wersji drugiej, beta:
curl -X GET \
https://api.allegro.pl/sale/delivery-methods \
-H 'Authorization: Bearer {token}' \
-H 'accept: application/vnd.allegro.beta.v2+json'
Accept-Language: pl-PL
Accept-Language: en-US
{
"errors": [
{
"code": "NotAcceptableException",
"message": "An error has occurred",
"details": null,
"path": null,
"userMessage": "Żądanie zawiera błędne dane. Skontaktuj się z autorem aplikacji."
}
]
}
Błędy w tym formacie opisane są następującymi polami:{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
Powyższe pola oznaczają:GET /sale/offers?limit=100&offset=0
Przykład pobrania kolejnej paczki ofert:
GET /sale/offers?limit=100&offset=100
GET /sale/offers?publication.status=ACTIVE
GET /sale/offers?sort=stock.sold
Przykład pobrania listy ofert uszeregowanych malejąco według liczby przedmiotów:
GET /sale/offers?sort=-stock.sold
Przykład pobrania listy ofert uszeregowanych malejąco według sprzedanej liczby przedmiotów, a następnie rosnąco według dostępnej liczby przedmiotów::
GET /sale/offers?sort=-stock.sold,stock.available
YYYY-MM-DDTHH:MM:SSZ
Pomiędzy datą, jaką prezentujemy w Moim Allegro a REST API, występuje różnica 2 godzin ze względu na różne strefy czasowe:
{
"buyNowPrice": {
"amount": "10.23",
"currency": "PLN"
}
}
"bg645d84-75b4-431b-adb2-eb6b9e546059"
Produkcja | Sandbox | |
Adres wywołania metod | https://api.allegro.pl/ | https://api.allegro.pl.allegrosandbox.pl/ |
Rejestracja aplikacji | https://apps.developer.allegro.pl/ | https://apps.developer.allegro.pl.allegrosandbox.pl/ |
Adres do autoryzacji | https://allegro.pl/auth/oauth/ | https://allegro.pl.allegrosandbox.pl/auth/oauth/ |