Rabaty i promocje
Dowiedz się, jak zarządzać dostępnymi rabatami i promocjami przez API Allegro.
Rabat na duże zamówienie
Rabat na duże zamówienie dla transakcji B2B (firma - firma) to rabat procentowy, którego wysokość zależy od wartości pojedynczego zamówienia. Rabatem zostaną objęte wszystkie twoje oferty.
Dodaj rabat
Aby utworzyć rabat na duże zamówienie, skorzystaj z POST /sale/loyalty/promotions i określ progi wartościowe pojedynczego zamówienia oraz przypadający dla nich rabat procentowy. Możesz utworzyć tylko jeden rabat na duże zamówienie.
Przykładowy request:
curl -X POST \
‘https://api.allegro.pl/sale/loyalty/promotions' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"benefits": [
{
"specification": {
"type": "LARGE_ORDER_DISCOUNT", // typ promocji (lista dostępnych wartości znajduje się w dokumentacji zasobu)
"thresholds": [ // progi rabatowe
{
"orderValue": {
"lowerBound": {
"amount": "1000.00", // wartość zamówienia
"currency": "PLN"
}
},
"discount": {
"percentage": "5" // wysokość rabatu (%)
}
},
{
"orderValue": {
"lowerBound": {
"amount": "1500.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "8"
}
}
]
}
}
],
"offerCriteria": [
{
"type": "ALL_OFFERS" // rabatem zostaną objęte wszystkie oferty
}
]
}'
W odpowiedzi otrzymasz identyfikator utworzonego rabatu.
Przykładowy response:
{
"id": "ba01f101-c9ef-4e5d-a88f-efb721bdbb9a", // identyfikator rabatu
"createdAt": "2020-10-27T06:31:29.36Z", // data utworzenia
"benefits": [
{
"specification": {
"thresholds": [
{
"orderValue": {
"lowerBound": {
"amount": "1000.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "5"
}
},
{
"orderValue": {
"lowerBound": {
"amount": "1500.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "8"
}
}
],
"type": "LARGE_ORDER_DISCOUNT"
}
}
],
"offerCriteria": [
{
"type": "ALL_OFFERS"
}
]
"status": "ACTIVE"
}
Pobierz dostępne rabaty
GET /sale/loyalty/promotions zwraca listę wszystkich utworzonych na twoim koncie promocji. Aby otrzymać wyłącznie identyfikator rabatu na duże zamówienie, skorzystaj z filtra "promotionType=LARGE_DISCOUNT_ORDER".
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions?promotionType=LARGE_DISCOUNT_ORDER' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"promotions": [
{
"id": "ba01f101-c9ef-4e5d-a88f-efb721bdbb9a", // identyfikator rabatu
"createdAt": "2020-10-27T06:31:29.36Z", // data utworzenia
"benefits": [
{
"specification": {
"thresholds": [
{
"orderValue": {
"lowerBound": {
"amount": "1000.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "5"
}
},
{
"orderValue": {
"lowerBound": {
"amount": "1500.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "8"
}
}
],
"type": "LARGE_ORDER_DISCOUNT"
}
}
],
"offerCriteria": [
{
"type": "ALL_OFFERS"
}
],
"status": "ACTIVE"
}
],
"totalCount": 1
}
Pobierz informacje o rabacie
Jeżeli chcesz pobrać szczegółowe informacje o rabacie na duże zamówienie, użyj GET /sale/loyalty/promotions/{promotionId}.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions/ba01f101-c9ef-4e5d-a88f-efb721bdbb9a' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"id": "ba01f101-c9ef-4e5d-a88f-efb721bdbb9a", // identyfikator rabatu
"createdAt": "2020-10-27T06:31:29.36Z", // data utworzenia
"benefits": [
{
"specification": {
"thresholds": [ // progi rabatowe
{
"orderValue": {
"lowerBound": {
"amount": "1000.00", // wartość zamówienia
"currency": "PLN"
}
},
"discount": {
"percentage": "5" // wysokość rabatu (%)
}
},
{
"orderValue": {
"lowerBound": {
"amount": "1500.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "8"
}
}
],
"type": "LARGE_ORDER_DISCOUNT",
}
}
],
"offerCriteria": [
{
"type": "ALL_OFFERS" // rabatem objęte są wszystkie twoje oferty
}
],
"status": "ACTIVE"
}
Edytuj progi rabatowe
Dla rabatu na duże zamówienie udostępniliśmy opcję edycji progów wartościowych zamówienia oraz wysokości przyznanego rabatu. Skorzystaj z PUT /sale/loyalty/promotions/{promotionId}, aby zmienić ustawienia rabatu.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/loyalty/promotions/ba01f101-c9ef-4e5d-a88f-efb721bdbb9a' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"id": "ba01f101-c9ef-4e5d-a88f-efb721bdbb9a",
"benefits": [
{
"specification": {
"type": "LARGE_ORDER_DISCOUNT",
"thresholds": [
{
"orderValue": {
"lowerBound": {
"amount": "2000.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "10"
}
},
{
"orderValue": {
"lowerBound": {
"amount": "3000.00",
"currency": "PLN"
}
},
"discount": {
"percentage": "15"
}
}
]
}
}
],
"offerCriteria": [
{
"type": "ALL_OFFERS"
}
]
}'
Usuń rabat
Aby usunąć rabat na duże zamówienie, skorzystaj z DELETE /sale/loyalty/promotions/{promotionId}. Operacja ta usunie rabat ze wszystkich twoich ofert - jej czas wykonania zależy od liczby ofert, które posiadasz.
Przykładowy request:
curl -X DELETE \
‘https://api.allegro.pl/sale/loyalty/promotions/ba01f101-c9ef-4e5d-a88f-efb721bdbb9a' \
-H ‘Accept: application/vnd.allegro.public.v1+json’ \
-H ‘Authorization: Bearer {token}’
Przykładowy response:
status 204 No Content
Cenniki hurtowe
Dzięki cennikom hurtowym zaoferujesz rabat dla transakcji B2B (firma - firma). Będzie to rabat procentowy, którego wysokość zależy od liczby zakupionych przedmiotów w ofercie.
Dodaj cennik hurtowy
Aby utworzyć cennik hurtowy, skorzystaj z POST /sale/loyalty/promotions i określ progi ilościowe oraz przypadający dla nich rabat procentowy.
Przykładowy request:
curl -X POST \
'https://api.allegro.pl/sale/loyalty/promotions' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"benefits": [
{
"specification": {
"type": "WHOLESALE_PRICE_LIST", // typ promocji (lista dostępnych wartości znajduje się w dokumentacji zasobu)
"name": "Cennik hurtowy nr 1", // nazwa cennika
"thresholds": [ // progi rabatowe
{
"quantity": { // minimalna liczba zakupionych przedmiotów
"lowerBound": 5
},
"discount": { // wysokość rabatu (%)
"percentage": "5"
}
},
{
"quantity": {
"lowerBound": 10
},
"discount": {
"percentage": "8"
}
}
]
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY" // oferty przypiszesz za pomocą PUT /sale/offer-modification-commands/{commandId}
}
]
}'
W odpowiedzi otrzymasz identyfikator utworzonego cennika.
Przykładowy response:
{
"id": "9de4be5d-9c60-48aa-8711-363625c9d793", // identyfikator cennika
"createdAt": "2020-08-13T06:08:06.011Z", // data utworzenia
"benefits": [
{
"specification": {
"name": "Cennik hurtowy nr 1",
"thresholds": [
{
"quantity": {
"lowerBound": 5
},
"discount": {
"percentage": "5"
}
},
{
"quantity": {
"lowerBound": 10
},
"discount": {
"percentage": "8"
}
}
],
"type": "WHOLESALE_PRICE_LIST"
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY"
}
],
"status": "ACTIVE"
}
Przypisz oferty do cennika
Cennik hurtowy przypiszesz do wybranych ofert za pomocą zasobu do grupowych zmian w ofercie - PUT /sale/offer-modification-commands/{commandId}.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/offer-modification-commands/daccd266-fa5e-4a6b-a10b-d24836c411e1' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"modification": {
"discounts": { // typ zmiany
"wholesalePriceList": {
"id": "9de4be5d-9c60-48aa-8711-363625c9d793" // identyfikator cennika
}
}
},
"offerCriteria": [
{
"offers": [
{
"id": "9292002929" // identyfikator oferty
},
{
"id": "9876543210"
}
],
"type": "CONTAINS_OFFERS"
}
]
}'
Cennik hurtowy dodasz do pojedynczej oferty podczas wystawiania (POST /sale/product-offers) lub edycji oferty (PATCH /sale/product-offers/{offerId}) przekazując jego identyfikator w polu wholesalePriceList.id w sekcji discounts.
…
"discounts": {
"wholesalePriceList": {
"id": "5637592a-0a24-4771-b527-d89b2767d821"
}
},
…
Jeżeli chcesz usunąć powiązanie ofert z wybranym cennikiem hurtowym, to jako identyfikator cennika podaj wartość null.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/offer-modification-commands/daccd266-fa5e-4a6b-a10b-d24836c411e1' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"modification": {
"discounts": {
"wholesalePriceList": {
"id": null
}
}
},
"offerCriteria": [
{
"offers": [
{
"id": "9292002929"
},
{
"id": "9876543210"
}
],
"type": "CONTAINS_OFFERS"
}
]
}'
Pobierz dostępne cenniki
GET /sale/loyalty/promotions zwraca listę wszystkich utworzonych na twoim koncie promocji. Aby otrzymać wyłącznie listę cenników hurtowych, skorzystaj z filtra "promotionType=WHOLESALE_PRICE_LIST".
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions?promotionType=WHOLESALE_PRICE_LIST' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"promotions": [
{
"id": "9de4be5d-9c60-48aa-8711-363625c9d793", // identyfikator cennika
"createdAt": "2020-08-13T06:08:06.011Z", // data utworzenia
"benefits": [
{
"specification": {
"name": "Cennik hurtowy nr 1", // nazwa cennika
"thresholds": [ // progi rabatowe
{
"quantity": { // minimalna ilość zakupionych przedmiotów
"lowerBound": 5
},
"discount": { // wysokość rabatu (%)
"percentage": "5"
}
},
{
"quantity": {
"lowerBound": 10
},
"discount": {
"percentage": "8"
}
}
],
"type": "WHOLESALE_PRICE_LIST"
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY"
}
],
"status": "ACTIVE"
},
{
"id": "8d389509-18ac-4d66-957a-0124b26864fb",
"createdAt": "2020-08-13T06:03:32.649Z",
"benefits": [
{
"specification": {
"name": "Cennik hurtowy nr 2",
"thresholds": [
{
"quantity": {
"lowerBound": 20
},
"discount": {
"percentage": "5"
}
},
{
"quantity": {
"lowerBound": 40
},
"discount": {
"percentage": "10"
}
},
{
"quantity": {
"lowerBound": 60
},
"discount": {
"percentage": "15"
}
}
],
"type": "WHOLESALE_PRICE_LIST"
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY"
}
],
"status": "ACTIVE"
}
],
"totalCount": 2
}
Pobierz informacje o cenniku
Jeżeli chcesz pobrać szczegółowe informacje o wybranym cenniku, użyj GET /sale/loyalty/promotions/{promotionId}.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions/9de4be5d-9c60-48aa-8711-363625c9d793' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"id": "9de4be5d-9c60-48aa-8711-363625c9d793", // identyfikator cennika
"createdAt": "2020-08-13T06:08:06.011Z", // data utworzenia
"benefits": [
{
"specification": {
"name": "Cennik hurtowy nr 1", // nazwa cennika
"thresholds": [ // progi rabatowe
{
"quantity": { // minimalna liczba zakupionych przedmiotów
"lowerBound": 5
},
"discount": { // wysokość rabatu (%)
"percentage": "5"
}
},
{
"quantity": {
"lowerBound": 10
},
"discount": {
"percentage": "8"
}
}
],
"type": "WHOLESALE_PRICE_LIST"
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY"
}
],
"status": "ACTIVE"
}
Edytuj cennik
Dla cenników hurtowych udostępniliśmy opcję ich edycji. Skorzystaj z PUT /sale/loyalty/promotions/{promotionId}, aby zmienić ustawienia cennika.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/loyalty/promotions/9de4be5d-9c60-48aa-8711-363625c9d793' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"id": "9de4be5d-9c60-48aa-8711-363625c9d793",
"benefits": [
{
"specification": {
"name": "Cennik hurtowy nr 1",
"thresholds": [
{
"quantity": {
"lowerBound": 10
},
"discount": {
"percentage": "10"
}
},
{
"quantity": {
"lowerBound": 20
},
"discount": {
"percentage": "20"
}
}
],
"type": "WHOLESALE_PRICE_LIST"
}
}
],
"offerCriteria": [
{
"type": "OFFERS_ASSIGNED_EXTERNALLY"
}
],
"status": "ACTIVE"
}’
Usuń cennik
Aby usunąć cennik hurtowy, skorzystaj z DELETE /sale/loyalty/promotions/{promotionId}. Operacja ta jednocześnie odepnie cennik od wszystkich powiązanych ofert.
Przykładowy request:
curl -X DELETE \
'https://api.allegro.pl/sale/loyalty/promotions/9de4be5d-9c60-48aa-8711-363625c9d793' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
status 204 No Content
Rabaty ilościowe
Dzięki rabatom ilościowym możesz zaoferować kupującym rabat na kolejną sztukę, przy zakupie określonej liczby sztuk na jednej bądź wielu ofertach. Więcej na ten temat znajdziesz tutaj.
Dodaj rabat ilościowy
Za pomocą POST /sale/loyalty/promotions dodasz nowy rabat ilościowy. Musisz być zautoryzowany jako sprzedawca, który wystawił te oferty.
Przykładowy request:
curl -X POST \
'https://api.allegro.pl/sale/loyalty/promotions' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"benefits": [{ // wymagane, określa jakie benefity otrzyma kupujący
"specification": {
"type": "UNIT_PERCENTAGE_DISCOUNT", // wymagane, typ benefitu, obecnie dostępne są dwie wartości UNIT_PERCENTAGE_DISCOUNT (określa procentowy rabat jaki otrzyma kupujący na daną sztukę produktu);
"configuration": {
"percentage": "30" // wymagane, podaj o jaki procent chcesz obniżyć wartość zestawu. Na tej podstawie wyliczymy jego cenę. Minimalna wartość rabatu to 15%, a maksymalna 100%.
},
"trigger": {
"forEachQuantity": "3", // wymagane, podaj co który przedmiot ma podlegać obniżce. Rabat ilościowy dodasz tylko na co 2, 3, 4 bądź 5 sztukę
"discountedNumber": "1" // wymagane, obecnie jest dostępna tylko jedna wartość 1
}
}
}],
"offerCriteria": [{
"type": "CONTAINS_OFFERS", // wymagane, obecnie dostępna jest jedna wartość CONTAINS_OFFERS (określa jakie oferty wchodzą w skład zestawu)
"offers": [{ // wymagane, oferty, które wchodzą w skład zestawu, bądź rabatu ilościowego
"id": "6205628150" // wymagane, identyfikator oferty. Rabatu ilościowego nie dodasz do ofert ze strefy okazji. Jeśli chcesz dodać rabat ilościowy na jednej ofercie podaj tutaj id jednej wybranej oferty. Jeśli podasz wiele id ofert ustawisz rabat ilościowy na wielu ofertach.
},
{
"id": "6205628489"
},
{
"id": "6205628082"
},
{
"id": "6205628361"
}]
}]
}'
Przykładowy response:
{
"id": "1ec57865-7e15-46f2-b70a-27ea857dd21c", // identyfikator utworzonego rabatu, użyj go w zasobach GET, DELETE jako {promotionId}
"createdAt": "2018-10-08T09:28:28.951Z",
"benefits": [
{
"specification": {
"configuration": {
"percentage": "30" // procentowy rabat jaki otrzyma kupujący na daną sztukę produktu
},
"trigger": {
"forEachQuantity": 3, // co który przedmiot ma podlegać obniżce
"discountedNumber": 1
},
"type": "UNIT_PERCENTAGE_DISCOUNT"
}
}
],
"offerCriteria": [
{
"offers": [
{
"id": "6205628150", // numer oferty, która wchodzi w skład rabatu ilościowego na wielu ofertach
"quantity": null, // pole używane dla zestawów ofert - liczba sztuk danej oferty wchodząca w skład zestawu
"promotionEntryPoint": null // pole używane dla zestawów ofert - określ, czy na stronie tej oferty mamy wyświetlać zestaw
},
{
"id": "6205628489",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628082",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628361",
"quantity": null,
"promotionEntryPoint": null
}]
"type": "CONTAINS_OFFERS"
}
],
"status": "ACTIVE",
"campaigns": null
}
Pobierz dostępne rabaty ilościowe
Za pomocą GET /sale/loyalty/promotions pobierzesz informacje o swoich promocjach. Aby wyfiltrować dostępne rabaty skorzystaj z dostępnych opcji:
- MULTIPACK - rabaty ilościowe na pojedynczej ofercie,
- CROSSMULTIPACK - rabat ilościowy na wielu ofertach.
Poniżej przykłady wywołań filtrów:
- wyszukaj informacje o rabatach ilościowych na pojedynczej ofercie: GET /sale/loyalty/promotions?promotionType=MULTIPACK;
- wyszukaj informacje o promocjach przypisanych do danej oferty: GET /sale/loyalty/promotions?offer.id={offerId}.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"promotions": [
{
"id": "1ec57865-7e15-46f2-b70a-27ea857dd21c", // identyfikator utworzonego rabatu, użyj go w zasobach GET, DELETE jako {promotionId}
"createdAt": "2018-10-08T09:28:28.951Z",
"benefits": [
{
"specification": {
"configuration": {
"percentage": "30"
},
"trigger": {
"forEachQuantity": 3,
"discountedNumber": 1
},
"type": "UNIT_PERCENTAGE_DISCOUNT"
}
}
],
"offerCriteria": [
{
"offers": [
{
"id": "6205628150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628489",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628082",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628361",
"quantity": null,
"promotionEntryPoint": null
}]
"type": "CONTAINS_OFFERS"
}
],
"status": "ACTIVE",
"campaigns": null
}
{
"id": "3329980c-e0d4-11e8-9f32-f2801f1b9fd1",
"createdAt": "2018-10-08T08:28:28.951Z",
"benefits": [
{
"specification": {
"configuration": {
"percentage": "50"
},
"trigger": {
"forEachQuantity": 3,
"discountedNumber": 1
},
"type": "UNIT_PERCENTAGE_DISCOUNT"
}
}
],
"offerCriteria": [
{
"offers": [
{
"id": "6205628154",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205627489",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205626150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628762",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628337",
"quantity": null,
"promotionEntryPoint": null
}]
"type": "CONTAINS_OFFERS"
}
],
"status": "ACTIVE",
"campaigns": null
}
],
"totalCount": 2
}
Pobierz informacje o rabacie ilościowym
Za pomocą GET /sale/loyalty/promotions/{promotionId} pobierzesz informacje o danej promocji z rabatem ilościowym, w ramach jednego {promotionId}. Musisz być zautoryzowany jako sprzedawca, który dodał tą promocję.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/loyalty/promotions/{promotionId}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
{
"id": "1ec57865-7e15-46f2-b70a-27ea857dd21c", // identyfikator utworzonego rabatu, użyj go w zasobach GET, DELETE jako {promotionId}
"createdAt": "2018-10-08T09:28:28.951Z",
"benefits": [
{
"specification": {
"configuration": {
"percentage": "30"
},
"trigger": {
"forEachQuantity": 3,
"discountedNumber": 1
},
"type": "UNIT_PERCENTAGE_DISCOUNT"
}
}
],
"offerCriteria": [
{
"offers": [
{
"id": "6205628150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628489",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628150",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628082",
"quantity": null,
"promotionEntryPoint": null
},
{
"id": "6205628361",
"quantity": null,
"promotionEntryPoint": null
}]
"type": "CONTAINS_OFFERS"
}
],
"status": "ACTIVE",
"campaigns": null
}
Usuń rabat ilościowy
Za pomocą DELETE /sale/loyalty/promotions/{promotionId} usuniesz wybrany rabat ilościowy.
Przykładowy request:
curl -X DELETE \
'https://api.allegro.pl/sale/loyalty/promotions/{promotionId}' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'
Przykładowy response:
status 204 No Content
Rabat obrotowy
Rabat obrotowy to rodzaj rabatu, który wspiera długotrwałą relację pomiędzy firmami na Allegro. Sprzedający wprowadza go na cały swój asortyment, z intencją lojalizacji swoich klientów B2B w ramach atrakcyjnej formy zakupów firmowych. Uruchomienie rabatu wiąże się z gotowością do aktywacji zniżek dla kupujących, które - gdy kupujący spełni określone warunki - będą funkcjonować przez pełen miesiąc kalendarzowy następujący po okresie kumulacji obrotu o wysokości upoważniającej do odbioru zniżki. Obecnie funkcjonalność dostępna jest wyłącznie w serwisie “allegro-business-cz”.
Utwórz lub edytuj rabat obrotowy
Za pomocą PUT /sale/turnover-discount/{marketplaceId} utworzysz lub edytujesz rabat obrotowy. Jako parametr {marketplaceId} przekaż identyfikator wybranego serwisu. Obecnie rabat obrotowy obsługujemy wyłącznie w domenie “allegro-business-cz”. Możesz ustawić maksymalnie 4 progi rabatowe.
Ważne! Rabat obrotowy utworzony w danym miesiącu jest podatny na zmiany tylko do końca tego miesiąca. Po tym czasie, rabat obrotowy staje się dostępny dla użytkowników i nie można go już modyfikować. Modyfikacja rabatu od obrotu w takim przypadku spowoduje utworzenie nowej definicji rabatu. Ta nowa definicja stanie się dostępna dla użytkowników na tej samej zasadzie, co poprzednio utworzona, z początkiem następnego miesiąca. Analogicznie, nowo utworzona definicja może być modyfikowana tylko do końca miesiąca.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/turnover-discount/allegro-business-cz' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"thresholds": [ // progi rabatowe, max 4
{
"minimumTurnover": { // minimalny obrót
"amount": "1000", // kwota
"currency": "CZK" // waluta
},
"discount": { // rabat
"percentage": "5" // wysokość rabatu w procentach
}
},
{
"minimumTurnover": {
"amount": "2500",
"currency": "CZK"
},
"discount": {
"percentage": "10"
}
},
{
"minimumTurnover": {
"amount": "5000",
"currency": "CZK"
},
"discount": {
"percentage": "20"
}
}
]
}'
Przykładowy response:
{
"marketplaceId": "allegro-business-cz", // identyfikator serwisu
"status": "ACTIVATING", // status rabatu, dostępne wartości: ACTIVATING, ACTIVE, DEACTIVATING
"definitions": [ // definicje rabatów
{
"cumulatingFromDate": "2025-02-01", // data początkowa kumulacji obrotów
"cumulatingToDate": null, // data końcowa kumulacji obrotów
"spendingFromDate": "2025-03-01", // data początkowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"spendingToDate": null, // data końcowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"createdAt": "2025-01-06T18:57:17.336Z", // data utworzenia definicji rabatu
"updatedAt": "2025-01-06T18:57:17.336Z", // data ostatniej zmiany definicji rabatu
"thresholds": [ // progi rabatowe
{
"minimumTurnover": { // minimalny obrót
"amount": "1000", // kwota
"currency": "CZK" // waluta
},
"discount": { // rabat
"percentage": "5" // wysokość rabatu w procentach
}
},
{
"minimumTurnover": {
"amount": "2500",
"currency": "CZK"
},
"discount": {
"percentage": "10"
}
},
{
"minimumTurnover": {
"amount": "5000",
"currency": "CZK"
},
"discount": {
"percentage": "20"
}
}
]
}
]
}
Pobierz listę rabatów obrotowych
Skorzystaj z GET /sale/turnover-discount, aby pobrać listę rabatów obrotowych zautoryzowanego użytkownika. Możesz skorzystać z parametru “marketplaceId” by otrzymać listę wyłącznie dla wybranego serwisu.
Ważne! Może istnieć wiele (maksymalnie 3) definicji rabatu zwróconych dla każdego rynku. Tylko jedna definicja może być kumulowana i tylko jedna definicja może być stosowana w tym samym czasie - odpowiednie okresy z różnych definicji nie będą się pokrywać.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/turnover-discount' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
Przykładowy response:
[
{
"marketplaceId": "allegro-business-cz", // identyfikator serwisu
"status": "ACTIVATING", // status rabatu, dostępne wartości: ACTIVATING, ACTIVE, DEACTIVATING
"definitions": [ // definicje rabatów
{
"cumulatingFromDate": "2025-02-01", // data początkowa kumulacji obrotów
"cumulatingToDate": null, // data końcowa kumulacji obrotów
"spendingFromDate": "2025-03-01", // data początkowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"spendingToDate": null, // data końcowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"createdAt": "2025-01-06T18:57:17.336Z", // data utworzenia definicji rabatu
"updatedAt": "2025-01-06T18:57:17.336Z", // data ostatniej zmiany definicji rabatu
"thresholds": [ // progi rabatowe
{
"minimumTurnover": { // minimalny obrót
"amount": "1000", // kwota
"currency": "CZK" // waluta
},
"discount": { // rabat
"percentage": "5" // wysokość rabatu w procentach
}
},
{
"minimumTurnover": {
"amount": "2500",
"currency": "CZK"
},
"discount": {
"percentage": "10"
}
},
{
"minimumTurnover": {
"amount": "5000",
"currency": "CZK"
},
"discount": {
"percentage": "20"
}
}
]
}
]
}
]
Deaktywuj rabat obrotowy
Za pomocą PUT /sale/turnover-discount/{marketplaceId}/deactivate deaktywujesz rabat obrotowy dla wybranego serwisu. Jako parametr “marketplaceId” musisz przekazać identyfikator danego serwisu.
Ważne! Rabat obrotowy przestanie być naliczany wraz z końcem bieżącego miesiąca. Rabat oparty na skumulowanym obrocie przestanie być stosowany z końcem następnego miesiąca. Następnie rabat zostanie całkowicie dezaktywowany. Podczas dezaktywacji rabatu, który ma status “ACTIVATING”, rabat obrotowy jest dezaktywowany natychmiast.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/turnover-discount/allegro-business-cz/deactivate' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
Przykładowy response: (jeżeli wcześniejszy status=ACTIVE)
{
"marketplaceId": "allegro-business-cz", // identyfikator serwisu
"status": "DEACTIVATING", // status rabatu, dostępne wartości: ACTIVATING, ACTIVE, DEACTIVATING
"definitions": [ // definicje rabatów
{
"cumulatingFromDate": "2024-10-01", // data początkowa kumulacji obrotów
"cumulatingToDate": "2025-01-31", // data końcowa kumulacji obrotów
"spendingFromDate": "2024-11-01", // data początkowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"spendingToDate": "2025-02-28", // data końcowa stosowania rabatu z tej definicji na podstawie skumulowanego obrotu
"createdAt": "2024-09-17T10:12:32.321Z", // data utworzenia definicji rabatu
"updatedAt": "2025-01-04T13:53:47.264Z", // data ostatniej zmiany definicji rabatu
"thresholds": [ // progi rabatowe
{
"minimumTurnover": { // minimalny obrót
"amount": "1000", // kwota
"currency": "CZK" // waluta
},
"discount": { // rabat
"percentage": "5" // wysokość rabatu w procentach
}
},
{
"minimumTurnover": {
"amount": "2500",
"currency": "CZK"
},
"discount": {
"percentage": "10"
}
},
{
"minimumTurnover": {
"amount": "5000",
"currency": "CZK"
},
"discount": {
"percentage": "20"
}
}
]
}
]
}
Przykładowy response: (jeżeli wcześniejszy status=ACTIVATING)
204 No content
Zestawy ofert
Zestawy ofert to połączenie kilku ofert, które możesz sprzedawać w obniżonej cenie. W ten sposób uatrakcyjnisz swoją ofertę i zachęcisz kupujących do większych zakupów.
Utwórz zestaw ofert
Za pomocą POST /sale/bundles utworzysz nowy zestaw ofert. Zestaw musi się składać minimalnie z 2 ofert, a maksymalnie z 9 ofert. Jeśli nie chcesz ustawiać rabatu w zestawie, to w tablicy discounts przekaż null lub pustą tablicę.
Przykładowy request:
curl -X POST \
'https://api.allegro.pl/sale/bundles' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"offers": [ // oferty w zestawie
{
"id": "7775426410", // identyfikator oferty
"requiredQuantity": 1, // wymagana liczba sztuk przedmiotu z oferty w zestawie
"entryPoint": true // czy zestaw będzie widoczny na stronie wskazanej oferty
},
{
"id": "7775426419",
"requiredQuantity": 2,
"entryPoint": false
}
],
"discounts": [ // zniżki związane z zestawem
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"amount": "100.00", // kwota rabatu
"currency": "PLN" // waluta
}
]
}'
Przykładowy response:
{
"id": "56b28455-f51e-4caf-b1f2-254a50a9dd36", // identyfikator zestawu
"offers": [ // oferty w zestawie
{
"id": "7775426410", // identyfikator oferty
"requiredQuantity": 1, // wymagana liczba sztuk przedmiotu z oferty w zestawie
"entryPoint": true // czy zestaw będzie widoczny na stronie wskazanej oferty
},
{
"id": "7775426419",
"requiredQuantity": 2,
"entryPoint": false
}
],
"publication": [ // status publikacji zestawu w serwisach
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"status": "ACTIVE" // status zestawu, dostępne wartości: ACTIVE, SUSPENDED
}
],
"discounts": [ // zniżki związane z zestawem
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"amount": "100.00", // kwota rabatu
"currency": "PLN" // waluta
}
],
"createdAt": "2024-09-27T07:56:16.137Z", // data utworzenia zestawu
"createdBy": "USER" // informacja, kto utworzył zestaw, dostępne wartości: USER, ALLEGRO
}
Pobierz listę zestawów ofert
Za pomocą GET /sale/bundles pobierzesz listę zestawów ofert zautoryzowanego użytkownika.
Aby dostosować listę do swoich potrzeb, możesz skorzystać z parametrów:
- limit - maksymalna liczba zestawów na liście, max 5000;
- offer.id - pozwala filtrować zestawy zawierające ofertę o podanym id;
- page.id - identyfikator kolejnej strony listy prezentującej zestawy ofert.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/bundles' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json'
Przykładowy response:
{
"bundles": [ // lista zestawów
{
"id": "56b28455-f51e-4caf-b1f2-254a50a9dd36", // identyfikator zestawu
"offers": [ // oferty w zestawie
{
"id": "7775426410", // identyfikator oferty
"requiredQuantity": 1, // wymagana liczba sztuk przedmiotu z oferty w zestawie
"entryPoint": true // czy zestaw będzie widoczny na stronie wskazanej oferty
},
{
"id": "7775426419",
"requiredQuantity": 2,
"entryPoint": false
}
],
"publication": [ // status publikacji zestawu w serwisach
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"status": "ACTIVE" // status zestawu, dostępne wartości: ACTIVE, SUSPENDED
}
],
"discounts": [ // zniżki związane z zestawem
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"amount": "100.00", // kwota rabatu
"currency": "PLN" // waluta
}
],
"createdAt": "2024-09-27T07:56:16.137Z", // data utworzenia zestawu
"createdBy": "USER" // informacja, kto utworzył zestaw, dostępne wartości: USER, ALLEGRO
},
{
"id": "5af902a9-3fbb-4fdb-bece-4a08c0a7556a",
"offers": [
{
"id": "7775430795",
"requiredQuantity": 1,
"entryPoint": true
},
{
"id": "7775430797",
"requiredQuantity": 2,
"entryPoint": true
}
],
"publication": [
{
"marketplace": {
"id": "allegro-pl"
},
"status": "SUSPENDED"
}
],
"discounts": [],
"createdAt": "2024-09-25T17:56:52.992Z",
"createdBy": "USER"
}
],
"nextPage": { // identyfikator kolejnej strony
"id": "MjAyNC0wOS0yNVQxNzo1Njo1Mi45OTJa"
}
}
Pobierz szczegóły wybranego zestawu
Skorzystaj z GET /sale/bundles/{bundleId}, aby pobrać szczegóły wybranego zestawu ofert.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/bundles/56b28455-f51e-4caf-b1f2-254a50a9dd36' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json'
Przykładowy response:
{
"id": "56b28455-f51e-4caf-b1f2-254a50a9dd36", // identyfikator zestawu
"offers": [ // oferty w zestawie
{
"id": "7775426410", // identyfikator oferty
"requiredQuantity": 1, // wymagana liczba sztuk przedmiotu z oferty w zestawie
"entryPoint": true // czy zestaw będzie widoczny na stronie wskazanej oferty
},
{
"id": "7775426419",
"requiredQuantity": 2,
"entryPoint": false
}
],
"publication": [ // status publikacji zestawu w serwisach
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"status": "ACTIVE" // status zestawu, dostępne wartości: ACTIVE, SUSPENDED
}
],
"discounts": [ // zniżki związane z zestawem
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"amount": "100.00", // kwota rabatu
"currency": "PLN" // waluta
}
],
"createdAt": "2024-09-27T07:56:16.137Z", // data utworzenia zestawu
"createdBy": "USER" // informacja, kto utworzył zestaw, dostępne wartości: USER, ALLEGRO
}
Usuń wybrany zestaw
Za pomocą DELETE /sale/bundles/{bundleId} usuniesz wybrany zestaw ofert.
Przykładowy request:
curl -X DELETE \
'https://api.allegro.pl/sale/bundles/56b28455-f51e-4caf-b1f2-254a50a9dd36' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json'
Przykładowy response:
status 204 No Content
Zmień rabat przypisany do wybranego zestawu
Skorzystaj z PUT /sale/bundles/{bundleId}/discount, aby zmienić rabat w wybranym zestawie ofert. Spowoduje to zastąpienie aktualnie ustawionych rabatów dla wszystkich rynków, więc niezmienione rabaty również muszą być określone w żądaniu. W przypadku, gdy rabat dla wybranego serwisu nie zostanie określony w żądaniu, zostanie on usunięty.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/bundles/56b28455-f51e-4caf-b1f2-254a50a9dd36/discount' \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-d '{
"discounts": [ /// zniżki związane z zestawem
{
"marketplace": { // identyfikator serwisu
"id": "allegro-pl"
},
"amount": "50.00", // kwota rabatu
"currency": "PLN" // waluta
}
]
}'
Przykładowy response:
{
"id": "56b28455-f51e-4caf-b1f2-254a50a9dd36",
"offers": [
{
"id": "7775426410",
"requiredQuantity": 1,
"entryPoint": true
},
{
"id": "7775426419",
"requiredQuantity": 2,
"entryPoint": false
}
],
"publication": [
{
"marketplace": {
"id": "allegro-pl"
},
"status": "ACTIVE"
}
],
"discounts": [
{
"marketplace": {
"id": "allegro-pl"
},
"amount": "50.00",
"currency": "PLN"
}
],
"createdAt": "2024-09-27T07:56:16.137Z",
"createdBy": "USER"
}
Lista zasobów
Pełną dokumentację zasobów w postaci pliku swagger.yaml znajdziesz tu.
Lista zasobów podstawowych opisanych w poradniku:
- POST /sale/loyalty/promotions - dodaj rabat na duże zamówienie, cennik hurtowy, rabat ilościowy
- GET /sale/loyalty/promotions/{promotionId} - pobierz szczegółowe informacje o rabacie na duże zamówienie, cenniku hurtowym, rabacie ilościowym
- PUT /sale/loyalty/promotions/{promotionId} - zmień ustawienia rabatu na duże zamówienie lub cennika hurtowego
- PUT /sale/offer-modification-commands/{commandId} - przypisz grupowo cennik hurtowy do ofert
- DELETE /sale/loyalty/promotions/{promotionId} - usuń rabat na duże zamówienie, cennik hurtowy, rabat ilościowy
- PUT /sale/turnover-discount/{marketplaceId} - utwórz lub edytuj rabat obrotowy
- GET /sale/turnover-discount - pobierz listę rabatów obrotowych
- PUT /sale/turnover-discount/{marketplaceId}/deactivate - deaktywuj rabat obrotowy
- POST /sale/bundles - utwórz zestaw ofert
- GET /sale/bundles/{bundleId} - pobierz szczegóły wybranego zestawu ofert
- DELETE /sale/bundles/{bundleId} - usuń wybrany zestaw ofert
- PUT /sale/bundles/{bundleId}/discount - zmień rabat dla wybranego zestawu ofert
Lista zasobów wspierających opisanych w poradniku:
- GET /sale/loyalty/promotions - pobierz listę rabatów i promocji
- GET /sale/bundles - pobierz listę zestawów ofert