Przejdź do treści

Podgląd opłat oferty

POST /pricing/offer-fee-preview

Allegro + rozszerzeniaallegro:api:sale:offers:readlimit: read

Opłata za wystawienie i prowizja dla istniejącej oferty (offer.id) albo dla danych nowej oferty (sellingMode, stock). Ta sama funkcja licząca co formularz wystawiania.

Zgodność: zgodna z Allegro REST API, z rozszerzeniami allee (pola allee.*, alleeId) — POST /pricing/offer-fee-preview.
Uprawnienie: zakres allegro:api:sale:offers:read.
Grupa limitu: read.

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

offer object wymagane
Pola obiektu
id string
sellingMode object
Pola obiektu
format string
Wartości: BUY_NOW
price 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
stock object
Pola obiektu
available integer wymagane
marketplaceId string
Wartości: allee-pl
classifiedsPackages any

Bez skutku (allee nie ma ogłoszeń płatnych).

Odpowiedzi

200 Opłaty. · FeePreview
commissions array<object> zawsze
Pola obiektu
name string zawsze
type string zawsze
fee Money zawsze

Kwota (kształt Allegro).

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
quotes array<object> zawsze
Pola obiektu
name string zawsze
type string zawsze
fee Money zawsze

Kwota (kształt Allegro).

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
cycleDuration string · null zawsze
allee object zawsze
Pola obiektu
total Money zawsze

Kwota (kształt Allegro).

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
feeScheduleVersion string zawsze

Wersja cennika opłat.

note 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ę).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
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}/pricing/offer-fee-preview" \
  -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'
{
  "offer": {
    "id": "900000000000021"
  }
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "commissions": [
    {
      "name": "Prowizja od sprzedaży",
      "type": "SUCCESS_COMMISSION",
      "fee": {
        "amount": "0.00",
        "currency": "PLN"
      }
    }
  ],
  "quotes": [
    {
      "name": "Opłata za wystawienie",
      "type": "LISTING_FEE",
      "fee": {
        "amount": "0.00",
        "currency": "PLN"
      },
      "cycleDuration": null
    }
  ],
  "allee": {
    "total": {
      "amount": "0.00",
      "currency": "PLN"
    },
    "feeScheduleVersion": "2026-11-09",
    "note": "allee.pl nie pobiera dziś opłat za wystawienie ani prowizji od sprzedaży."
  }
}

Wyceny opłat (wsadowo)

POST /allee/fees/estimate

wzór Amazon SP-APIallegro:api:sale:offers:readlimit: read

Do 20 wycen w jednym żądaniu: dla oferty (idType: OFFER_ID), SKU (SKU) albo nowej oferty (NEW). Błąd jednej wyceny nie psuje pozostałych (status: CLIENT_ERROR).

Zgodność: wzorowana na Amazon Selling Partner API — Product Fees — getMyFeesEstimates.
Uprawnienie: zakres allegro:api:sale:offers:read.
Grupa limitu: read.

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

feesEstimateRequests array<object> wymagane
Pola obiektu
identifier string

Twój identyfikator wyceny (wraca w odpowiedzi).

idType string
Wartości: OFFER_ID, SKU, NEW
idValue string

Id oferty albo SKU.

price 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
quantity integer
sellingFormat string
Wartości: BUY_NOW

Odpowiedzi

200 Wyceny. · FeesEstimateResult
feesEstimates array<object> zawsze
Pola obiektu
identifier string zawsze
status string zawsze
Wartości: SUCCESS, CLIENT_ERROR
totalFees Money · null zawsze
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
feeDetails array<object> zawsze
Pola obiektu
feeType string zawsze
Wartości: LISTING_FEE, SUCCESS_COMMISSION
feeAmount Money zawsze

Kwota (kształt Allegro).

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
error object · null zawsze
Pola obiektu
code string zawsze
message string zawsze
path string zawsze
feeScheduleVersion 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ę).
413PAYLOAD_TOO_LARGETreść żądania za duża (JSON 5 MB, faktura PDF 3 MB).
415UNSUPPORTED_MEDIA_TYPEZły Content-Type treści.
422JsonMappingExceptionTreść nie jest poprawnym JSON albo ma zły kształt (np. images jako obiekty).
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}/allee/fees/estimate" \
  -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'
{
  "feesEstimateRequests": [
    {
      "identifier": "moja-oferta",
      "idType": "SKU",
      "idValue": "FILM-21ef85-1",
      "price": {
        "amount": "39.90",
        "currency": "PLN"
      }
    },
    {
      "identifier": "nowa-oferta",
      "idType": "NEW",
      "price": {
        "amount": "199.00",
        "currency": "PLN"
      },
      "quantity": 1
    }
  ]
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "feesEstimates": [
    {
      "identifier": "moja-oferta",
      "status": "SUCCESS",
      "totalFees": {
        "amount": "0.00",
        "currency": "PLN"
      },
      "feeDetails": [
        {
          "feeType": "LISTING_FEE",
          "feeAmount": {
            "amount": "0.00",
            "currency": "PLN"
          }
        },
        {
          "feeType": "SUCCESS_COMMISSION",
          "feeAmount": {
            "amount": "0.00",
            "currency": "PLN"
          }
        }
      ],
      "error": null
    },
    {
      "identifier": "nowa-oferta",
      "status": "SUCCESS",
      "totalFees": {
        "amount": "0.00",
        "currency": "PLN"
      },
      "feeDetails": [
        {
          "feeType": "LISTING_FEE",
          "feeAmount": {
            "amount": "0.00",
            "currency": "PLN"
          }
        },
        {
          "feeType": "SUCCESS_COMMISSION",
          "feeAmount": {
            "amount": "0.00",
            "currency": "PLN"
          }
        }
      ],
      "error": null
    }
  ],
  "feeScheduleVersion": "2026-11-09"
}