Przejdź do treści

Metody dostawy

GET /sale/delivery-methods

Allegro + rozszerzenialimit: read

Słownik własny allee (identyfikatory Allegro tu nie obowiązują). Identyfikatory są stałe. paymentPolicy: przedpłata albo pobranie; allee.carrierId = kod przewoźnika do POST …/shipments.

Zgodność: zgodna z Allegro REST API, z rozszerzeniami allee (pola allee.*, alleeId) — GET /sale/delivery-methods.
Uprawnienie: dowolny ważny token lub klucz (działa też token aplikacji client_credentials).
Grupa limitu: read.

Odpowiedzi

200 Metody. · DeliveryMethodList
deliveryMethods array<DeliveryMethod> zawsze
Pola obiektu
id string · uuid zawsze

Identyfikator metody (UUID allee, stały).

name string zawsze
paymentPolicy string zawsze

Przedpłata albo pobranie.

Wartości: IN_ADVANCE, CASH_ON_DELIVERY
allee object zawsze
Pola obiektu
carrierId string zawsze

Kod przewoźnika — ten sam co w POST …/shipments.

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ę).
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}/sale/delivery-methods" \
  -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
{
  "deliveryMethods": [
    {
      "id": "b79ba3f7-7782-4521-b863-eae15c6f58a4",
      "name": "DHL POP (punkt odbioru)",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "DHL"
      }
    },
    {
      "id": "2981fc14-cd5e-4d8b-a35b-627dc5ad5b33",
      "name": "Dostawa elektroniczna (e-mail)",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "ELEKTRONICZNA"
      }
    },
    {
      "id": "ea4ee0a3-803a-4e34-ac32-2bc8c097d242",
      "name": "DPD Pickup (punkt odbioru)",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "DPD"
      }
    },
    {
      "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f",
      "name": "InPost Paczkomat 24/7",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "INPOST"
      }
    },
    {
      "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d",
      "name": "InPost Paczkomat 24/7 pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "INPOST"
      }
    },
    {
      "id": "4b09b683-3f36-4d41-96a8-fc295b0b4aed",
      "name": "Kurier (inny przewoźnik)",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "OTHER"
      }
    },
    {
      "id": "c2861209-80d2-4c77-83dc-fc9c038bdf35",
      "name": "Kurier (inny przewoźnik) pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "OTHER"
      }
    },
    {
      "id": "52fdc4c3-d33b-4eeb-8ee3-b1faf813d595",
      "name": "Kurier DHL",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "DHL"
      }
    },
    {
      "id": "af3fe346-005d-4452-8355-9cfacff12234",
      "name": "Kurier DHL pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "DHL"
      }
    },
    {
      "id": "5aeef32d-c3ba-4beb-9ded-2f5c4f5ca98f",
      "name": "Kurier DPD",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "DPD"
      }
    },
    {
      "id": "31f771d1-251f-4aef-8cab-3be9a123c527",
      "name": "Kurier DPD pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "DPD"
      }
    },
    {
      "id": "5857ec8a-81c4-46cc-8aaa-a4e724596dda",
      "name": "Kurier FedEx",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "FEDEX"
      }
    },
    {
      "id": "9c407b47-c8d9-445a-8d0f-9eaadd2eacc2",
      "name": "Kurier GLS",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "GLS"
      }
    },
    {
      "id": "9a278b1b-68ff-4a85-850e-72a4fc9843e9",
      "name": "Kurier GLS pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "GLS"
      }
    },
    {
      "id": "c0d5f4be-8793-469d-8438-d1c097f622e5",
      "name": "Kurier InPost",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "INPOST"
      }
    },
    {
      "id": "5016ab78-3462-48e5-aaff-2dfe2b7a1304",
      "name": "Kurier InPost pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "INPOST"
      }
    },
    {
      "id": "53f19e0d-0d96-436e-833b-0f07fdf51b7c",
      "name": "Kurier UPS",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "UPS"
      }
    },
    {
      "id": "93278785-250d-4094-82af-47c0e43bac7e",
      "name": "Kurier UPS pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "UPS"
      }
    },
    {
      "id": "6eab1b1e-208b-4424-804c-e1184f27696b",
      "name": "Odbiór osobisty (płatność przy odbiorze)",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "ODBIOR_OSOBISTY"
      }
    },
    {
      "id": "725db263-57e9-4128-a1f4-802920cbe84b",
      "name": "Odbiór osobisty (przedpłata)",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "ODBIOR_OSOBISTY"
      }
    },
    {
      "id": "5deebabb-6064-4c4e-af7d-2f7734276798",
      "name": "ORLEN Paczka",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "ORLEN_PACZKA"
      }
    },
    {
      "id": "025144a5-e5e5-440e-82c3-37d237eb0e9f",
      "name": "ORLEN Paczka pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "ORLEN_PACZKA"
      }
    },
    {
      "id": "b1f92de5-2504-4e72-a3d4-0ebfe87910ea",
      "name": "Poczta Polska — paczka",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "POCZTA_POLSKA"
      }
    },
    {
      "id": "5ab5d86c-0992-43e8-a0bd-9c8b659f0f8e",
      "name": "Poczta Polska — paczka pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "POCZTA_POLSKA"
      }
    },
    {
      "id": "b40ec70b-17be-41fc-aff0-e1c3be6689b1",
      "name": "Pocztex Kurier",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "POCZTEX"
      }
    },
    {
      "id": "c7de5480-2421-4158-8a6c-f99b50defedd",
      "name": "Pocztex Kurier pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "POCZTEX"
      }
    },
    {
      "id": "eabc5c15-2560-4c29-8342-5bc1ce8c0bf7",
      "name": "Przesyłka gabarytowa / transport",
      "paymentPolicy": "IN_ADVANCE",
      "allee": {
        "carrierId": "OTHER"
      }
    },
    {
      "id": "918a4e56-1372-49eb-8b7d-e5280a763d6b",
      "name": "Przesyłka gabarytowa / transport pobranie",
      "paymentPolicy": "CASH_ON_DELIVERY",
      "allee": {
        "carrierId": "OTHER"
      }
    }
  ]
}

Cenniki dostawy sprzedawcy

GET /sale/shipping-rates

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Twoje cenniki (id i nazwa), posortowane po nazwie.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/shipping-rates.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Odpowiedzi

200 Cenniki. · ShippingRatesList
shippingRates array<object> zawsze
Pola obiektu
id string · uuid zawsze
name string 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ę).
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}/sale/shipping-rates" \
  -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
{
  "shippingRates": [
    {
      "id": "154985df-0580-4e6e-91a3-7b23608beb41",
      "name": "Cennik demo"
    },
    {
      "id": "797d2e65-cb23-4a16-98e9-d6f2a399839a",
      "name": "Paczkomat i kurier pobraniowy"
    }
  ]
}

Nowy cennik dostawy

POST /sale/shipping-rates

Allegro + rozszerzeniaallegro:api:sale:settings:writelimit: write

201 — nowy cennik. 200 — masz już cennik o tej name: oddajemy istniejący, jego treść się nie zmienia (bezpieczne ponowienie; wzorzec „nazwa = odcisk kosztów”).

W rates[].deliveryMethod zamiast id możesz podać dokładną name metody. Wszystkie błędy zwracamy naraz (np. EMPTY_TYPE i DELIVERY_METHOD_NOT_FOUND z path na pozycję).

Rozszerzenie allee (opcjonalne): allee.freeDeliveryFrom — próg darmowej dostawy (kwota PLN; null = bez progu). Ten sam cennik edytuje sprzedawca w panelu (Ustawienia › Wysyłka).

Zgodność: zgodna z Allegro REST API, z rozszerzeniami allee (pola allee.*, alleeId) — POST /sale/shipping-rates.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Nagłówki

Idempotency-Key string

Ochrona przed podwójnym wykonaniem (jak Stripe/Amazon): powtórzony POST z tym samym kluczem i tą samą treścią w ciągu 24 h zwraca zapisaną odpowiedź z nagłówkiem Idempotent-Replayed: true i niczego nie wykonuje drugi raz. Inna treść → 422 IDEMPOTENCY_KEY_REUSED; żądanie jeszcze trwa → 409 IDEMPOTENCY_KEY_IN_USE. 1–100 znaków ASCII (np. UUID).

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

name string wymagane

1–100 znaków, unikalna w obrębie sprzedawcy.

type string wymagane

Wymagane: PHYSICAL.

Wartości: PHYSICAL
rates array<object> wymagane

Co najmniej jedna metoda; każda najwyżej raz.

Pola obiektu
deliveryMethod object wymagane
Pola obiektu
id string

UUID z GET /sale/delivery-methods.

name string

Albo dokładna nazwa metody (bez względu na wielkość liter).

maxQuantityPerPackage integer

1–9999, domyślnie 1.

firstItemRate MoneyInput wymagane

Kwota w żądaniu.

Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN
nextItemRate MoneyInput

Kwota w żądaniu.

Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN
allee object

Rozszerzenie allee (S2): próg darmowej dostawy; null = bez progu, pominięte = bez zmian.

Pola obiektu
freeDeliveryFrom MoneyInput · null
Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN

Odpowiedzi

200 Cennik o tej nazwie już był — bez zmian. · ShippingRates
id string · uuid zawsze
name string zawsze
type string zawsze
Wartości: PHYSICAL
rates array<ShippingRateItem> zawsze
Pola obiektu
deliveryMethod object zawsze
Pola obiektu
id string · uuid zawsze
maxQuantityPerPackage integer zawsze

Sztuk w jednej paczce (1–9999).

firstItemRate Money zawsze

Koszt pierwszej sztuki.

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
nextItemRate Money zawsze

Koszt każdej kolejnej sztuki.

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
lastModified string · date-time zawsze
allee object

Rozszerzenie allee (S2) — tylko gdy ustawiono próg.

Pola obiektu
freeDeliveryFrom Money zawsze

Próg darmowej dostawy.

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
201 Utworzono. · ShippingRates
id string · uuid zawsze
name string zawsze
type string zawsze
Wartości: PHYSICAL
rates array<ShippingRateItem> zawsze
Pola obiektu
deliveryMethod object zawsze
Pola obiektu
id string · uuid zawsze
maxQuantityPerPackage integer zawsze

Sztuk w jednej paczce (1–9999).

firstItemRate Money zawsze

Koszt pierwszej sztuki.

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
nextItemRate Money zawsze

Koszt każdej kolejnej sztuki.

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
lastModified string · date-time zawsze
allee object

Rozszerzenie allee (S2) — tylko gdy ustawiono próg.

Pola obiektu
freeDeliveryFrom Money zawsze

Próg darmowej dostawy.

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

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ę).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422DELIVERY_METHOD_NOT_FOUNDMetoda dostawy spoza słownika allee (path = pozycja).
422EMPTY_TYPECennik bez type.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422LIMIT_EXCEEDEDLimit wpisów osiągnięty (np. 50 warunków danego rodzaju).
422UnknownJSONPropertyPole nieznane w tym miejscu (path wskazuje które).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
Przykład
curl -sS -X POST "${ALLEE_API_URL:-https://api.allee.pl}/sale/shipping-rates" \
  -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'
{
  "name": "Paczkomat i kurier pobraniowy",
  "type": "PHYSICAL",
  "rates": [
    {
      "deliveryMethod": {
        "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "13.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "0.00",
        "currency": "PLN"
      }
    },
    {
      "deliveryMethod": {
        "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "17.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "2.00",
        "currency": "PLN"
      }
    }
  ]
}
JSON
Odpowiedź (środowisko testowe)
HTTP 201 application/vnd.allegro.public.v1+json
{
  "id": "797d2e65-cb23-4a16-98e9-d6f2a399839a",
  "name": "Paczkomat i kurier pobraniowy",
  "type": "PHYSICAL",
  "rates": [
    {
      "deliveryMethod": {
        "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "13.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "0.00",
        "currency": "PLN"
      }
    },
    {
      "deliveryMethod": {
        "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "17.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "2.00",
        "currency": "PLN"
      }
    }
  ],
  "lastModified": "2026-11-10T11:10:03.639Z"
}

Cennik dostawy

GET /sale/shipping-rates/{shippingRatesId}

zgodna z Allegroallegro:api:sale:settings:readlimit: read

Pełny cennik. Cudzy → 403, brak → 404.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — GET /sale/shipping-rates/{id}.
Uprawnienie: zakres allegro:api:sale:settings:read.
Grupa limitu: read.

Parametry ścieżki

shippingRatesId string wymagany

Identyfikator cennika (UUID).

Odpowiedzi

200 Cennik. · ShippingRates
id string · uuid zawsze
name string zawsze
type string zawsze
Wartości: PHYSICAL
rates array<ShippingRateItem> zawsze
Pola obiektu
deliveryMethod object zawsze
Pola obiektu
id string · uuid zawsze
maxQuantityPerPackage integer zawsze

Sztuk w jednej paczce (1–9999).

firstItemRate Money zawsze

Koszt pierwszej sztuki.

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
nextItemRate Money zawsze

Koszt każdej kolejnej sztuki.

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
lastModified string · date-time zawsze
allee object

Rozszerzenie allee (S2) — tylko gdy ustawiono próg.

Pola obiektu
freeDeliveryFrom Money zawsze

Próg darmowej dostawy.

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

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ę).
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}/sale/shipping-rates/797d2e65-cb23-4a16-98e9-d6f2a399839a" \
  -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": "797d2e65-cb23-4a16-98e9-d6f2a399839a",
  "name": "Paczkomat i kurier pobraniowy",
  "type": "PHYSICAL",
  "rates": [
    {
      "deliveryMethod": {
        "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "13.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "0.00",
        "currency": "PLN"
      }
    },
    {
      "deliveryMethod": {
        "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "17.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "2.00",
        "currency": "PLN"
      }
    }
  ],
  "lastModified": "2026-11-10T11:10:03.639Z"
}

Zmiana cennika dostawy

PUT /sale/shipping-rates/{shippingRatesId}

zgodna z Allegroallegro:api:sale:settings:writelimit: write

Pełna podmiana name i rates. Oferty z tym cennikiem dostają nową „dostawę od” (najtańsze firstItemRate). Nazwa zajęta przez inny Twój cennik → 422. allee.freeDeliveryFrom zmieniamy tylko, gdy go podasz (pominięty = bez zmian).

Zgodność: zgodna z Allegro REST API (ten sam kształt) — PUT /sale/shipping-rates/{id}.
Uprawnienie: zakres allegro:api:sale:settings:write.
Grupa limitu: write.

Parametry ścieżki

shippingRatesId string wymagany

Identyfikator cennika (UUID).

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

name string wymagane

1–100 znaków, unikalna w obrębie sprzedawcy.

type string wymagane

Wymagane: PHYSICAL.

Wartości: PHYSICAL
rates array<object> wymagane

Co najmniej jedna metoda; każda najwyżej raz.

Pola obiektu
deliveryMethod object wymagane
Pola obiektu
id string

UUID z GET /sale/delivery-methods.

name string

Albo dokładna nazwa metody (bez względu na wielkość liter).

maxQuantityPerPackage integer

1–9999, domyślnie 1.

firstItemRate MoneyInput wymagane

Kwota w żądaniu.

Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN
nextItemRate MoneyInput

Kwota w żądaniu.

Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN
allee object

Rozszerzenie allee (S2): próg darmowej dostawy; null = bez progu, pominięte = bez zmian.

Pola obiektu
freeDeliveryFrom MoneyInput · null
Pola obiektu
amount string|number wymagane

Kwota jako tekst „123.45” (zalecane) albo liczba.

currency string

Waluta: tylko PLN (domyślnie PLN).

Wartości: PLN

Odpowiedzi

200 Zmieniono. · ShippingRates
id string · uuid zawsze
name string zawsze
type string zawsze
Wartości: PHYSICAL
rates array<ShippingRateItem> zawsze
Pola obiektu
deliveryMethod object zawsze
Pola obiektu
id string · uuid zawsze
maxQuantityPerPackage integer zawsze

Sztuk w jednej paczce (1–9999).

firstItemRate Money zawsze

Koszt pierwszej sztuki.

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
nextItemRate Money zawsze

Koszt każdej kolejnej sztuki.

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
lastModified string · date-time zawsze
allee object

Rozszerzenie allee (S2) — tylko gdy ustawiono próg.

Pola obiektu
freeDeliveryFrom Money zawsze

Próg darmowej dostawy.

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

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ę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422DELIVERY_METHOD_NOT_FOUNDMetoda dostawy spoza słownika allee (path = pozycja).
422EMPTY_TYPECennik bez type.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
422NAME_HAS_TO_BE_UNIQUENazwa zajęta (details = id istniejącego wpisu).
422VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
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}/sale/shipping-rates/797d2e65-cb23-4a16-98e9-d6f2a399839a" \
  -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'
{
  "name": "Paczkomat i kurier pobraniowy",
  "type": "PHYSICAL",
  "rates": [
    {
      "deliveryMethod": {
        "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "12.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "0.00",
        "currency": "PLN"
      }
    },
    {
      "deliveryMethod": {
        "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "16.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "2.00",
        "currency": "PLN"
      }
    }
  ],
  "allee": {
    "freeDeliveryFrom": {
      "amount": "200.00",
      "currency": "PLN"
    }
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "797d2e65-cb23-4a16-98e9-d6f2a399839a",
  "name": "Paczkomat i kurier pobraniowy",
  "type": "PHYSICAL",
  "rates": [
    {
      "deliveryMethod": {
        "id": "bd0e0bcb-10d1-4584-bf5b-ebd07a86e70f"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "12.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "0.00",
        "currency": "PLN"
      }
    },
    {
      "deliveryMethod": {
        "id": "5c76d200-c6db-46a7-9b78-7d067e8cfb2d"
      },
      "maxQuantityPerPackage": 5,
      "firstItemRate": {
        "amount": "16.99",
        "currency": "PLN"
      },
      "nextItemRate": {
        "amount": "2.00",
        "currency": "PLN"
      }
    }
  ],
  "lastModified": "2026-11-10T11:10:03.648Z",
  "allee": {
    "freeDeliveryFrom": {
      "amount": "200.00",
      "currency": "PLN"
    }
  }
}