Zamówienia
Zamówienia allee.pl, status realizacji, dziennik zdarzeń.
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 integerIle pozycji pominąć.
limit integerIle pozycji zwrócić (1–100, domyślnie 100).
status stringStatus zakupu (inny niż READY_FOR_PROCESSING → pusta lista).
BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLEDfulfillment.status FulfillmentStatusStatus realizacji.
updatedAt.gte string · date-timeZmienione od (ISO 8601 ze strefą).
updatedAt.lte string · date-timeZmienione do.
lineItems.boughtAt.gte string · date-timeKupione od.
lineItems.boughtAt.lte string · date-timeKupione do.
Odpowiedzi
200 Zamówienia. · CheckoutFormList
checkoutForms array<CheckoutForm> zawszePola obiektu
id string · uuid zawszeIdentyfikator zamówienia (checkoutForm.id).
status string zawszeStatus zakupu. API pokazuje zamówienia od READY_FOR_PROCESSING.
BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLEDupdatedAt string · date-time zawszerevision string zawszeRewizja (tekst) — rośnie przy każdej zmianie statusu; podaj w PUT …/fulfillment?checkoutForm.revision.
marketplace object zawszePola obiektu
id string zawszeallee-plmessageToSeller string · null zawszeWiadomość kupującego do sprzedawcy.
buyer object zawszePola obiektu
id string zawszeemail string · null zawszeE-mail kupującego (null bez zakresu allee:api:orders:pii dla nowych aplikacji).
login string zawszefirstName string · null zawszeZawsze null — imię i nazwisko odbiorcy są w delivery.address.
lastName string · null zawszecompanyName string · null zawszephoneNumber string · null zawszeguest boolean zawszepayment object zawszePola obiektu
id string · null zawszetype string zawszeONLINE, CASH_ON_DELIVERYprovider string · null zawszefinishedAt string · date-time · null zawszepaidAmount Money · null zawszeZapłacono (płatność online); null przy pobraniu.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNfulfillment object zawszePola obiektu
status FulfillmentStatus zawszeStatus realizacji (tylko do przodu).
NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNEDshipmentSummary object zawszePola obiektu
lineItemsSent string zawszeNONE, SOME, ALLdelivery object zawszePola obiektu
method object zawszePola obiektu
id string · null zawszename string zawszeaddress object · null zawszeAdres dostawy (dane osobowe — patrz zakres orders:pii).
Pola obiektu
firstName string · null zawszelastName string · null zawszestreet string · null zawszecity string · null zawszezipCode string · null zawszecountryCode string · null zawszecompanyName string · null zawszephoneNumber string · null zawszepickupPoint object · null zawszePunkt odbioru (dziś zawsze null).
cost Money zawszeKoszt dostawy zapłacony przez kupującego.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNtime object · null zawszesmart boolean zawszecalculatedNumberOfPackages integer zawszeinvoice object zawszePola obiektu
required boolean zawszeCzy kupujący chce faktury (podał NIP).
address object · null zawszeDane do faktury (od 10.11 z adresem siedziby).
Pola obiektu
street string · nullUlica i numer (zerowane bez dostępu do danych kupujących).
city string · nullzipCode string · nullcountryCode string · nullcompany object zawszePola obiektu
name string · null zawszetaxId string · null zawszelineItems array<CheckoutFormLineItem> zawszePola obiektu
id string · uuid zawszeoffer object zawszePola obiektu
id string zawszename string zawszeexternal object · null zawszePola obiektu
id string zawszequantity integer zawszeoriginalPrice Money zawszeCena sprzed obniżki (Omnibus) albo równa price.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNprice Money zawszeCena jednostkowa zapłacona.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNtax object · null zawszeStawka VAT z oferty.
Pola obiektu
rate string · null zawszeboughtAt string · date-time zawszesummary object zawszePola obiektu
totalToPay Money zawszeDo zapłaty: produkty + dostawa.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNallee object zawszeRozszerzenia allee (10.11.2026).
Pola obiektu
test boolean zawszePłatność testowa (payment.provider TEST_BLIK) — nie księgować.
commission object zawszePola obiektu
amount string zawszeProwizja allee za zamówienie (dziś 0.00 — allee nie pobiera prowizji).
currency string zawszerate string zawszeStawka w procentach, np. „0.00”.
base string zawszePodstawa: cena × sztuki pozycji, bez kosztu dostawy.
PRODUCTSfinal boolean zawszetrue = kwota już się nie zmieni.
priceListVersion string zawszeWersja cennika allee użyta do wyliczenia.
count integer zawszetotalCount integer zawszeBłędy
| HTTP | Kod | Znaczenie |
|---|---|---|
| 400 | VALIDATION_ERROR | Zła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce. |
| 401 | invalid_token | Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate). |
| 403 | ACCOUNT_INACTIVE | Konto sprzedawcy jest nieaktywne. |
| 403 | AccessDenied | Brak zakresu albo zasób innego sprzedawcy. |
| 403 | KEY_QUARANTINED | Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie). |
| 403 | KEY_SUSPENDED | Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę). |
| 403 | ORDERS_OWNED_BY_OTHER_INTEGRATION | Zamówienia sprzedawcy obsługuje inna integracja (details.owner). |
| 429 | TOO_MANY_REQUESTS | Przekroczony limit (minutowy, grupy operacji albo IP). |
| 500 | INTERNAL_ERROR | Błąd serwera allee. |
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'<?php
// allee API: GET /order/checkout-forms (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$ch = curl_init($base . '/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: GET /order/checkout-forms (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
}
r = requests.request("GET", BASE + "/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50", headers=headers, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: GET /order/checkout-forms (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const res = await fetch(`${BASE}/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
},
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: GET /order/checkout-forms (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("GET"), baseUrl + "/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: GET /order/checkout-forms (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: GET /order/checkout-forms (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
req, err := http.NewRequest("GET", base+"/order/checkout-forms?status=READY_FOR_PROCESSING&fulfillment.status=NEW&limit=50", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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 wymaganyIdentyfikator zamówienia (UUID, checkoutForm.id).
Odpowiedzi
200 Zamówienie. · CheckoutForm
id string · uuid zawszeIdentyfikator zamówienia (checkoutForm.id).
status string zawszeStatus zakupu. API pokazuje zamówienia od READY_FOR_PROCESSING.
BOUGHT, FILLED_IN, READY_FOR_PROCESSING, CANCELLEDupdatedAt string · date-time zawszerevision string zawszeRewizja (tekst) — rośnie przy każdej zmianie statusu; podaj w PUT …/fulfillment?checkoutForm.revision.
marketplace object zawszePola obiektu
id string zawszeallee-plmessageToSeller string · null zawszeWiadomość kupującego do sprzedawcy.
buyer object zawszePola obiektu
id string zawszeemail string · null zawszeE-mail kupującego (null bez zakresu allee:api:orders:pii dla nowych aplikacji).
login string zawszefirstName string · null zawszeZawsze null — imię i nazwisko odbiorcy są w delivery.address.
lastName string · null zawszecompanyName string · null zawszephoneNumber string · null zawszeguest boolean zawszepayment object zawszePola obiektu
id string · null zawszetype string zawszeONLINE, CASH_ON_DELIVERYprovider string · null zawszefinishedAt string · date-time · null zawszepaidAmount Money · null zawszeZapłacono (płatność online); null przy pobraniu.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNfulfillment object zawszePola obiektu
status FulfillmentStatus zawszeStatus realizacji (tylko do przodu).
NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNEDshipmentSummary object zawszePola obiektu
lineItemsSent string zawszeNONE, SOME, ALLdelivery object zawszePola obiektu
method object zawszePola obiektu
id string · null zawszename string zawszeaddress object · null zawszeAdres dostawy (dane osobowe — patrz zakres orders:pii).
Pola obiektu
firstName string · null zawszelastName string · null zawszestreet string · null zawszecity string · null zawszezipCode string · null zawszecountryCode string · null zawszecompanyName string · null zawszephoneNumber string · null zawszepickupPoint object · null zawszePunkt odbioru (dziś zawsze null).
cost Money zawszeKoszt dostawy zapłacony przez kupującego.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNtime object · null zawszesmart boolean zawszecalculatedNumberOfPackages integer zawszeinvoice object zawszePola obiektu
required boolean zawszeCzy kupujący chce faktury (podał NIP).
address object · null zawszeDane do faktury (od 10.11 z adresem siedziby).
Pola obiektu
street string · nullUlica i numer (zerowane bez dostępu do danych kupujących).
city string · nullzipCode string · nullcountryCode string · nullcompany object zawszePola obiektu
name string · null zawszetaxId string · null zawszelineItems array<CheckoutFormLineItem> zawszePola obiektu
id string · uuid zawszeoffer object zawszePola obiektu
id string zawszename string zawszeexternal object · null zawszePola obiektu
id string zawszequantity integer zawszeoriginalPrice Money zawszeCena sprzed obniżki (Omnibus) albo równa price.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNprice Money zawszeCena jednostkowa zapłacona.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNtax object · null zawszeStawka VAT z oferty.
Pola obiektu
rate string · null zawszeboughtAt string · date-time zawszesummary object zawszePola obiektu
totalToPay Money zawszeDo zapłaty: produkty + dostawa.
Pola obiektu
amount string zawszeKwota z dwoma miejscami po przecinku, kropka dziesiętna.
currency string zawszeWaluta (allee.pl: tylko PLN).
PLNallee object zawszeRozszerzenia allee (10.11.2026).
Pola obiektu
test boolean zawszePłatność testowa (payment.provider TEST_BLIK) — nie księgować.
commission object zawszePola obiektu
amount string zawszeProwizja allee za zamówienie (dziś 0.00 — allee nie pobiera prowizji).
currency string zawszerate string zawszeStawka w procentach, np. „0.00”.
base string zawszePodstawa: cena × sztuki pozycji, bez kosztu dostawy.
PRODUCTSfinal boolean zawszetrue = kwota już się nie zmieni.
priceListVersion string zawszeWersja cennika allee użyta do wyliczenia.
Błędy
| HTTP | Kod | Znaczenie |
|---|---|---|
| 401 | invalid_token | Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate). |
| 403 | ACCOUNT_INACTIVE | Konto sprzedawcy jest nieaktywne. |
| 403 | AccessDenied | Brak zakresu albo zasób innego sprzedawcy. |
| 403 | KEY_QUARANTINED | Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie). |
| 403 | KEY_SUSPENDED | Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę). |
| 403 | ORDERS_OWNED_BY_OTHER_INTEGRATION | Zamówienia sprzedawcy obsługuje inna integracja (details.owner). |
| 404 | NOT_FOUND | Nie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama). |
| 429 | TOO_MANY_REQUESTS | Przekroczony limit (minutowy, grupy operacji albo IP). |
| 500 | INTERNAL_ERROR | Błąd serwera allee. |
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'<?php
// allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$ch = curl_init($base . '/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
}
r = requests.request("GET", BASE + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92", headers=headers, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const res = await fetch(`${BASE}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
},
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("GET"), baseUrl + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: GET /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92 (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
req, err := http.NewRequest("GET", base+"/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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 wymaganyIdentyfikator zamówienia (UUID, checkoutForm.id).
Parametry zapytania
checkoutForm.revision stringOczekiwana rewizja zamówienia (optymistyczna blokada).
Treść żądania application/vnd.allegro.public.v1+json
status FulfillmentStatus wymaganeStatus realizacji (tylko do przodu).
NEW, PROCESSING, READY_FOR_SHIPMENT, READY_FOR_PICKUP, SENT, PICKED_UP, CANCELLED, SUSPENDED, RETURNEDshipmentSummary anyPomijane.
Odpowiedzi
204 Zmieniono (albo ten sam status).
Błędy
| HTTP | Kod | Znaczenie |
|---|---|---|
| 401 | invalid_token | Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate). |
| 403 | ACCOUNT_INACTIVE | Konto sprzedawcy jest nieaktywne. |
| 403 | AccessDenied | Brak zakresu albo zasób innego sprzedawcy. |
| 403 | FORBIDDEN_SOURCE | Ten status ustawia tylko allee (SUSPENDED, RETURNED). |
| 403 | KEY_QUARANTINED | Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie). |
| 403 | KEY_SUSPENDED | Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę). |
| 403 | ORDERS_OWNED_BY_OTHER_INTEGRATION | Zamówienia sprzedawcy obsługuje inna integracja (details.owner). |
| 404 | NOT_FOUND | Nie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama). |
| 409 | INVALID_STATUS_TRANSITION | Przejście statusu niedozwolone (details.current = bieżący). |
| 409 | ORDER_NOT_READY | Zamówienie jeszcze nie gotowe do realizacji. |
| 409 | REVISION_MISMATCH | Zamówienie zmieniło się od pobrania. |
| 413 | PAYLOAD_TOO_LARGE | Treść żądania za duża (JSON 5 MB, faktura PDF 3 MB). |
| 415 | UNSUPPORTED_MEDIA_TYPE | Zły Content-Type treści. |
| 422 | ConstraintViolationException.MissingRequiredParameters | Brak wymaganego parametru lub pola (details = id parametru). |
| 422 | INVALID_STATUS | Status spoza listy. |
| 422 | JsonMappingException | Treść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty). |
| 422 | SHIPMENT_REQUIRED | SENT bez przesyłki. |
| 429 | TOO_MANY_REQUESTS | Przekroczony limit (minutowy, grupy operacji albo IP). |
| 500 | INTERNAL_ERROR | Błąd serwera allee. |
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<?php
// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$body = [
'status' => 'PROCESSING',
];
$ch = curl_init($base . '/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
'Content-Type: application/vnd.allegro.public.v1+json',
],
CURLOPT_POSTFIELDS => json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
}
body = {
"status": "PROCESSING",
}
r = requests.request("PUT", BASE + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment", headers=headers, json=body, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const body = {
"status": "PROCESSING"
};
const res = await fetch(`${BASE}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment`, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
},
body: JSON.stringify(body),
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("PUT"), baseUrl + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
var json = """
{
"status": "PROCESSING"
}
""";
req.Content = new StringContent(json, Encoding.UTF8);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
String body = """
{
"status": "PROCESSING"
}
""";
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.header("Content-Type", "application/vnd.allegro.public.v1+json")
.method("PUT", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
body := `{
"status": "PROCESSING"
}`
req, err := http.NewRequest("PUT", base+"/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
req.Header.Set("Content-Type", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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<?php
// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$body = [
'status' => 'SENT',
];
$ch = curl_init($base . '/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
'Content-Type: application/vnd.allegro.public.v1+json',
],
CURLOPT_POSTFIELDS => json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
}
body = {
"status": "SENT",
}
r = requests.request("PUT", BASE + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment", headers=headers, json=body, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const body = {
"status": "SENT"
};
const res = await fetch(`${BASE}/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment`, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
},
body: JSON.stringify(body),
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("PUT"), baseUrl + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
var json = """
{
"status": "SENT"
}
""";
req.Content = new StringContent(json, Encoding.UTF8);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
String body = """
{
"status": "SENT"
}
""";
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.header("Content-Type", "application/vnd.allegro.public.v1+json")
.method("PUT", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: PUT /order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
body := `{
"status": "SENT"
}`
req, err := http.NewRequest("PUT", base+"/order/checkout-forms/432810d0-4d26-4f39-ba5f-b89def4d4f92/fulfillment", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
req.Header.Set("Content-Type", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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<?php
// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$body = [
'status' => 'PROCESSING',
];
$ch = curl_init($base . '/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
'Content-Type: application/vnd.allegro.public.v1+json',
],
CURLOPT_POSTFIELDS => json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
}
body = {
"status": "PROCESSING",
}
r = requests.request("PUT", BASE + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment", headers=headers, json=body, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const body = {
"status": "PROCESSING"
};
const res = await fetch(`${BASE}/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment`, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
},
body: JSON.stringify(body),
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("PUT"), baseUrl + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
var json = """
{
"status": "PROCESSING"
}
""";
req.Content = new StringContent(json, Encoding.UTF8);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
String body = """
{
"status": "PROCESSING"
}
""";
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.header("Content-Type", "application/vnd.allegro.public.v1+json")
.method("PUT", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
body := `{
"status": "PROCESSING"
}`
req, err := http.NewRequest("PUT", base+"/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
req.Header.Set("Content-Type", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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<?php
// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$body = [
'status' => 'SENT',
];
$ch = curl_init($base . '/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
'Content-Type: application/vnd.allegro.public.v1+json',
],
CURLOPT_POSTFIELDS => json_encode($body, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES),
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
}
body = {
"status": "SENT",
}
r = requests.request("PUT", BASE + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment", headers=headers, json=body, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const body = {
"status": "SENT"
};
const res = await fetch(`${BASE}/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment`, {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
"Content-Type": "application/vnd.allegro.public.v1+json",
},
body: JSON.stringify(body),
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("PUT"), baseUrl + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
var json = """
{
"status": "SENT"
}
""";
req.Content = new StringContent(json, Encoding.UTF8);
req.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
String body = """
{
"status": "SENT"
}
""";
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.header("Content-Type", "application/vnd.allegro.public.v1+json")
.method("PUT", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: PUT /order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
body := `{
"status": "SENT"
}`
req, err := http.NewRequest("PUT", base+"/order/checkout-forms/718ce396-4940-431f-815e-7a51875c71df/fulfillment", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
req.Header.Set("Content-Type", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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 stringKursor: zdarzenia po tym id.
limit integer1–1000.
type array<string>Typy (powtórz parametr).
Odpowiedzi
200 Zdarzenia. · OrderEventList
events array<OrderEvent> zawszePola obiektu
id string zawszeKursor (parametr from).
type string zawszeBOUGHT, FILLED_IN, READY_FOR_PROCESSING, BUYER_CANCELLED, FULFILLMENT_STATUS_CHANGED, BUYER_MODIFIED, AUTO_CANCELLED, SHIPMENT_ADDED, SHIPMENT_STAGE_CHANGEDoccurredAt string · date-time zawszechangedBy string zawszeKto wywołał zmianę (allee, 10.11.2026).
SELLER_PANEL, SELLER_API, BUYER, CARRIER, ALLEEchangedByAppId string · null zawszeId aplikacji OAuth, gdy changedBy = SELLER_API przez aplikację — po nim rozpoznasz echa własnych zmian.
order object zawszePola obiektu
seller IdRef zawszeOdwołanie po identyfikatorze.
Pola obiektu
id string zawszecheckoutForm object zawszePola obiektu
id string zawszerevision string zawszelineItems array<object> zawszePola obiektu
id string zawszeoffer object zawszePola obiektu
id string zawszeexternal object · null zawszeBłędy
| HTTP | Kod | Znaczenie |
|---|---|---|
| 400 | VALIDATION_ERROR | Zła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce. |
| 401 | invalid_token | Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate). |
| 403 | ACCOUNT_INACTIVE | Konto sprzedawcy jest nieaktywne. |
| 403 | AccessDenied | Brak zakresu albo zasób innego sprzedawcy. |
| 403 | KEY_QUARANTINED | Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie). |
| 403 | KEY_SUSPENDED | Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę). |
| 403 | ORDERS_OWNED_BY_OTHER_INTEGRATION | Zamówienia sprzedawcy obsługuje inna integracja (details.owner). |
| 429 | TOO_MANY_REQUESTS | Przekroczony limit (minutowy, grupy operacji albo IP). |
| 500 | INTERNAL_ERROR | Błąd serwera allee. |
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'<?php
// allee API: GET /order/events (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$ch = curl_init($base . '/order/events?type=READY_FOR_PROCESSING&limit=100');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: GET /order/events (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
}
r = requests.request("GET", BASE + "/order/events?type=READY_FOR_PROCESSING&limit=100", headers=headers, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: GET /order/events (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const res = await fetch(`${BASE}/order/events?type=READY_FOR_PROCESSING&limit=100`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
},
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: GET /order/events (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("GET"), baseUrl + "/order/events?type=READY_FOR_PROCESSING&limit=100");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: GET /order/events (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/events?type=READY_FOR_PROCESSING&limit=100"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: GET /order/events (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
req, err := http.NewRequest("GET", base+"/order/events?type=READY_FOR_PROCESSING&limit=100", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}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 zawszePola obiektu
id string zawszeoccurredAt string · date-time zawszeBłędy
| HTTP | Kod | Znaczenie |
|---|---|---|
| 401 | invalid_token | Brak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate). |
| 403 | ACCOUNT_INACTIVE | Konto sprzedawcy jest nieaktywne. |
| 403 | AccessDenied | Brak zakresu albo zasób innego sprzedawcy. |
| 403 | KEY_QUARANTINED | Kwarantanna: działa tylko odczyt (wykryto nietypowe użycie). |
| 403 | KEY_SUSPENDED | Klucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę). |
| 403 | ORDERS_OWNED_BY_OTHER_INTEGRATION | Zamówienia sprzedawcy obsługuje inna integracja (details.owner). |
| 429 | TOO_MANY_REQUESTS | Przekroczony limit (minutowy, grupy operacji albo IP). |
| 500 | INTERNAL_ERROR | Błąd serwera allee. |
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'<?php
// allee API: GET /order/event-stats (PHP 8, rozszerzenie curl)
$base = getenv('ALLEE_API_URL') ?: 'https://api.allee.pl';
$ch = curl_init($base . '/order/event-stats');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('ALLEE_API_KEY'),
'Accept: application/vnd.allegro.public.v1+json',
],
CURLOPT_RETURNTRANSFER => true,
]);
$odp = curl_exec($ch);
echo 'HTTP ', curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $odp, "\n";# allee API: GET /order/event-stats (Python 3, biblioteka requests)
import os
import requests
BASE = os.environ.get("ALLEE_API_URL", "https://api.allee.pl")
headers = {
"Authorization": "Bearer " + os.environ["ALLEE_API_KEY"],
"Accept": "application/vnd.allegro.public.v1+json",
}
r = requests.request("GET", BASE + "/order/event-stats", headers=headers, timeout=60, allow_redirects=False)
print("HTTP", r.status_code)
print(r.text)// allee API: GET /order/event-stats (Node.js 18+, wbudowany fetch; plik .mjs)
const BASE = process.env.ALLEE_API_URL ?? "https://api.allee.pl";
const res = await fetch(`${BASE}/order/event-stats`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.ALLEE_API_KEY}`,
"Accept": "application/vnd.allegro.public.v1+json",
},
redirect: "manual",
});
console.log("HTTP", res.status);
console.log(await res.text());// allee API: GET /order/event-stats (C#, .NET 8+, HttpClient)
using System.Net.Http.Headers;
using System.Text;
var baseUrl = Environment.GetEnvironmentVariable("ALLEE_API_URL") ?? "https://api.allee.pl";
using var http = new HttpClient(new HttpClientHandler { AllowAutoRedirect = false });
using var req = new HttpRequestMessage(new HttpMethod("GET"), baseUrl + "/order/event-stats");
req.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("ALLEE_API_KEY"));
req.Headers.Accept.ParseAdd("application/vnd.allegro.public.v1+json");
using var res = await http.SendAsync(req);
Console.WriteLine($"HTTP {(int)res.StatusCode}");
Console.WriteLine(await res.Content.ReadAsStringAsync());// allee API: GET /order/event-stats (Java 11+, java.net.http; uruchom: java Main.java)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String base = System.getenv().getOrDefault("ALLEE_API_URL", "https://api.allee.pl");
HttpRequest req = HttpRequest.newBuilder(URI.create(base + "/order/event-stats"))
.header("Authorization", "Bearer " + System.getenv("ALLEE_API_KEY"))
.header("Accept", "application/vnd.allegro.public.v1+json")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpClient http = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpResponse<String> res = http.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println("HTTP " + res.statusCode());
System.out.println(res.body());
}
}// allee API: GET /order/event-stats (Go 1.20+, net/http; uruchom: go run main.go)
package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
base := os.Getenv("ALLEE_API_URL")
if base == "" {
base = "https://api.allee.pl"
}
req, err := http.NewRequest("GET", base+"/order/event-stats", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("ALLEE_API_KEY"))
req.Header.Set("Accept", "application/vnd.allegro.public.v1+json")
klient := &http.Client{CheckRedirect: func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }}
res, err := klient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
dane, err := io.ReadAll(res.Body)
if err != nil {
panic(err)
}
fmt.Println("HTTP", res.StatusCode)
fmt.Println(string(dane))
}application/vnd.allegro.public.v1+json{
"latestEvent": {
"id": "60",
"occurredAt": "2026-11-10T11:09:55.419Z"
}
}