Przejdź do treści

Błędy i jak je naprawić

Wszystkie błędy poza OAuth mają kształt Allegro — {"errors":[{"code","message","details","path","userMessage"}]}. Opieraj logikę na code; userMessage możesz pokazać sprzedawcy. Walidacja oferty zwraca wszystkie problemy naraz. Błędy OAuth (401 tokenu, /auth/oauth/*) mają format {"error","error_description"}.

{
  "errors": [
    {
      "code": "ConstraintViolationException.MissingRequiredParameters",
      "message": "Brak wymaganego parametru 225693 (EAN (GTIN)).",
      "details": "225693",
      "path": "productSet[0].product.parameters",
      "userMessage": "Brak wymaganego parametru 225693 (EAN (GTIN))."
    }
  ]
}

Co robić przy kodach HTTP

HTTPPostępowanie
400Zły parametr zapytania — popraw według message i path; nie ponawiaj bez zmian.
401Brak, zły, wygasły albo odwołany token lub klucz. Odśwież token raz i ponów; klucz — sprawdź w panelu, czy jest aktywny i czy Twój adres IP jest na liście.
403Brak uprawnień albo blokada (zakres, konto, kwarantanna, obsługa zamówień) — ponawianie nic nie da; zobacz kod.
404Nie ma takiego zasobu (albo należy do innego sprzedawcy) — sprawdź identyfikator.
405Metoda nieobsługiwana — nagłówek Allow podaje dozwolone.
406Zły nagłówek Accept — użyj application/vnd.allegro.public.v1+json.
409Konflikt ze stanem zasobu — pobierz zasób ponownie (przy zmianie statusu realizacji: INVALID_STATUS_TRANSITION = zamówienie jest już na tym etapie albo dalej, ale CANCELLED po SENT to nie sukces; REVISION_MISMATCH = pobierz zamówienie ponownie).
410Zasób usunięty (np. dokument raportu po 7 dniach) — utwórz go ponownie.
413Treść za duża — podziel dane.
415Zły Content-Type treści.
422Niepoprawne dane — popraw wszystkie pozycje z errors[] naraz.
429Limit — odczekaj Retry-After i ponów.
500Błąd serwera — ponów z wykładniczym odstępem (1 s, 2 s, 4 s…); przy POST użyj Idempotency-Key. Zgłaszając, podaj X-Request-Id.
503Funkcja chwilowo niedostępna — ponów później albo użyj zamiennika z message.

Wszystkie kody

KodHTTPZnaczenieCo zrobić
invalid_token401Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).Odśwież token raz i ponów; przy kluczu sprawdź, czy nie został odwołany lub nie wygasł.
AccessDenied403Brak zakresu albo zasób innego sprzedawcy.Połącz aplikację ponownie z potrzebnym zakresem (albo utwórz klucz z tym uprawnieniem).
ACCOUNT_INACTIVE403Konto sprzedawcy jest nieaktywne.Sprzedawca musi wyjaśnić sprawę z allee.pl; GET /me/token działa nadal.
USER_TOKEN_REQUIRED403Token aplikacji (client_credentials) na trasie z danymi sprzedawcy.Użyj tokenu sprzedawcy (authorization_code) albo klucza osobistego.
KEY_SUSPENDED403Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).Sprzedawca wznawia go w panelu: Klucze API.
KEY_QUARANTINED403Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie).Sprzedawca zdejmuje kwarantannę w panelu (Klucze API → Bezpieczeństwo); sprawdź, skąd próby odczytu cudzych danych.
ORDERS_OWNED_BY_OTHER_INTEGRATION403Zamówienia sprzedawcy obsługuje inna integracja (details.owner).Sprzedawca wskazuje Twoją aplikację w panelu: Integracje → obsługa zamówień.
SANDBOX_ONLY403Symulator sandboxu wywołany kluczem produkcyjnym.Użyj klucza testowego allee_sk_test_…
SANDBOX_UNSUPPORTED403Operacja niedostępna w sandboxie (pliki trafiałyby do magazynu produkcyjnego).W sandboxie podawaj zdjęcia jako URL, a wsady w treści żądania.
NOT_FOUND404Nie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).Sprawdź identyfikator.
METHOD_NOT_ALLOWED405Metoda nieobsługiwana dla tego zasobu (nagłówek Allow podaje dozwolone).Użyj metody z nagłówka Allow.
NOT_ACCEPTABLE406Nagłówek Accept spoza obsługiwanych typów.Accept: application/vnd.allegro.public.v1+json (albo application/json).
PAYLOAD_TOO_LARGE413Treść żądania za duża (JSON 5 MB, faktura PDF 3 MB).Podziel dane albo użyj wsadu z dokumentem.
UNSUPPORTED_MEDIA_TYPE415Zły Content-Type treści.Content-Type: application/vnd.allegro.public.v1+json (faktury: application/pdf).
JsonMappingException422Treść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).Popraw strukturę według schematu operacji.
UnknownJSONProperty422Pole nieznane w tym miejscu (path wskazuje które).Usuń pole albo przenieś je we właściwe miejsce.
VALIDATION_ERROR400/422Zła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.Popraw wartość według opisu w message.
TOO_MANY_REQUESTS429Przekroczony limit (minutowy, grupy operacji albo IP).Odczekaj Retry-After (details.retryAfterMs) i ponów; rozłóż ruch w czasie.
TOO_MANY_CONCURRENT429Za dużo ciężkich operacji naraz (wsady, raporty, duże polecenia).Poczekaj na koniec trwających (powiadomienia FEED_/REPORT_PROCESSING_FINISHED).
IDEMPOTENCY_KEY_INVALID400Idempotency-Key: 1–100 znaków ASCII bez spacji.Użyj np. UUID.
IDEMPOTENCY_KEY_IN_USE409Żądanie z tym kluczem jeszcze trwa.Ponów po Retry-After — dostaniesz zapisany wynik.
IDEMPOTENCY_KEY_REUSED422Ten Idempotency-Key użyto z inną treścią albo ścieżką (24 h).Każda nowa operacja = nowy klucz.
INTERNAL_ERROR500Błąd serwera allee.Ponów z wykładniczym odstępem; zgłoś z X-Request-Id.
SELLER_TYPE_CHANGE_NOT_ALLOWED409Konta firmowego nie można samodzielnie zmienić na prywatne (NIP jest na fakturach i w zamówieniach).Zmianę zgłasza sprzedawca do pomocy allee.
MISSING_REQUIRED422Brak pola wymaganego w tej sytuacji (np. companyName i taxId przy zmianie konta prywatnego na firmowe).Dodaj pola wskazane w path i wyślij ponownie.
DECLARATION_VERSION_OUTDATED409Treść oświadczenia zmieniła się — wersja z żądania nie jest aktualna.Pobierz GET /allee/declarations, pokaż sprzedawcy aktualną treść i wyślij details.currentVersion.
SELLER_COMPLIANCE_INCOMPLETE403Publikacja wstrzymana: profil sprzedawcy ma braki wymagane prawem (od 24.11.2026).Sprawdź GET /allee/sellers/compliance (missing[] z severity ERROR) i uzupełnij.
OFFER_COMPLIANCE_BLOCKED422Oferta nie spełnia wymagań prawnych kategorii z blokadą (np. brak producenta GPSR, klasy energetycznej).Szczegóły w details[] (code, path, rule) albo GET /sale/offers/{id}/compliance.
PRODUCT_RECALLED422Produkt o tym EAN jest objęty wycofaniem z rynku — nie można go wystawić.Sprawdź komunikat wycofania (details.recall); oferta z tym produktem nie zostanie opublikowana.
CONFLICT409Operacja niemożliwa w obecnym stanie (np. zgłoszenie już rozpatrzone, odwołanie już złożone).Sprawdź stan zasobu (GET) i wybierz właściwą operację.
NOT_DEPLOYED503Funkcja jeszcze nie uruchomiona (np. sandbox, wsady).Użyj zamiennika z message albo spróbuj później.
SERVICE_UNAVAILABLE503Moduł chwilowo niedostępny.Spróbuj później.
STORAGE_UNAVAILABLE503Magazyn plików chwilowo niedostępny.Ponów za chwilę albo podaj dane inaczej (URL zdjęcia, wsad inline).
QUEUE_UNAVAILABLE503Kolejka wsadów chwilowo nie działa.Wyślij do 500 komunikatów inline albo spróbuj później.
CATEGORY_NOT_FOUND404/422Nie ma takiej kategorii.Weź id z GET /sale/categories albo /allee/categories.
CATEGORY_NOT_LEAF422Kategoria nie jest liściem.Wybierz kategorię z leaf: true.
ParameterCategoryException422Parametr nie należy do kategorii.Weź parametry z GET …/parameters tej kategorii.
DictionaryParameterValueNotFound422Wartość spoza słownika kategorii (albo Stan nieobsługiwany przez allee).Użyj wartości ze słownika; Stan: Nowy, Używany, Odnowiony przez sprzedawcę, Uszkodzony.
ConstraintViolationException.MissingRequiredParameters422Brak wymaganego parametru lub pola (details = id parametru).Uzupełnij według GET …/parameters.
ConstraintViolationException.TooManyValues422Kilka wartości przy multipleChoices: false.Podaj jedną wartość.
ConstraintViolationException.RangeValueNotSupported422rangeValue nieobsługiwane.Podaj pojedynczą wartość.
CATALOG_PRODUCT_NOT_SUPPORTED422Sama karta produktu Allegro bez danych.Wyślij pełne dane produktu.
IMAGE_DOWNLOAD_FAILED422Adres zdjęcia niedozwolony albo nie da się go pobrać (path = które zdjęcie).Publiczny https, port 443/80, plik JPEG/PNG/WEBP/GIF.
IMAGE_TOO_SMALL—Zdjęcie za małe (dłuższy bok < 300 px albo krótszy < 150 px) — w validation.errors.Wyślij większe zdjęcie.
RESPONSIBLE_PRODUCER_NOT_SPECIFIED422Publikacja bez producenta GPSR.Dodaj productSet[0].responsibleProducer albo wystaw szkic.
SAFETY_INFO_NOT_DEFINED422Publikacja bez informacji o bezpieczeństwie (GPSR).Dodaj productSet[0].safetyInformation.
OfferDuplicate409Oferta z tym external.id (SKU) już istnieje — details = jej id.Traktuj jako „już istnieje” i pracuj na details.
OFFER_NOT_DRAFT409Usuwać można tylko szkic nigdy nieopublikowany.Zakończ ofertę poleceniem END.
VARIANT_SET_NAME_INVALID422Nazwa zestawu pusta albo dłuższa niż 50 znaków.Podaj name 1–50 znaków.
VARIANT_SET_PARAMETERS_INVALID422Parametry wyboru: 1 lub 2 różne.Np. [{"id": "54"}] (Rozmiar) albo [{"id": "color/pattern"}, {"id": "54"}].
VARIANT_SET_TOO_FEW_OFFERS422Zestaw ma mniej niż 2 oferty.Podaj co najmniej 2 oferty.
VARIANT_SET_TOO_MANY_OFFERS422Zestaw ma więcej niż 500 ofert.Podziel na kilka zestawów.
VARIANT_SET_DUPLICATED_OFFER422Ta sama oferta podana dwa razy.Usuń powtórzenie.
VARIANT_SET_PARAMETER_NOT_IN_CATEGORY422Parametru nie ma w kategorii ofert (albo nie istnieje).Weź parametr z GET /sale/categories/{id}/parameters kategorii ofert.
VARIANT_SET_OFFER_NOT_FOUND422Oferty nie ma na koncie sprzedawcy (cudza oferta = ta sama odpowiedź).Sprawdź id oferty.
VARIANT_SET_OFFER_NOT_BUY_NOW422Licytacji nie łączymy w warianty.Łącz tylko oferty Kup Teraz.
VARIANT_SET_DIFFERENT_CATEGORIES422Oferty z różnych kategorii.Wszystkie oferty zestawu muszą być w tej samej kategorii-liściu.
VARIANT_SET_OFFER_IN_OTHER_SET422Oferta jest już w innym zestawie.Usuń ją z tamtego zestawu (PUT bez niej albo DELETE).
VARIANT_SET_OFFER_MISSING_PARAMETER422Oferta nie ma wartości parametru wyboru.Uzupełnij parametr w ofercie (PATCH /sale/product-offers/{id}).
VARIANT_SET_OFFER_AMBIGUOUS_PARAMETER422Oferta ma kilka wartości parametru wyboru.Wariant to jedna wartość (np. jeden rozmiar) — rozdziel ofertę.
VARIANT_SET_COLOR_PATTERN_REQUIRED422Brak colorPattern przy ofercie (parametr color/pattern).Podaj offers[i].colorPattern.
VARIANT_SET_COLOR_PATTERN_TOO_LONG422colorPattern dłuższy niż 64 znaki.Skróć opis koloru/wzoru.
VARIANT_SET_DUPLICATED_VARIANT422Dwie oferty mają tę samą kombinację wartości (details.sameAs).Każdy wariant musi się czymś różnić.
VARIANT_SET_CONFLICT409Równoległa zmiana zestawów (ta sama oferta dodawana naraz do dwóch zestawów).Ponów żądanie.
OFFER_ENDED_BY_ADMIN403Ofertę zakończyła moderacja allee — nie można jej zmienić ani wznowić.Skontaktuj się z allee.pl.
INVALID_QUANTITY422Liczba sztuk poza zakresem.0–99 999 (przy wystawieniu co najmniej 1).
EMPTY_STOCK422Oferta bez sztuk nie może być aktywna.Ustaw stock.available > 0.
EMPTY_TYPE422Cennik bez type.type: PHYSICAL.
DELIVERY_METHOD_NOT_FOUND422Metoda dostawy spoza słownika allee (path = pozycja).Weź id z GET /sale/delivery-methods albo podaj deliveryMethod.name.
NAME_HAS_TO_BE_UNIQUE422Nazwa zajęta (details = id istniejącego wpisu).Użyj istniejącego wpisu albo innej nazwy.
PRODUCER_NAME_HAS_TO_BE_UNIQUE422Wpis GPSR o tej nazwie już jest (details = jego id).Użyj details.
LIMIT_EXCEEDED422Limit wpisów osiągnięty (np. 50 warunków danego rodzaju).Usuń nieużywane.
IN_USE409Wpis jest wskazany w ofercie.Najpierw odepnij go od ofert.
COMMAND_ID_CONFLICT409Ten commandId użyto w poleceniu innego rodzaju albo u innego sprzedawcy.Nowe polecenie = nowy UUID.
INVALID_STATUS_TRANSITION409Przejście statusu niedozwolone (details.current = bieżący).Statusy idą tylko do przodu. Gdy chciałeś ustawić etap, na którym zamówienie już jest albo który minęło (np. PROCESSING po SENT), cel jest osiągnięty. Przy CANCELLED po SENT to NIE jest sukces — zamówienia nie da się już anulować.
FEED_NOT_CANCELLABLE409Wsad nie jest już w kolejce.Sprawdź jego wynik.
FEED_NOT_FINISHED409Wsad jeszcze trwa.Poczekaj na DONE (albo FEED_PROCESSING_FINISHED).
FEED_DOCUMENT_NOT_FOUND422Nie ma takiego dokumentu wsadu.Utwórz go przez POST /allee/feeds/documents.
INVALID_FEED_DOCUMENT422Dokument wsadu ma zły kształt.{"header":{…},"messages":[…]} — do 10 000 komunikatów.
REPORT_NOT_CANCELLABLE409Raport nie jest już w kolejce.—
REPORT_NOT_READY409Raport jeszcze nie gotowy.Poczekaj na DONE.
DOCUMENT_EXPIRED410Dokument raportu usunięty po 7 dniach.Zamów raport ponownie.
INVALID_STATUS422Status spoza listy.Zobacz FulfillmentStatus.
REVISION_MISMATCH409Zamówienie zmieniło się od pobrania.Pobierz zamówienie ponownie.
SHIPMENT_REQUIRED422SENT bez przesyłki.Najpierw POST …/shipments.
FORBIDDEN_SOURCE403Ten status ustawia tylko allee (SUSPENDED, RETURNED).—
ORDER_NOT_READY409Zamówienie jeszcze nie gotowe do realizacji.Poczekaj na READY_FOR_PROCESSING.
ORDER_CLOSED409Zamówienie anulowane albo zakończone.—
CARRIER_NOT_FOUND404/422Nieznany przewoźnik.Kody z GET /order/carriers.
CARRIER_NAME_REQUIRED422ALLEGRO/OTHER bez carrierName.Podaj carrierName.
INVALID_WAYBILL422Zły numer przesyłki.Litery, cyfry, . _ - /; 1–64 znaki.
LINE_ITEM_NOT_FOUND422Pozycja spoza zamówienia.Weź lineItems[].id z zamówienia.
TOO_MANY_INVOICES422Najwyżej 10 faktur na zamówienie.—
INVOICE_FILE_ALREADY_UPLOADED409Plik tej faktury już wgrany.Dodaj nową fakturę (np. korektę).
INVALID_URL422Zły adres faktury-linku.Adres https.
BUSY429Ta sama operacja trwa równolegle.Ponów po Retry-After.
ATTACHMENTS_NOT_SUPPORTED422allee nie przyjmuje załączników w wiadomościach.Wyślij sam tekst.
TEXT_EMPTY422Pusta treść.—
TEXT_TOO_LONG422Treść za długa.Skróć.
TEXT_INVALID422Treść niedozwolona przez filtr.Przeredaguj.
PROFANITY422Wulgaryzmy.Przeredaguj.
CARD_DATA422Treść wygląda na dane karty płatniczej.Nie przesyłaj danych kart.
SENSITIVE_REQUEST422Prośba o dane wrażliwe (hasła, dane logowania).Przeredaguj.
MESSAGE_LIMIT42920 wiadomości na godzinę (wspólnie z panelem).Odczekaj Retry-After.
THREAD_LIMIT4295 nowych rozmów na dobę.Odczekaj.
ORDER_REQUIRED422Nową rozmowę sprzedawca zaczyna tylko w sprawie zamówienia.Podaj order.id.
RECIPIENT_MISMATCH422recipient.login nie jest kupującym zamówienia.—
CHANNEL_MESSAGING422Zamówienie z innego kanału sprzedaży.Napisz w panelu tego kanału.
NO_THREAD409Sprawa nie ma rozmowy.—
ISSUE_ALREADY_CLOSED409Sprawa już zamknięta.—
DEADLINE_PASSED409Po terminie ustawowym reklamację można tylko uznać.—
INVALID_STATUS_FOR_TYPE422Status nie pasuje do rodzaju sprawy.Reklamacja: ACCEPTED/REJECTED; dyskusja: RESOLVED.
CUSTOMER_RETURN_ALREADY_REJECTED409Zwrot już odrzucony.—
CUSTOMER_RETURN_ALREADY_FINISHED409Zwrot już zakończony.—
ORDER_NOT_SENT422Sandbox: zwrot zamówienia, które nie było wysłane.Najpierw przesyłka i SENT.
DESTINATION_URL_INVALID422Adres destynacji niedozwolony (https, port 443, publiczny IP).—
DESTINATION_VERIFICATION_FAILED422Serwer nie odesłał challenge w 5 s.Odpowiedz 2xx z {"challenge": "…"}.
DESTINATION_REDIRECT422Adres przekierowuje.Podaj adres docelowy.
DESTINATION_LIMIT409Limit destynacji osiągnięty.Usuń nieużywaną.
DESTINATION_DISABLED409Destynacja wyłączona.POST …/enable.
DESTINATION_NOT_FOUND422Nie ma takiej destynacji tej aplikacji.—
SUBSCRIPTION_EXISTS409Subskrypcja tego typu już jest.Usuń ją albo użyj istniejącej.
INVALID_SIGNATURE401Zły podpis zgłoszenia GitHuba.—
invalid_client401/token: zły client_id lub sekret, aplikacja nieaktywna.Sprawdź dane aplikacji.
invalid_grant400Kod lub refresh token zły, zużyty, wygasły albo zgoda cofnięta.Odświeżaj pojedynczo; przy cofniętej zgodzie połącz sprzedawcę ponownie.
invalid_request400Brak wymaganego pola żądania OAuth.—
unsupported_grant_type400Nieobsługiwany grant_type.authorization_code, refresh_token, client_credentials.
slow_down429Zbyt wiele nieudanych uwierzytelnień klienta.Odczekaj Retry-After.