Naraz możesz mieć otwartych 20 sesji. W usłudze Allegro REST API (produkcyjnej oraz testowej) obowiązuje główny limit nakładany na Client ID (lub Sofware Statement ID w przypadku DCR) - 9000 zapytań na minutę.
Gdy przekroczysz limit:
- na minutę zablokujemy twój Client ID,
- zwrócimy odpowiedź ze statusem: 429 Too Many Requests.
Po tym czasie automatycznie przywrócimy dostęp do usługi dla twojego Client ID.
Dla niektórych zasobów stosujemy dodatkowe, niższe limity liczby żądań. W takich przypadkach informacje o dodatkowym limicie znajdziesz w opisie zasobu w dokumentacji REST API Allegro.
Dla wybranych zasobów REST API stosujemy także dodatkowy mechanizm, który ogranicza liczbę zapytań dla danego użytkownika (user.id). Wykorzystujemy algorytm Leaky Bucket. Gdy użytkownik przekroczy dozwoloną liczbę wywołań na minutę (RPM), wydłużamy czas odpowiedzi. W przypadku zbyt dużej liczby równoległych zapytań w imieniu tego samego użytkownika serwer odpowie błędem HTTP: 429 Too Many Requests. Więcej - w naszym poradniku.
Upewnij się, że adres, który przekazujesz w redirect_uri jest taki sam, jak ten, który podałeś przy rejestracji aplikacji. Adresy przekierowań możesz sprawdzić oraz edytować na stronie https://apps.developer.allegro.pl/. Więcej - w naszym poradniku.
Błąd wskazuje na to, że nieprawidłowo przekazujesz nazwę parametru code w URL, np.
lub nie przekazujesz go w ogóle. Więcej - w naszym poradniku.
Upewnij się, że podajesz prawidłowy adres URL - https://allegro.pl/auth/oauth/token?grant_type=authorization_code&code={code}&redirect_uri={redirect_uri}. Więcej - w naszym poradniku.
Sprawdź, czy jesteś zautoryzowany jako sprzedawca, do którego należą oferty, zamówienia, etc. (w zależności z którego zasobu korzystasz). W tym celu rozkoduj swój token - wpisz w wyszukiwarce “decode jwt token” i na jednej z dostępnych stron zweryfikuj wartość user_name po wklejeniu swojego tokena.
Zweryfikuj, jakiego typu autoryzacji wymagamy, aby skorzystać z danego zasobu. Tę informację znajdziesz w naszej dokumentacji:
- bearer-token-for-user - code lub device,
- bearer-token-for-application - client_credentials.
Więcej - w naszym poradniku.
Zweryfikuj, czy nie używasz tokena ze środowiska testowego na produkcyjnym lub odwrotnie. Więcej - w naszym poradniku.
Dzieje się tak w przypadku:
- wylogowania się ze wszystkich urządzeń, np. poprzez zakładkę Logowanie i hasło,
- zmiany hasła,
- zmiany adresu e-mail,
- blokady sprzedaży,
- w wyniku przekroczenia liczby aktywnych sesji (max. 20 otwartych sesji dla jednego użytkownika).
Sytuacja dotyczy zarówno access_tokena, jak i refresh_tokena.
Kupujący najprawdopodobniej wykonał oddzielne zakupy, a następnie łącznie je opłacił. Otrzymasz nowy event z nowym numerem zamówienia, a stare usuniemy. Aby zidentyfikować taką sytuację możesz oprzeć się na pojedynczym akcie zakupowym - lineItem.id (jeżeli jeden lineItem.id występuje w kilku zamówieniach oznacza to, że mamy do czynienia z połączeniem zakupów przez kupującego).
Gdy zmieniasz status realizacji zamówienia za pomocą PUT /order/checkout-forms/{id}/fulfillment, wykorzystaj dodatkowy parametr checkoutForm.revision, który otrzymasz w odpowiedzi dla:
Zwracamy w nim informację o wersji zamówienia. Dzięki niemu będziesz pewien, że zmieniasz status realizacji zamówienia (“fulfillment.status”), którego dokładnie ta sama kopia znajduje się w Allegro.
np. PUT /order/checkout-forms/29738e61-7f6a-11e8-ac45-09db60ede9d6/fulfillment?checkoutForm.revision={revision}’
Status realizacji zamówienia zmieni się automatycznie, tylko wtedy, gdy sprzedawca korzysta z abonamentu i zaznaczy taką opcję w ustawieniach w zakładce Zamówienia. W pozostałych przypadkach musisz to wykonać ręcznie za pomocą PUT /order/checkout-forms/{id}/fulfillment.
Skorzystaj w tym celu z parametru fulfillment.shipmentSummary.lineItemsSent. Znajdziesz w nim informację, czy do przedmiotów w zamówieniu dołączono numery przesyłek. Dostępne wartości określają przypisane numery przesyłek do:
- ALL - wszystkich przedmiotów w zamówieniu,
- SOME - przynajmniej jednego przedmiotu z zamówienia. Za pomocą GET /order/checkout-forms/{id}/shipments sprawdzisz przedmioty, do których dodałeś już numer.
- NONE - żadnego przedmiotu z zamówienia,
np. GET /order/checkout-forms?fulfillment.shipmentSummary.lineItemsSent=ALL - zwróci zamówienia, gdzie dla wszystkich przedmiotów, które wchodzą w jego skład, dodano numer przesyłki.
W polu scheduledFor przekazujesz datę z przeszłości. Aby wyeliminować ten błąd, podaj datę z przyszłości lub pozostaw to pole puste. Więcej - w naszym poradniku.
Otrzymałeś taki komunikat, ponieważ przekroczyłeś dostępny limit szkiców ofert (draftów), dotyczy to ofert z statusem INACTIVE - obecny limit to 20 000. Aby rozwiązać ten problem:
- sprawdź aktualną liczbę draftów za pomocą GET /sale/offers?publication.status=INACTIVE,
- usuń niepotrzebne za pomocą DELETE /sale/offers/{offerId}. Więcej - w naszym poradniku.
Posługujesz się tokenem uzyskanym w wyniku autoryzacji client_credentials, który nie posiada kontekstu użytkownika. Aby utworzyć draft oferty, musisz posiadać token wygenerowany przez code lub device flow.
Tak, wszystkie zasoby do edycji wielu ofert jednocześnie działają asynchronicznie, dlatego aby sprawdzić szczegóły status operacji, użyj GET /sale/offer-price-change-commands/{commandId}/tasks.
Tak, dzieje się tak ponieważ ten zasób działa asynchronicznie. Aby sprawdzić szczegółowy status realizacji zadania, użyj GET /sale/offer-publication-commands/{commandId}/tasks.
Nie, w takim przypadku skorzystaj z PATCH /sale/product-offers i w strukturze requestu przekaż tylko to pole, które chcesz zmodyfikować. Więcej na temat tego procesu znajdziesz w naszym poradniku.
Tak, może wystąpić taki przypadek, gdyż:
- np. przy niektórych laptopach może być jeden numer EAN, a laptopy będą się różniły specyfikacją techniczną np. wielkością dysku,
- np. w modzie może być jeden EAN na wiele rodzajów kolorystycznych danej odzieży.
Dlatego identyfikujemy produkty nie tylko po EAN-ie, ale też po jego parametrach. Więcej - w naszym poradniku.
Produkty tymczasowe tworzymy automatycznie w wybranych kategoriach wyłącznie na podstawie ofert, w których sprzedawca dla parametru “Stan” wybrał wartość inną niż “Nowy” oraz nie przekazał wszystkich parametrów, które identyfikują produkt (lub dla przynajmniej jednego z nich wskazał wartość niejednoznaczną), czyli np. numeru katalogowego części.
Więcej szczegółów znajdziesz w naszym newsie.
Drafty produktów to produkty, które tworzymy po tym, gdy użytkownik strony WWW Allegro przekaże nam sugestię zmiany parametrów, które identyfikują produkt. Draft produktu może od razu zostać wykorzystany przez sprzedającego, aby połączyć z nim ofertę - dzięki temu nie musi czekać na weryfikację poprawności danych, aby móc wystawić ofertę. Aktualnie drafty utworzymy wyłącznie na podstawie zgłoszeń z naszej strony internetowej.
Więcej szczegółów znajdziesz w naszym newsie.
Dzięki temu, że ceny wysyłki są niezależne od oferty i dzięki osobnemu zasobowi do cenników dostawy, będziesz mógł szybciej przeprowadzić hurtową edycję cen dostawy. Wystarczy, że wprowadzisz zmianę w cenniku dostawy, a koszt przesyłki zmieni się we wszystkich ofertach, do których przypiąłeś dany cennik. Takie rozwiązanie pozwoli dynamicznie reagować na zmiany cen u przewoźników.
Otrzymałeś taki komunikat, ponieważ przekroczyłeś dostępny limit szkiców ofert (draftów), dotyczy to ofert ze statusem “INACTIVE” - obecny limit to 20 000. Aby rozwiązać ten problem:
- sprawdź aktualną liczbę draftów za pomocą GET /sale/offers?publication.status=INACTIVE
- usuń niepotrzebne za pomocą DELETE /sale/offers/{offerId}}.
Posługujesz się tokenem uzyskanym w wyniku autoryzacji client_credentials, który nie posiada kontekstu użytkownika. Aby utworzyć draft oferty, musisz posiadać token wygenerowany przez code lub device flow.
Tak, dzieje się tak ponieważ ten zasób działa asynchronicznie. Aby sprawdzić szczegółowy status realizacji zadania, użyj GET /sale/offer-publication-commands/{commandId}/tasks.
Upewnij się, że podałeś odpowiednie i poprawne dane wejściowe w wywołaniu GET /sale/products.
Katalog produktów cały czas rozbudowujemy - powtórz wyszukiwanie za jakiś czas i sprawdź, czy produkt jest już dostępny.
Dodaj produkt przez POST /sale/product-proposals lub przy tworzeniu oferty za pomocą POST /sale/product-offers.
Zmiany w danych produktu możesz zgłosić przez formularz kontaktowy, lub za pomocą POST /sale/products/{productId}/change-proposals. Takie zgłoszenia są przez nas weryfikowane i - jeśli uznamy je za zasadne - odpowiednie zmiany wprowadzamy w danych produktu.
Możesz nadpisać tylko te parametry, które nie identyfikują produktu, czyli te, dla których zwracamy wartość false w polu "options.identifiesProduct" w odpowiedzi dla GET /sale/products/{productId}. Parametry, które identyfikują produkt muszą być zgodne z tymi zapisanymi w naszym Katalogu. Jeżeli uważasz, że dane produktu zapisane w naszym Katalogu Produktów nie są zgodne z rzeczywistością - możesz zaproponować zmianę w produkcie za pomocą GET /sale/products/{productId}/change-proposals.
Tak, jest to możliwe. Działa to tak samo, jak w przypadku /sale/offers:
- utwórz najpierw draft ogłoszenia (oferta w statusie "INACTIVE"), zrobimy to od razu, jeżeli przekażesz w "sellingMode.format" wartość "ADVERTISEMENT", uzupełnij także wszystkie niezbędne parametry
- przypisz pakiet ogłoszeniowy za pomocą PUT /sale/offer-classifieds-packages/{offer-id}
- aktywuj ofertę, zmieniając jej status na "ACTIVE".
Nie, dokładną informację, w jakiej walucie musisz określić cenę w danym serwisie, zwracamy w odpowiedzi GET /marketplaces, w polu “marketplaces[].currencies.base”.
Jeśli oferta nie zakwalifikuje się do wyświetlenia w serwisie dodatkowym zwrócimy jeden lub więcej z poniższych wpisów:
- VQR001_CURRENCY_NOT_AVAILABLE - brak ceny w walucie serwisu dodatkowego,
- VQR002_LANGUAGE_NOT_AVAILABLE - brak tłumaczenia opisu oferty,
- VQR003_DELIVERY_TO_OPERATIONAL_COUNTRY_NOT_AVAILABLE - brak metody dostawy związanej z serwisem dodatkowym,
- VQR006_TRANSLATION_PENDING - tłumaczenie w trakcie,
- VQR007_CATEGORY_NOT_VISIBLE_IN_NAVIGATION_TREE - oferta wystawiona w niedostępnej kategorii w serwisie dodatkowym,
- VQR008_OFFER_HAS_NO_PRODUCT - brak połączenia z Katalogiem Produktów,
- VQR009_PRICE_IN_ADDITIONAL_MARKETPLACE_MISMATCH - zbyt duża różnica w cenie między serwisem bazowym a serwisem dodatkowym.
Jednym z warunków, aby oferta była widoczna w serwisie dodatkowym, jest to, aby była połączona z produktem - wtedy, po spełnieniu pozostałych wymagań, będzie widoczna w serwisie dodatkowym.
W tym przypadku rozłącz jedną z ofert wielowariantowych za pomocą DELETE /sale/offer-variants/{setId}. Następnie użyj PUT sale/offer-variants/{setId} i dodaj do oferty wielowariantowej oferty, które przed chwilą rozłączyłeś.
Tak, pod warunkiem, że przed wysłaniem żądania zdążyliśmy przetworzyć informacje o nowych ofertach, decydujące o tym, że mogą zostać połączone według wskazanych parametrów. W przeciwnym wypadku otrzymasz błąd wraz z informacją, że trwa jeszcze przetwarzanie ofert, z których chciałeś utworzyć ofertę wielowariantową.
Tak, możesz pobrać identyfikator takiej oferty. Skorzystaj w tym celu z parametru query dla zasobu GET /sale/offer-variants?query={query}. Jako wartość przekaż nazwę oferty wielowariantowej lub identyfikator jednej z ofert, która wchodzi w jej skład.
Nie zwracamy ofert zakończonych dla ofert wielowariantowych w kategoriach zarządzanych automatycznie - ich pełną listę można znaleźć w regulaminie. W pozostałych kategoriach oferty wielowariantowe są zarządzane ręcznie i dla nich zwracamy oferty zakończone.
Oferty przypisane do kampanii promocyjnej lub programu Allegro Ceny znajdziesz w poradniku kampanii.
Upewnij się, że usługa dostawy, którą wybrałeś jest prawidłowa dla metody dostawy, którą wybrał kupujący. Szczegółowy podział usług na metody dostawy znajdziesz na naszej stronie. Miej także na uwadze, że ID usługi dostawy posiada różną wartość w zależności od konta.
Każdy operator logistyczny, który zapewnia usługi dostawy w ramach Wysyłam z Allegro posiada własne limity znaków, dlatego też nie możemy ich zamieścić w dokumentacji. Przygotowaliśmy tabelę, gdzie znajdziesz dokładną specyfikację pól.
Pierwotny numer trackingowy zwracamy w polu "additionalProperties" w zasobie GET /shipment-management/shipments/{shipmentId}.
Sprawdź poprawność kodu pocztowego na stronie Poczty Polskiej.
W ramach Allegro One usługi kurierskie świadczy DPD i UPS. Musisz sprawdzić, czy dany punkt obsługuje wybranego kuriera. Skorzystaj z GET /order/carriers/ALLEGRO/points - w polu "carriers" znajdziesz listę obsługiwanych przewoźników.
Dla wybranej metody dostawy środki w ramach pobrania (COD) otrzymasz na swoje subkonto w Allegro - Środki i historia operacji. Skorzystaj z GET /shipment-management/delivery-services by sprawdzić, czy dana metoda dostawy wymaga IBAN - pole "cashOnDelivery.forceRequireIban".
Skorzystaj z GET /shipment-management/delivery-services i sprawdź, w jakiej walucie należy przekazać wartość ubezpieczenia - pole "insurance.currency".
Sprawdź na stronie, czy kod pocztowy nadawcy obsługiwany jest w ramach sieci nadawczej Allegro One Kurier.
Wejdź w zakładkę Rozliczenia z Allegro i kliknij przycisk “Zapłać”, który znajduje się w sekcji “Bieżące Saldo”. Opłać rachunek za pomocą symulatora płatności - konto po kilku minutach zostanie odblokowane.
Raz na kwartał, w związku z przeprowadzaną przez nas synchronizacją środowiska testowego z produkcyjnym, usuwamy wszystkie oferty z Sandboxa. Odpowiednio wcześniej informujemy o tym w newsach na naszej stronie.