Przejdź do treści

Lista zamówień

GET /order/checkout-forms

zgodna z Allegroallegro:api:orders:readlimit: read

Zamówienia złożone na allee.pl, od statusu READY_FOR_PROCESSING (wcześniej zamówienie dla sprzedawcy nie istnieje), najnowsze pierwsze.

Zamówieniami allee.pl sprzedawcy obsługuje jedna integracja naraz (wybór w panelu sprzedaży → Integracje); inna aplikacja dostaje 403 ORDERS_OWNED_BY_OTHER_INTEGRATION (details.owner: PANEL, OTHER_APP, BASELINKER).

Dane osobowe kupującego (e-mail, telefon, adres) dostają: aplikacje sprzed kluczy (np. SelleeTools) oraz klucze i aplikacje z zakresem allee:api:orders:pii. Pozostali dostają te pola jako null (kształt odpowiedzi bez zmian).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /order/checkout-forms.
Uprawnienie: zakres allegro:api:orders:read.
Grupa limitu: read.

Parametry zapytania

offset integer

Ile pozycji pominąć.

limit integer

Ile pozycji zwrócić (1–100, domyślnie 100).

status string

Status zakupu (inny niż READY_FOR_PROCESSING → pusta lista).

Wartości: BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLED
fulfillment.status FulfillmentStatus

Status realizacji.

updatedAt.gte string · date-time

Zmienione od (ISO 8601 ze strefą).

updatedAt.lte string · date-time

Zmienione do.

lineItems.boughtAt.gte string · date-time

Kupione od.

lineItems.boughtAt.lte string · date-time

Kupione do.

Odpowiedzi

200 Zamówienia. · CheckoutFormList
checkoutForms array<CheckoutForm> zawsze
Pola obiektu
id string · uuid zawsze

Identyfikator zamówienia (checkoutForm.id).

status string zawsze

Status zakupu. API pokazuje zamówienia od READY_FOR_PROCESSING.

Wartości: BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLED
updatedAt string · date-time zawsze
revision string zawsze

Rewizja (tekst) — rośnie przy każdej zmianie statusu; podaj w PUT …/fulfillment?checkoutForm.revision.

marketplace object zawsze
Pola obiektu
id string zawsze
Wartości: allee-pl
messageToSeller string · null zawsze

Wiadomość kupującego do sprzedawcy.

buyer object zawsze
Pola obiektu
id string zawsze
email string · null zawsze

E-mail kupującego (null bez zakresu allee:api:orders:pii dla nowych aplikacji).

login string zawsze
firstName string · null zawsze

Zawsze null — imię i nazwisko odbiorcy są w delivery.address.

lastName string · null zawsze
companyName string · null zawsze
phoneNumber string · null zawsze
guest boolean zawsze
payment object zawsze
Pola obiektu
id string · null zawsze
type string zawsze
Wartości: ONLINE, CASH_ON_DELIVERY
provider string · null zawsze
finishedAt string · date-time · null zawsze
paidAmount Money · null zawsze

Zapłacono (płatność online); null przy pobraniu.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
fulfillment object zawsze
Pola obiektu
status FulfillmentStatus zawsze

Status realizacji (tylko do przodu).

Wartości: NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNED
shipmentSummary object zawsze
Pola obiektu
lineItemsSent string zawsze
Wartości: NONE, SOME, ALL
delivery object zawsze
Pola obiektu
method object zawsze
Pola obiektu
id string · null zawsze
name string zawsze
address object · null zawsze

Adres dostawy (dane osobowe — patrz zakres orders:pii).

Pola obiektu
firstName string · null zawsze
lastName string · null zawsze
street string · null zawsze
city string · null zawsze
zipCode string · null zawsze
countryCode string · null zawsze
companyName string · null zawsze
phoneNumber string · null zawsze
pickupPoint object · null zawsze

Punkt odbioru (dziś zawsze null).

cost Money zawsze

Koszt dostawy zapłacony przez kupującego.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
time object · null zawsze
smart boolean zawsze
calculatedNumberOfPackages integer zawsze
invoice object zawsze
Pola obiektu
required boolean zawsze

Czy kupujący chce faktury (podał NIP).

address object · null zawsze

Dane do faktury (od 10.11 z adresem siedziby).

Pola obiektu
street string · null

Ulica i numer (zerowane bez dostępu do danych kupujących).

city string · null
zipCode string · null
countryCode string · null
company object zawsze
Pola obiektu
name string · null zawsze
taxId string · null zawsze
lineItems array<CheckoutFormLineItem> zawsze
Pola obiektu
id string · uuid zawsze
offer object zawsze
Pola obiektu
id string zawsze
name string zawsze
external object · null zawsze
Pola obiektu
id string zawsze
quantity integer zawsze
originalPrice Money zawsze

Cena sprzed obniżki (Omnibus) albo równa price.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
price Money zawsze

Cena jednostkowa zapłacona.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
tax object · null zawsze

Stawka VAT z oferty.

Pola obiektu
rate string · null zawsze
boughtAt string · date-time zawsze
summary object zawsze
Pola obiektu
totalToPay Money zawsze

Do zapłaty: produkty + dostawa.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
allee object zawsze

Rozszerzenia allee (10.11.2026).

Pola obiektu
test boolean zawsze

Płatność testowa (payment.provider TEST_BLIK) — nie księgować.

commission object zawsze
Pola obiektu
amount string zawsze

Prowizja allee za zamówienie (dziś 0.00 — allee nie pobiera prowizji).

currency string zawsze
rate string zawsze

Stawka w procentach, np. „0.00”.

base string zawsze

Podstawa: cena × sztuki pozycji, bez kosztu dostawy.

Wartości: PRODUCTS
final boolean zawsze

true = kwota już się nie zmieni.

priceListVersion string zawsze

Wersja cennika allee użyta do wyliczenia.

count integer zawsze
totalCount integer zawsze

Błędy

HTTPKodZnaczenie
400VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
403ORDERS_OWNED_BY_OTHER_INTEGRATIONZamówienia sprzedawcy obsługuje inna integracja (details.owner).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "checkoutForms": [
    {
      "id": "718ce396-4940-431f-815e-7a51875c71df",
      "status": "READY_FOR_PROCESSING",
      "updatedAt": "2026-11-10T11:10:05.419Z",
      "revision": "3",
      "marketplace": {
        "id": "allee-pl"
      },
      "messageToSeller": null,
      "buyer": {
        "id": "4000000001",
        "email": "[email protected]",
        "login": "kupujacy_demo_4816f227",
        "firstName": null,
        "lastName": null,
        "companyName": null,
        "phoneNumber": "+48 500 000 000",
        "guest": false
      },
      "payment": {
        "id": null,
        "type": "CASH_ON_DELIVERY",
        "provider": null,
        "finishedAt": null,
        "paidAmount": null
      },
      "fulfillment": {
        "status": "NEW",
        "shipmentSummary": {
          "lineItemsSent": "NONE"
        }
      },
      "delivery": {
        "method": {
          "id": "b79ba3f7-7782-4521-b863-eae15c6f58a4",
          "name": "DHL POP (punkt odbioru)"
        },
        "address": {
          "firstName": "Jan",
          "lastName": "Przykładowy",
          "street": "ul. Przykładowa 1",
          "city": "Warszawa",
          "zipCode": "00-001",
          "countryCode": "PL",
          "companyName": null,
          "phoneNumber": "+48 500 000 000"
        },
        "pickupPoint": null,
        "cost": {
          "amount": "12.99",
          "currency": "PLN"
        },
        "time": null,
        "smart": false,
        "calculatedNumberOfPackages": 1
      },
      "invoice": {
        "required": false,
        "address": null
      },
      "lineItems": [
        {
          "id": "3ce60978-f8b3-45de-9a31-6bf12fdc1417",
          "offer": {
            "id": "900000000000001",
            "name": "Produkt demo 01 – Projekty wnętrz",
            "external": {
              "id": "DEMO-01"
            }
          },
          "quantity": 1,
          "originalPrice": {
            "amount": "19.99",
            "currency": "PLN"
          },
          "price": {
            "amount": "19.99",
            "currency": "PLN"
          },
          "tax": {
            "rate": "23.00"
          },
          "boughtAt": "2026-11-10T11:10:05.418Z"
        }
      ],
      "summary": {
        "totalToPay": {
          "amount": "32.98",
          "currency": "PLN"
        }
      },
      "allee": {
        "test": false,
        "commission": {
          "amount": "0.00",
          "currency": "PLN",
          "rate": "0.00",
          "base": "PRODUCTS",
          "final": true,
          "priceListVersion": "2026-11-09"
        }
      }
    },
    {
      "id": "432810d0-4d26-4f39-ba5f-b89def4d4f92",
      "status": "READY_FOR_PROCESSING",
      "updatedAt": "2026-11-10T11:10:05.412Z",
      "revision": "3",
      "marketplace": {
        "id": "allee-pl"
      },
      "messageToSeller": "Proszę o staranne zapakowanie.",
      "buyer": {
        "id": "4000000001",
        "email": "[email protected]",
        "login": "kupujacy_demo_4816f227",
        "firstName": null,
        "lastName": null,
        "companyName": "Firma Przykładowa",
        "phoneNumber": "+48 500 000 000",
        "guest": false
      },
      "payment": {
        "id": "sandbox-9ba7f15b-69a9-43f0-96dd-6fa7cfffc7cc",
        "type": "ONLINE",
        "provider": "SANDBOX",
        "finishedAt": "2026-11-10T11:10:05.000Z",
        "paidAmount": {
          "amount": "98.79",
          "currency": "PLN"
        }
      },
      "fulfillment": {
        "status": "NEW",
        "shipmentSummary": {
          "lineItemsSent": "NONE"
        }
      },
      "delivery": {
        "method": {
          "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f",
          "name": "InPost Paczkomat 24/7"
        },
        "address": {
          "firstName": "Jan",
          "lastName": "Przykładowy",
          "street": "ul. Przykładowa 1",
          "city": "Warszawa",
          "zipCode": "00-001",
          "countryCode": "PL",
          "companyName": "Firma Przykładowa",
          "phoneNumber": "+48 500 000 000"
        },
        "pickupPoint": null,
        "cost": {
          "amount": "12.99",
          "currency": "PLN"
        },
        "time": null,
        "smart": false,
        "calculatedNumberOfPackages": 1
      },
      "invoice": {
        "required": true,
        "address": {
          "street": null,
          "city": null,
          "zipCode": null,
          "countryCode": null,
          "company": {
            "name": "Firma Przykładowa",
            "taxId": "1234563218"
          }
        }
      },
      "lineItems": [
        {
          "id": "2d9680b4-9cb7-4096-9428-8c1ceb2790c2",
          "offer": {
            "id": "900000000000021",
            "name": "Podróż na Księżyc DVD wydanie kolekcjonerskie",
            "external": {
              "id": "FILM-21ef85-1"
            }
          },
          "quantity": 2,
          "originalPrice": {
            "amount": "44.90",
            "currency": "PLN"
          },
          "price": {
            "amount": "42.90",
            "currency": "PLN"
          },
          "tax": {
            "rate": "23.00"
          },
          "boughtAt": "2026-11-10T11:10:05.411Z"
        }
      ],
      "summary": {
        "totalToPay": {
          "amount": "98.79",
          "currency": "PLN"
        }
      },
      "allee": {
        "test": false,
        "commission": {
          "amount": "0.00",
          "currency": "PLN",
          "rate": "0.00",
          "base": "PRODUCTS",
          "final": true,
          "priceListVersion": "2026-11-09"
        }
      }
    }
  ],
  "count": 2,
  "totalCount": 2
}

Zamówienie

GET /order/checkout-forms/{checkoutFormId}

zgodna z Allegroallegro:api:orders:readlimit: read

Pełne zamówienie. revision rośnie przy każdej zmianie statusu. Imię i nazwisko odbiorcy są w delivery.address (buyer.firstName/lastName zawsze null).

Zamówieniami allee.pl sprzedawcy obsługuje jedna integracja naraz (wybór w panelu sprzedaży → Integracje); inna aplikacja dostaje 403 ORDERS_OWNED_BY_OTHER_INTEGRATION (details.owner: PANEL, OTHER_APP, BASELINKER).

Dane osobowe kupującego (e-mail, telefon, adres) dostają: aplikacje sprzed kluczy (np. SelleeTools) oraz klucze i aplikacje z zakresem allee:api:orders:pii. Pozostali dostają te pola jako null (kształt odpowiedzi bez zmian).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /order/checkout-forms/{id}.
Uprawnienie: zakres allegro:api:orders:read.
Grupa limitu: read.

Parametry ścieżki

checkoutFormId string · uuid wymagany

Identyfikator zamówienia (UUID, checkoutForm.id).

Odpowiedzi

200 Zamówienie. · CheckoutForm
id string · uuid zawsze

Identyfikator zamówienia (checkoutForm.id).

status string zawsze

Status zakupu. API pokazuje zamówienia od READY_FOR_PROCESSING.

Wartości: BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLED
updatedAt string · date-time zawsze
revision string zawsze

Rewizja (tekst) — rośnie przy każdej zmianie statusu; podaj w PUT …/fulfillment?checkoutForm.revision.

marketplace object zawsze
Pola obiektu
id string zawsze
Wartości: allee-pl
messageToSeller string · null zawsze

Wiadomość kupującego do sprzedawcy.

buyer object zawsze
Pola obiektu
id string zawsze
email string · null zawsze

E-mail kupującego (null bez zakresu allee:api:orders:pii dla nowych aplikacji).

login string zawsze
firstName string · null zawsze

Zawsze null — imię i nazwisko odbiorcy są w delivery.address.

lastName string · null zawsze
companyName string · null zawsze
phoneNumber string · null zawsze
guest boolean zawsze
payment object zawsze
Pola obiektu
id string · null zawsze
type string zawsze
Wartości: ONLINE, CASH_ON_DELIVERY
provider string · null zawsze
finishedAt string · date-time · null zawsze
paidAmount Money · null zawsze

Zapłacono (płatność online); null przy pobraniu.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
fulfillment object zawsze
Pola obiektu
status FulfillmentStatus zawsze

Status realizacji (tylko do przodu).

Wartości: NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNED
shipmentSummary object zawsze
Pola obiektu
lineItemsSent string zawsze
Wartości: NONE, SOME, ALL
delivery object zawsze
Pola obiektu
method object zawsze
Pola obiektu
id string · null zawsze
name string zawsze
address object · null zawsze

Adres dostawy (dane osobowe — patrz zakres orders:pii).

Pola obiektu
firstName string · null zawsze
lastName string · null zawsze
street string · null zawsze
city string · null zawsze
zipCode string · null zawsze
countryCode string · null zawsze
companyName string · null zawsze
phoneNumber string · null zawsze
pickupPoint object · null zawsze

Punkt odbioru (dziś zawsze null).

cost Money zawsze

Koszt dostawy zapłacony przez kupującego.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
time object · null zawsze
smart boolean zawsze
calculatedNumberOfPackages integer zawsze
invoice object zawsze
Pola obiektu
required boolean zawsze

Czy kupujący chce faktury (podał NIP).

address object · null zawsze

Dane do faktury (od 10.11 z adresem siedziby).

Pola obiektu
street string · null

Ulica i numer (zerowane bez dostępu do danych kupujących).

city string · null
zipCode string · null
countryCode string · null
company object zawsze
Pola obiektu
name string · null zawsze
taxId string · null zawsze
lineItems array<CheckoutFormLineItem> zawsze
Pola obiektu
id string · uuid zawsze
offer object zawsze
Pola obiektu
id string zawsze
name string zawsze
external object · null zawsze
Pola obiektu
id string zawsze
quantity integer zawsze
originalPrice Money zawsze

Cena sprzed obniżki (Omnibus) albo równa price.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
price Money zawsze

Cena jednostkowa zapłacona.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
tax object · null zawsze

Stawka VAT z oferty.

Pola obiektu
rate string · null zawsze
boughtAt string · date-time zawsze
summary object zawsze
Pola obiektu
totalToPay Money zawsze

Do zapłaty: produkty + dostawa.

Pola obiektu
amount string zawsze

Kwota z dwoma miejscami po przecinku, kropka dziesiętna.

currency string zawsze

Waluta (allee.pl: tylko PLN).

Wartości: PLN
allee object zawsze

Rozszerzenia allee (10.11.2026).

Pola obiektu
test boolean zawsze

Płatność testowa (payment.provider TEST_BLIK) — nie księgować.

commission object zawsze
Pola obiektu
amount string zawsze

Prowizja allee za zamówienie (dziś 0.00 — allee nie pobiera prowizji).

currency string zawsze
rate string zawsze

Stawka w procentach, np. „0.00”.

base string zawsze

Podstawa: cena × sztuki pozycji, bez kosztu dostawy.

Wartości: PRODUCTS
final boolean zawsze

true = kwota już się nie zmieni.

priceListVersion string zawsze

Wersja cennika allee użyta do wyliczenia.

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
403ORDERS_OWNED_BY_OTHER_INTEGRATIONZamówienia sprzedawcy obsługuje inna integracja (details.owner).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "432810d0-4d26-4f39-ba5f-b89def4d4f92",
  "status": "READY_FOR_PROCESSING",
  "updatedAt": "2026-11-10T11:10:05.412Z",
  "revision": "3",
  "marketplace": {
    "id": "allee-pl"
  },
  "messageToSeller": "Proszę o staranne zapakowanie.",
  "buyer": {
    "id": "4000000001",
    "email": "[email protected]",
    "login": "kupujacy_demo_4816f227",
    "firstName": null,
    "lastName": null,
    "companyName": "Firma Przykładowa",
    "phoneNumber": "+48 500 000 000",
    "guest": false
  },
  "payment": {
    "id": "sandbox-9ba7f15b-69a9-43f0-96dd-6fa7cfffc7cc",
    "type": "ONLINE",
    "provider": "SANDBOX",
    "finishedAt": "2026-11-10T11:10:05.000Z",
    "paidAmount": {
      "amount": "98.79",
      "currency": "PLN"
    }
  },
  "fulfillment": {
    "status": "NEW",
    "shipmentSummary": {
      "lineItemsSent": "NONE"
    }
  },
  "delivery": {
    "method": {
      "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f",
      "name": "InPost Paczkomat 24/7"
    },
    "address": {
      "firstName": "Jan",
      "lastName": "Przykładowy",
      "street": "ul. Przykładowa 1",
      "city": "Warszawa",
      "zipCode": "00-001",
      "countryCode": "PL",
      "companyName": "Firma Przykładowa",
      "phoneNumber": "+48 500 000 000"
    },
    "pickupPoint": null,
    "cost": {
      "amount": "12.99",
      "currency": "PLN"
    },
    "time": null,
    "smart": false,
    "calculatedNumberOfPackages": 1
  },
  "invoice": {
    "required": true,
    "address": {
      "street": null,
      "city": null,
      "zipCode": null,
      "countryCode": null,
      "company": {
        "name": "Firma Przykładowa",
        "taxId": "1234563218"
      }
    }
  },
  "lineItems": [
    {
      "id": "2d9680b4-9cb7-4096-9428-8c1ceb2790c2",
      "offer": {
        "id": "900000000000021",
        "name": "Podróż na Księżyc DVD wydanie kolekcjonerskie",
        "external": {
          "id": "FILM-21ef85-1"
        }
      },
      "quantity": 2,
      "originalPrice": {
        "amount": "44.90",
        "currency": "PLN"
      },
      "price": {
        "amount": "42.90",
        "currency": "PLN"
      },
      "tax": {
        "rate": "23.00"
      },
      "boughtAt": "2026-11-10T11:10:05.411Z"
    }
  ],
  "summary": {
    "totalToPay": {
      "amount": "98.79",
      "currency": "PLN"
    }
  },
  "allee": {
    "test": false,
    "commission": {
      "amount": "0.00",
      "currency": "PLN",
      "rate": "0.00",
      "base": "PRODUCTS",
      "final": true,
      "priceListVersion": "2026-11-09"
    }
  }
}

Status realizacji zamówienia

PUT /order/checkout-forms/{checkoutFormId}/fulfillment

zgodna z Allegroallegro:api:orders:writelimit: write

Zmiana statusu realizacji — tylko do przodu (wolno przeskakiwać etapy). SENT wymaga wcześniej dodanej przesyłki (POST …/shipments). Ten sam status co obecny → 204 bez skutków.

SUSPENDED i RETURNED ustawia wyłącznie allee (403 FORBIDDEN_SOURCE). Anulowanie (CANCELLED) tylko przed SENT. Opcjonalne checkoutForm.revision: inna niż bieżąca → 409 REVISION_MISMATCH.

details.current = bieżący status przy FORBIDDEN_SOURCE, SHIPMENT_REQUIRED i INVALID_STATUS_TRANSITION (przy REVISION_MISMATCH jest null).

409 — dwa różne przypadki: INVALID_STATUS_TRANSITION = zamówienie jest już na tym etapie albo dalej (ustawienie wcześniejszego etapu, np. PROCESSING po SENT, możesz uznać za osiągnięte; ale CANCELLED po SENT to nie sukces — zamówienia nie da się już anulować); REVISION_MISMATCH = zamówienie zmieniło się od pobrania — pobierz je ponownie i zdecyduj jeszcze raz.

Zamówieniami allee.pl sprzedawcy obsługuje jedna integracja naraz (wybór w panelu sprzedaży → Integracje); inna aplikacja dostaje 403 ORDERS_OWNED_BY_OTHER_INTEGRATION (details.owner: PANEL, OTHER_APP, BASELINKER).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — PUT /order/checkout-forms/{id}/fulfillment.
Uprawnienie: zakres allegro:api:orders:write.
Grupa limitu: write.

Parametry ścieżki

checkoutFormId string · uuid wymagany

Identyfikator zamówienia (UUID, checkoutForm.id).

Parametry zapytania

checkoutForm.revision string

Oczekiwana rewizja zamówienia (optymistyczna blokada).

Treść żądania application/vnd.allegro.public.v1+json

status FulfillmentStatus wymagane

Status realizacji (tylko do przodu).

Wartości: NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNED
shipmentSummary any

Pomijane.

Odpowiedzi

204 Zmieniono (albo ten sam status).

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403FORBIDDEN_SOURCETen status ustawia tylko allee (SUSPENDED, RETURNED).
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
403ORDERS_OWNED_BY_OTHER_INTEGRATIONZamówienia sprzedawcy obsługuje inna integracja (details.owner).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
409INVALID_STATUS_TRANSITIONPrzejście statusu niedozwolone (details.current = bieżący).
409ORDER_NOT_READYZamówienie jeszcze nie gotowe do realizacji.
409REVISION_MISMATCHZamówienie zmieniło się od pobrania.
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422ConstraintViolationException.MissingRequiredParametersBrak wymaganego parametru lub pola (details = id parametru).
422INVALID_STATUSStatus spoza listy.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422SHIPMENT_REQUIREDSENT bez przesyłki.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "status": "PROCESSING"
}
JSON
Odpowiedź (środowisko testowe)
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)
Przykład: Wysłano (po dodaniu przesyłki)
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "status": "SENT"
}
JSON
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)
Przykład: Drugie zamówienie: w realizacji
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "status": "PROCESSING"
}
JSON
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)
Przykład: Drugie zamówienie: wysłano
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -H "Content-Type: application/vnd.allegro.public.v1+json" \
  --data-binary @- \
  -w '\nHTTP %{http_code}\n' <<'JSON'
{
  "status": "SENT"
}
JSON
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)

Zdarzenia zamówień

GET /order/events

Allegro + rozszerzeniaallegro:api:orders:readlimit: read

Dziennik zdarzeń zamówień — podstawa synchronizacji przez odpytywanie. Zacznij od GET /order/event-stats, potem co ≥ 10 s GET /order/events?from={ostatnie id}. Zdarzenia pojawiają się po 5 s (spójność).

Domyślnie typy READY_FOR_PROCESSING i FULFILLMENT_STATUS_CHANGED; SHIPMENT_ADDED i SHIPMENT_STAGE_CHANGED (rozszerzenie allee) tylko po jawnym type. Zamiast odpytywania możesz zasubskrybować powiadomienie push ORDER_CHANGE.

Zamówieniami allee.pl sprzedawcy obsługuje jedna integracja naraz (wybór w panelu sprzedaży → Integracje); inna aplikacja dostaje 403 ORDERS_OWNED_BY_OTHER_INTEGRATION (details.owner: PANEL, OTHER_APP, BASELINKER).

Zgodność: zgodna z Allegro REST API, z rozszerzeniami allee (pola allee.*, alleeId) — GET /order/events.
Uprawnienie: zakres allegro:api:orders:read.
Grupa limitu: read.

Parametry zapytania

from string

Kursor: zdarzenia po tym id.

limit integer

1–1000.

type array<string>

Typy (powtórz parametr).

Odpowiedzi

200 Zdarzenia. · OrderEventList
events array<OrderEvent> zawsze
Pola obiektu
id string zawsze

Kursor (parametr from).

type string zawsze
Wartości: BOUGHT, FILLED_IN, READY_FOR_PROCESSING, BUYER_CANCELLED, FULFILLMENT_STATUS_CHANGED, BUYER_MODIFIED, AUTO_CANCELLED, SHIPMENT_ADDED, SHIPMENT_STAGE_CHANGED
occurredAt string · date-time zawsze
changedBy string zawsze

Kto wywołał zmianę (allee, 10.11.2026).

Wartości: SELLER_PANEL, SELLER_API, BUYER, CARRIER, ALLEE
changedByAppId string · null zawsze

Id aplikacji OAuth, gdy changedBy = SELLER_API przez aplikację — po nim rozpoznasz echa własnych zmian.

order object zawsze
Pola obiektu
seller IdRef zawsze

Odwołanie po identyfikatorze.

Pola obiektu
id string zawsze
checkoutForm object zawsze
Pola obiektu
id string zawsze
revision string zawsze
lineItems array<object> zawsze
Pola obiektu
id string zawsze
offer object zawsze
Pola obiektu
id string zawsze
external object · null zawsze

Błędy

HTTPKodZnaczenie
400VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
403ORDERS_OWNED_BY_OTHER_INTEGRATIONZamówienia sprzedawcy obsługuje inna integracja (details.owner).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/order/events?type=READY_FOR_PROCESSING&limit=100" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "events": [
    {
      "id": "55",
      "type": "READY_FOR_PROCESSING",
      "occurredAt": "2026-11-10T11:09:55.412Z",
      "changedBy": "ALLEE",
      "changedByAppId": null,
      "order": {
        "seller": {
          "id": "980000001"
        },
        "checkoutForm": {
          "id": "432810d0-4d26-4f39-ba5f-b89def4d4f92",
          "revision": "3"
        },
        "lineItems": [
          {
            "id": "2d9680b4-9cb7-4096-9428-8c1ceb2790c2",
            "offer": {
              "id": "900000000000021",
              "external": {
                "id": "FILM-21ef85-1"
              }
            }
          }
        ]
      }
    },
    {
      "id": "60",
      "type": "READY_FOR_PROCESSING",
      "occurredAt": "2026-11-10T11:09:55.419Z",
      "changedBy": "ALLEE",
      "changedByAppId": null,
      "order": {
        "seller": {
          "id": "980000001"
        },
        "checkoutForm": {
          "id": "718ce396-4940-431f-815e-7a51875c71df",
          "revision": "3"
        },
        "lineItems": [
          {
            "id": "3ce60978-f8b3-45de-9a31-6bf12fdc1417",
            "offer": {
              "id": "900000000000001",
              "external": {
                "id": "DEMO-01"
              }
            }
          }
        ]
      }
    }
  ]
}

Ostatnie zdarzenie zamówień

GET /order/event-stats

zgodna z Allegroallegro:api:orders:readlimit: read

Id i czas ostatniego zdarzenia — punkt startowy kursora from.

Zamówieniami allee.pl sprzedawcy obsługuje jedna integracja naraz (wybór w panelu sprzedaży → Integracje); inna aplikacja dostaje 403 ORDERS_OWNED_BY_OTHER_INTEGRATION (details.owner: PANEL, OTHER_APP, BASELINKER).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /order/event-stats.
Uprawnienie: zakres allegro:api:orders:read.
Grupa limitu: read.

Odpowiedzi

200 Ostatnie zdarzenie. · OrderEventStats
latestEvent object · null zawsze
Pola obiektu
id string zawsze
occurredAt string · date-time zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
403ORDERS_OWNED_BY_OTHER_INTEGRATIONZamówienia sprzedawcy obsługuje inna integracja (details.owner).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/order/event-stats" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "latestEvent": {
    "id": "60",
    "occurredAt": "2026-11-10T11:09:55.419Z"
  }
}