Przejdź do treści

Utworzenie albo zmiana zestawu wariantów

PUT /sale/offer-variants/{setId}

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

Łączy oferty w jeden zestaw wariantów (np. rozmiary 38–44): kupujący widzi przełącznik na stronie każdej oferty, a wyszukiwarka pokazuje JEDNĄ kartę z listą dostępnych wartości. Nowy setId = utworzenie, istniejący = pełna podmiana (kolejność ofert = kolejność w odpowiedzi).

Zasady (jak Allegro): nazwa 1–50 znaków; 1–2 parametry wyboru (id parametru Allegro, {"alleeId": …} albo color/pattern); 2–500 ofert TEGO SAMEGO sprzedawcy, z tej samej kategorii-liścia, Kup Teraz; oferta w najwyżej jednym zestawie; każda oferta z inną kombinacją wartości. Wartość parametru każdej oferty bierzemy Z OFERTY (zestaw jej nie zmienia); colorPattern (≤ 64 znaki) podajesz przy ofercie. Błędy — wszystkie naraz (422, path = offers[i].id).

Po zmianie oferty (PATCH parametru, kategorii, usunięcie szkicu) zestaw sprawdza się sam: oferta, która przestała pasować, wypada z zestawu (zdarzenie OFFER_CHANGED, allee.reason = variant_set_detached:…), a zestaw z jedną ofertą jest rozwiązywany.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — PUT /sale/offer-variants/{setId}.
Uprawnienie: zakres allegro:api:sale:offers:write.
Grupa limitu: write.

Parametry ścieżki

setId string · uuid wymagany

Identyfikator zestawu (UUID — w PUT nadaje go integrator, zalecany v4).

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

name string wymagane

Nazwa zestawu (1–50 znaków).

parameters array<object> wymagane

Parametry wyboru (1–2).

Pola obiektu
id string

Id parametru Allegro (np. „54” = Rozmiar) albo „color/pattern”.

alleeId integer

Rozszerzenie allee: id parametru allee.

offers array<object> wymagane

Oferty-warianty (2–500), w kolejności wyświetlania.

Pola obiektu
id string wymagane

Identyfikator oferty.

colorPattern string · null

Kolor/wzór oferty (gdy parametr color/pattern), ≤ 64 znaki.

Odpowiedzi

200 Zestaw (utworzony albo zmieniony). · OfferVariantSet
id string · uuid zawsze

setId (UUID).

name string zawsze
parameters array<object> zawsze
Pola obiektu
id string zawsze

Id parametru Allegro albo „color/pattern”.

offers array<object> zawsze
Pola obiektu
id string zawsze
colorPattern string · null zawsze
allee object zawsze

Rozszerzenie allee.

Pola obiektu
setId integer zawsze

Numer wewnętrzny zestawu.

category object zawsze
Pola obiektu
id string · null zawsze

Kategoria Allegro.

alleeId integer zawsze

Kategoria allee.

parameters array<object> zawsze
Pola obiektu
id string zawsze
alleeId integer zawsze

0 = color/pattern.

name string · null zawsze
offers array<object> zawsze
Pola obiektu
id string zawsze
values array<object> zawsze
Pola obiektu
parameterId string zawsze
name string · null zawsze
value string zawsze

Wartość wyboru oferty (np. 42).

valueId string · null zawsze

Id wartości słownika Allegro.

publication object zawsze
Pola obiektu
status PublicationStatus · null zawsze
stock object zawsze
Pola obiektu
available integer · null zawsze
sellingMode object · null zawsze
Pola obiektu
price 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
external object · null zawsze
Pola obiektu
id string zawsze
url string · uri · null zawsze

Strona oferty-wariantu na allee.pl.

createdAt string · date-time zawsze
updatedAt string · date-time zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
404NOT_FOUNDNie ma takiego zasobu (albo należy do innego sprzedawcy — dla wątków, zwrotów i spraw odpowiedź jest ta sama).
409VARIANT_SET_CONFLICTRównoległa zmiana zestawów (ta sama oferta dodawana naraz do dwóch zestawów).
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).
422VARIANT_SET_COLOR_PATTERN_REQUIREDBrak colorPattern przy ofercie (parametr color/pattern).
422VARIANT_SET_COLOR_PATTERN_TOO_LONGcolorPattern dłuższy niż 64 znaki.
422VARIANT_SET_DIFFERENT_CATEGORIESOferty z różnych kategorii.
422VARIANT_SET_DUPLICATED_OFFERTa sama oferta podana dwa razy.
422VARIANT_SET_DUPLICATED_VARIANTDwie oferty mają tę samą kombinację wartości (details.sameAs).
422VARIANT_SET_NAME_INVALIDNazwa zestawu pusta albo dłuższa niż 50 znaków.
422VARIANT_SET_OFFER_AMBIGUOUS_PARAMETEROferta ma kilka wartości parametru wyboru.
422VARIANT_SET_OFFER_IN_OTHER_SETOferta jest już w innym zestawie.
422VARIANT_SET_OFFER_MISSING_PARAMETEROferta nie ma wartości parametru wyboru.
422VARIANT_SET_OFFER_NOT_BUY_NOWLicytacji nie łączymy w warianty.
422VARIANT_SET_OFFER_NOT_FOUNDOferty nie ma na koncie sprzedawcy (cudza oferta = ta sama odpowiedź).
422VARIANT_SET_PARAMETERS_INVALIDParametry wyboru: 1 lub 2 różne.
422VARIANT_SET_PARAMETER_NOT_IN_CATEGORYParametru nie ma w kategorii ofert (albo nie istnieje).
422VARIANT_SET_TOO_FEW_OFFERSZestaw ma mniej niż 2 oferty.
422VARIANT_SET_TOO_MANY_OFFERSZestaw ma więcej niż 500 ofert.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
503NOT_DEPLOYEDFunkcja jeszcze nie uruchomiona (np. sandbox, wsady).
Przykład
curl -sS -X PUT "${ALLEE_API_URL:-https://api.allee.pl}/sale/offer-variants/2acf7981-8d96-48bb-8eb0-c6f4267e1eec" \
  -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": "Podróż na Księżyc — DVD i Blu-ray",
  "parameters": [
    {
      "id": "color/pattern"
    }
  ],
  "offers": [
    {
      "id": "900000000000023",
      "colorPattern": "Blu-ray"
    },
    {
      "id": "900000000000021",
      "colorPattern": "DVD"
    }
  ]
}
JSON
Odpowiedź (środowisko testowe)
HTTP 200 application/vnd.allegro.public.v1+json
{
  "id": "2acf7981-8d96-48bb-8eb0-c6f4267e1eec",
  "name": "Podróż na Księżyc — DVD i Blu-ray",
  "parameters": [
    {
      "id": "color/pattern"
    }
  ],
  "offers": [
    {
      "id": "900000000000023",
      "colorPattern": "Blu-ray"
    },
    {
      "id": "900000000000021",
      "colorPattern": "DVD"
    }
  ],
  "allee": {
    "setId": 1,
    "category": {
      "id": "20585",
      "alleeId": 35
    },
    "parameters": [
      {
        "id": "color/pattern",
        "alleeId": 0,
        "name": "Kolor"
      }
    ],
    "offers": [
      {
        "id": "900000000000023",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "Blu-ray",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 10
        },
        "sellingMode": {
          "price": {
            "amount": "49.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-WAR"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-blu-ray-wydanie-kolekcjonerskie-900000000000023"
      },
      {
        "id": "900000000000021",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "DVD",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 8
        },
        "sellingMode": {
          "price": {
            "amount": "44.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-1"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-dvd-wydanie-kolekcjonerskie-900000000000021"
      }
    ],
    "createdAt": "2026-11-10T11:10:04.000Z",
    "updatedAt": "2026-11-10T11:10:04.000Z"
  }
}

Utworzenie zestawu wariantów (identyfikator nadaje allee)

POST /sale/offer-variants

tylko alleeallegro:api:sale:offers:writelimit: write

To samo co PUT, ale setId nadaje allee — odpowiedź 201 z nagłówkiem Location. Obsługuje Idempotency-Key (powtórka nie tworzy drugiego zestawu).

Zasady (jak Allegro): nazwa 1–50 znaków; 1–2 parametry wyboru (id parametru Allegro, {"alleeId": …} albo color/pattern); 2–500 ofert TEGO SAMEGO sprzedawcy, z tej samej kategorii-liścia, Kup Teraz; oferta w najwyżej jednym zestawie; każda oferta z inną kombinacją wartości. Wartość parametru każdej oferty bierzemy Z OFERTY (zestaw jej nie zmienia); colorPattern (≤ 64 znaki) podajesz przy ofercie. Błędy — wszystkie naraz (422, path = offers[i].id).

Po zmianie oferty (PATCH parametru, kategorii, usunięcie szkicu) zestaw sprawdza się sam: oferta, która przestała pasować, wypada z zestawu (zdarzenie OFFER_CHANGED, allee.reason = variant_set_detached:…), a zestaw z jedną ofertą jest rozwiązywany.

Zgodność: tylko allee — PUT /sale/offer-variants/{setId} (tu setId nadaje serwer).
Uprawnienie: zakres allegro:api:sale:offers: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

Nazwa zestawu (1–50 znaków).

parameters array<object> wymagane

Parametry wyboru (1–2).

Pola obiektu
id string

Id parametru Allegro (np. „54” = Rozmiar) albo „color/pattern”.

alleeId integer

Rozszerzenie allee: id parametru allee.

offers array<object> wymagane

Oferty-warianty (2–500), w kolejności wyświetlania.

Pola obiektu
id string wymagane

Identyfikator oferty.

colorPattern string · null

Kolor/wzór oferty (gdy parametr color/pattern), ≤ 64 znaki.

Odpowiedzi

201 Utworzono (nagłówek Location = /sale/offer-variants/{setId}). · OfferVariantSet
id string · uuid zawsze

setId (UUID).

name string zawsze
parameters array<object> zawsze
Pola obiektu
id string zawsze

Id parametru Allegro albo „color/pattern”.

offers array<object> zawsze
Pola obiektu
id string zawsze
colorPattern string · null zawsze
allee object zawsze

Rozszerzenie allee.

Pola obiektu
setId integer zawsze

Numer wewnętrzny zestawu.

category object zawsze
Pola obiektu
id string · null zawsze

Kategoria Allegro.

alleeId integer zawsze

Kategoria allee.

parameters array<object> zawsze
Pola obiektu
id string zawsze
alleeId integer zawsze

0 = color/pattern.

name string · null zawsze
offers array<object> zawsze
Pola obiektu
id string zawsze
values array<object> zawsze
Pola obiektu
parameterId string zawsze
name string · null zawsze
value string zawsze

Wartość wyboru oferty (np. 42).

valueId string · null zawsze

Id wartości słownika Allegro.

publication object zawsze
Pola obiektu
status PublicationStatus · null zawsze
stock object zawsze
Pola obiektu
available integer · null zawsze
sellingMode object · null zawsze
Pola obiektu
price 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
external object · null zawsze
Pola obiektu
id string zawsze
url string · uri · null zawsze

Strona oferty-wariantu na allee.pl.

createdAt string · date-time zawsze
updatedAt string · date-time zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
409VARIANT_SET_CONFLICTRównoległa zmiana zestawów (ta sama oferta dodawana naraz do dwóch zestawów).
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).
422VARIANT_SET_COLOR_PATTERN_REQUIREDBrak colorPattern przy ofercie (parametr color/pattern).
422VARIANT_SET_COLOR_PATTERN_TOO_LONGcolorPattern dłuższy niż 64 znaki.
422VARIANT_SET_DIFFERENT_CATEGORIESOferty z różnych kategorii.
422VARIANT_SET_DUPLICATED_OFFERTa sama oferta podana dwa razy.
422VARIANT_SET_DUPLICATED_VARIANTDwie oferty mają tę samą kombinację wartości (details.sameAs).
422VARIANT_SET_NAME_INVALIDNazwa zestawu pusta albo dłuższa niż 50 znaków.
422VARIANT_SET_OFFER_AMBIGUOUS_PARAMETEROferta ma kilka wartości parametru wyboru.
422VARIANT_SET_OFFER_IN_OTHER_SETOferta jest już w innym zestawie.
422VARIANT_SET_OFFER_MISSING_PARAMETEROferta nie ma wartości parametru wyboru.
422VARIANT_SET_OFFER_NOT_BUY_NOWLicytacji nie łączymy w warianty.
422VARIANT_SET_OFFER_NOT_FOUNDOferty nie ma na koncie sprzedawcy (cudza oferta = ta sama odpowiedź).
422VARIANT_SET_PARAMETERS_INVALIDParametry wyboru: 1 lub 2 różne.
422VARIANT_SET_PARAMETER_NOT_IN_CATEGORYParametru nie ma w kategorii ofert (albo nie istnieje).
422VARIANT_SET_TOO_FEW_OFFERSZestaw ma mniej niż 2 oferty.
422VARIANT_SET_TOO_MANY_OFFERSZestaw ma więcej niż 500 ofert.
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
503NOT_DEPLOYEDFunkcja jeszcze nie uruchomiona (np. sandbox, wsady).
Przykład
curl -sS -X POST "${ALLEE_API_URL:-https://api.allee.pl}/sale/offer-variants" \
  -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": "Podróż na Księżyc — wydania",
  "parameters": [
    {
      "id": "color/pattern"
    }
  ],
  "offers": [
    {
      "id": "900000000000021",
      "colorPattern": "DVD"
    },
    {
      "id": "900000000000023",
      "colorPattern": "Blu-ray"
    }
  ]
}
JSON
Odpowiedź (środowisko testowe)
HTTP 201 application/vnd.allegro.public.v1+json
{
  "id": "2acf7981-8d96-48bb-8eb0-c6f4267e1eec",
  "name": "Podróż na Księżyc — wydania",
  "parameters": [
    {
      "id": "color/pattern"
    }
  ],
  "offers": [
    {
      "id": "900000000000021",
      "colorPattern": "DVD"
    },
    {
      "id": "900000000000023",
      "colorPattern": "Blu-ray"
    }
  ],
  "allee": {
    "setId": 1,
    "category": {
      "id": "20585",
      "alleeId": 35
    },
    "parameters": [
      {
        "id": "color/pattern",
        "alleeId": 0,
        "name": "Kolor"
      }
    ],
    "offers": [
      {
        "id": "900000000000021",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "DVD",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 8
        },
        "sellingMode": {
          "price": {
            "amount": "44.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-1"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-dvd-wydanie-kolekcjonerskie-900000000000021"
      },
      {
        "id": "900000000000023",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "Blu-ray",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 10
        },
        "sellingMode": {
          "price": {
            "amount": "49.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-WAR"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-blu-ray-wydanie-kolekcjonerskie-900000000000023"
      }
    ],
    "createdAt": "2026-11-10T11:10:04.000Z",
    "updatedAt": "2026-11-10T11:10:04.000Z"
  }
}

Zestaw wariantów

GET /sale/offer-variants/{setId}

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

Zestaw w kształcie Allegro + blok allee: wartości wyboru każdej oferty, status publikacji, stan, cena, SKU i adres strony oferty. Zestaw innego sprzedawcy → 403.

Zgodność: zgodna z Allegro REST API, z rozszerzeniami allee (pola allee.*, alleeId) — GET /sale/offer-variants/{setId}.
Uprawnienie: zakres allegro:api:sale:offers:read.
Grupa limitu: read.

Parametry ścieżki

setId string · uuid wymagany

Identyfikator zestawu (UUID — w PUT nadaje go integrator, zalecany v4).

Odpowiedzi

200 Zestaw. · OfferVariantSet
id string · uuid zawsze

setId (UUID).

name string zawsze
parameters array<object> zawsze
Pola obiektu
id string zawsze

Id parametru Allegro albo „color/pattern”.

offers array<object> zawsze
Pola obiektu
id string zawsze
colorPattern string · null zawsze
allee object zawsze

Rozszerzenie allee.

Pola obiektu
setId integer zawsze

Numer wewnętrzny zestawu.

category object zawsze
Pola obiektu
id string · null zawsze

Kategoria Allegro.

alleeId integer zawsze

Kategoria allee.

parameters array<object> zawsze
Pola obiektu
id string zawsze
alleeId integer zawsze

0 = color/pattern.

name string · null zawsze
offers array<object> zawsze
Pola obiektu
id string zawsze
values array<object> zawsze
Pola obiektu
parameterId string zawsze
name string · null zawsze
value string zawsze

Wartość wyboru oferty (np. 42).

valueId string · null zawsze

Id wartości słownika Allegro.

publication object zawsze
Pola obiektu
status PublicationStatus · null zawsze
stock object zawsze
Pola obiektu
available integer · null zawsze
sellingMode object · null zawsze
Pola obiektu
price 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
external object · null zawsze
Pola obiektu
id string zawsze
url string · uri · null zawsze

Strona oferty-wariantu na allee.pl.

createdAt string · date-time zawsze
updatedAt string · date-time zawsze

Błędy

HTTPKodZnaczenie
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
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.
503NOT_DEPLOYEDFunkcja jeszcze nie uruchomiona (np. sandbox, wsady).
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/offer-variants/2acf7981-8d96-48bb-8eb0-c6f4267e1eec" \
  -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": "2acf7981-8d96-48bb-8eb0-c6f4267e1eec",
  "name": "Podróż na Księżyc — wydania",
  "parameters": [
    {
      "id": "color/pattern"
    }
  ],
  "offers": [
    {
      "id": "900000000000021",
      "colorPattern": "DVD"
    },
    {
      "id": "900000000000023",
      "colorPattern": "Blu-ray"
    }
  ],
  "allee": {
    "setId": 1,
    "category": {
      "id": "20585",
      "alleeId": 35
    },
    "parameters": [
      {
        "id": "color/pattern",
        "alleeId": 0,
        "name": "Kolor"
      }
    ],
    "offers": [
      {
        "id": "900000000000021",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "DVD",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 8
        },
        "sellingMode": {
          "price": {
            "amount": "44.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-1"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-dvd-wydanie-kolekcjonerskie-900000000000021"
      },
      {
        "id": "900000000000023",
        "values": [
          {
            "parameterId": "color/pattern",
            "name": "Kolor",
            "value": "Blu-ray",
            "valueId": null
          }
        ],
        "publication": {
          "status": "ACTIVE"
        },
        "stock": {
          "available": 10
        },
        "sellingMode": {
          "price": {
            "amount": "49.90",
            "currency": "PLN"
          }
        },
        "external": {
          "id": "FILM-21ef85-WAR"
        },
        "url": "https://allee.pl/oferta/podroz-na-ksiezyc-blu-ray-wydanie-kolekcjonerskie-900000000000023"
      }
    ],
    "createdAt": "2026-11-10T11:10:04.000Z",
    "updatedAt": "2026-11-10T11:10:04.000Z"
  }
}

Rozłączenie zestawu wariantów

DELETE /sale/offer-variants/{setId}

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

Rozłącza zestaw: oferty zostają bez zmian (w sprzedaży, z tym samym stanem i ceną), znikają tylko z przełącznika i znów są osobnymi kartami w wynikach.

Zgodność: zgodna z Allegro REST API (ten sam kształt) — DELETE /sale/offer-variants/{setId}.
Uprawnienie: zakres allegro:api:sale:offers:write.
Grupa limitu: write.

Parametry ścieżki

setId string · uuid wymagany

Identyfikator zestawu (UUID — w PUT nadaje go integrator, zalecany v4).

Odpowiedzi

204 Rozłączono.

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.
503NOT_DEPLOYEDFunkcja jeszcze nie uruchomiona (np. sandbox, wsady).
Przykład
curl -sS -X DELETE "${ALLEE_API_URL:-https://api.allee.pl}/sale/offer-variants/2acf7981-8d96-48bb-8eb0-c6f4267e1eec" \
  -H "Authorization: Bearer $ALLEE_API_KEY" \
  -H "Accept: application/vnd.allegro.public.v1+json" \
  -w '\nHTTP %{http_code}\n'
Odpowiedź (środowisko testowe)
HTTP 204 text/html; charset=UTF-8
(0 B: text/html; charset=UTF-8)

Lista zestawów wariantów

GET /sale/offer-variants

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

Zestawy sprzedawcy od najnowszego. user.id (Allegro: wymagany) jest u nas opcjonalny — jeśli podany, musi wskazywać zalogowanego sprzedawcę (inaczej 403). query = fragment nazwy.

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

Parametry zapytania

offset integer

Ile pozycji pominąć.

limit integer

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

user.id string

Identyfikator zalogowanego sprzedawcy (opcjonalny).

query string

Fragment nazwy zestawu.

Odpowiedzi

200 Zestawy. · OfferVariantSetList
offerVariants array<OfferVariantSet> zawsze
Pola obiektu
id string · uuid zawsze

setId (UUID).

name string zawsze
parameters array<object> zawsze
Pola obiektu
id string zawsze

Id parametru Allegro albo „color/pattern”.

offers array<object> zawsze
Pola obiektu
id string zawsze
colorPattern string · null zawsze
allee object zawsze

Rozszerzenie allee.

Pola obiektu
setId integer zawsze

Numer wewnętrzny zestawu.

category object zawsze
Pola obiektu
id string · null zawsze

Kategoria Allegro.

alleeId integer zawsze

Kategoria allee.

parameters array<object> zawsze
Pola obiektu
id string zawsze
alleeId integer zawsze

0 = color/pattern.

name string · null zawsze
offers array<object> zawsze
Pola obiektu
id string zawsze
values array<object> zawsze
Pola obiektu
parameterId string zawsze
name string · null zawsze
value string zawsze

Wartość wyboru oferty (np. 42).

valueId string · null zawsze

Id wartości słownika Allegro.

publication object zawsze
Pola obiektu
status PublicationStatus · null zawsze
stock object zawsze
Pola obiektu
available integer · null zawsze
sellingMode object · null zawsze
Pola obiektu
price Money zawsze

Kwota (kształt Allegro).

external object · null zawsze
Pola obiektu
id string zawsze
url string · uri · null zawsze

Strona oferty-wariantu na allee.pl.

createdAt string · date-time zawsze
updatedAt string · date-time zawsze
count integer zawsze

Zestawów na tej stronie.

totalCount integer zawsze

Wszystkich zestawów sprzedawcy.

Błędy

HTTPKodZnaczenie
400VALIDATION_ERRORZła wartość parametru zapytania (400) albo pola treści (422); path wskazuje miejsce.
401invalid_tokenBrak, zły, wygasły albo odwołany token lub klucz (format OAuth, nagłówek WWW-Authenticate).
403ACCOUNT_INACTIVEKonto sprzedawcy jest nieaktywne.
403AccessDeniedBrak zakresu albo zasób innego sprzedawcy.
403KEY_QUARANTINEDKwarantanna: działa tylko odczyt (wykryto nietypowe użycie).
403KEY_SUSPENDEDKlucz albo dostęp aplikacji wstrzymany (przez sprzedawcę albo ochronę).
429TOO_MANY_REQUESTSPrzekroczony limit (minutowy, grupy operacji albo IP).
500INTERNAL_ERRORBłąd serwera allee.
503NOT_DEPLOYEDFunkcja jeszcze nie uruchomiona (np. sandbox, wsady).
Przykład
curl -sS -X GET "${ALLEE_API_URL:-https://api.allee.pl}/sale/offer-variants?limit=20" \
  -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
{
  "offerVariants": [
    {
      "id": "2acf7981-8d96-48bb-8eb0-c6f4267e1eec",
      "name": "Podróż na Księżyc — DVD i Blu-ray",
      "parameters": [
        {
          "id": "color/pattern"
        }
      ],
      "offers": [
        {
          "id": "900000000000023",
          "colorPattern": "Blu-ray"
        },
        {
          "id": "900000000000021",
          "colorPattern": "DVD"
        }
      ],
      "allee": {
        "setId": 1,
        "category": {
          "id": "20585",
          "alleeId": 35
        },
        "parameters": [
          {
            "id": "color/pattern",
            "alleeId": 0,
            "name": "Kolor"
          }
        ],
        "offers": [
          {
            "id": "900000000000023",
            "values": [
              {
                "parameterId": "color/pattern",
                "name": "Kolor",
                "value": "Blu-ray",
                "valueId": null
              }
            ],
            "publication": {
              "status": "ACTIVE"
            },
            "stock": {
              "available": 10
            },
            "sellingMode": {
              "price": {
                "amount": "49.90",
                "currency": "PLN"
              }
            },
            "external": {
              "id": "FILM-21ef85-WAR"
            },
            "url": "https://allee.pl/oferta/podroz-na-ksiezyc-blu-ray-wydanie-kolekcjonerskie-900000000000023"
          },
          {
            "id": "900000000000021",
            "values": [
              {
                "parameterId": "color/pattern",
                "name": "Kolor",
                "value": "DVD",
                "valueId": null
              }
            ],
            "publication": {
              "status": "ACTIVE"
            },
            "stock": {
              "available": 8
            },
            "sellingMode": {
              "price": {
                "amount": "44.90",
                "currency": "PLN"
              }
            },
            "external": {
              "id": "FILM-21ef85-1"
            },
            "url": "https://allee.pl/oferta/podroz-na-ksiezyc-dvd-wydanie-kolekcjonerskie-900000000000021"
          }
        ],
        "createdAt": "2026-11-10T11:10:04.000Z",
        "updatedAt": "2026-11-10T11:10:04.000Z"
      }
    }
  ],
  "count": 1,
  "totalCount": 1
}