01 lutego 2018
Rabaty ilościowe
Poszerzyliśmy możliwości zasobu promotions - od teraz możesz dzięki niemu zarządzać także rabatami ilościowymi. Dzięki rabatom ilościowym możesz zaoferować kupującym rabat na kolejną sztukę, przy zakupie określonej liczby sztuk. Przykładowo: jeśli klient kupi trzy pary soczewek, to czwartą otrzyma 50% taniej.
Dla rabatów ilościowych rozbudowaliśmy poniższe zasoby w REST API Allegro:
- POST /sale/loyalty/promotions - chcę dodać nowy rabat ilościowy
- GET /sale/loyalty/promotions?user.id={Seller_ID} - chcę pobrać liste promocji
- GET /sale/loyalty/promotions/{promotionId} - chcę pobrać informacje o danym rabacie ilościowym
- DELETE /sale/loyalty/promotions/{promotionId} - chcę usunąć dany rabat ilościowy
POST /sale/loyalty/promotions
To zasób, którym dodasz nowy rabat ilościowy, jako zalogowany sprzedawca.
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}" \
{
"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); [ORDER\_FIXED\_DISCOUNT](https://developer.allegro.pl/news/2017-10-18-news_promocyjne_zestawy_ofert/)
(określa kwotę, o jaką chcesz
obniżyć wartość zestawu.
Na tej podstawie wyliczymy
jego cenę.)
"configuration": {
"percentage": "70" -- wymagane, podaj o jaki procent
chcesz obniżyć wartość zestawu.
Na tej podstawie wyliczymy
jego cenę. Minimalna wartość
rabatu to 50, 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
"id": "6966354299" -- wymagane, identyfikator oferty.
Rabatu ilościowego nie dodasz
do ofert ze strefy okazji
}]
}]
}
Przykładowy response:
{
"id": "02fe997e-9973-419a-b8ea-a409222e27a5", -- identyfikator utworzonego rabatu
Ilościowego, użyj go w zasobach
GET, DELETE - jako {promotionId}
"benefits": [{
"specification": {
"type": "UNIT_PERCENTAGE_DISCOUNT",
"configuration": {
"percentage": "70"
},
"trigger": {
"forEachQuantity": "3",
"discountedNumber": "1"
}
}
}],
"offerCriteria": [{
"type": "CONTAINS_OFFERS",
"offers": [{
"id": "6966354299"
}]
}]
}
GET /sale/loyalty/promotions?user.id={Seller_ID}
Używając tego zasobu, pobierzesz informacje o swoich promocjach. Jako {Seller_ID} użyj swojego identyfikatora użytkownika. Musisz być zalogowany jako użytkownik Allegro.
Przykładowy request:
curl -X GET
'https://api.allegro.pl/sale/loyalty/promotions?user.id={userId}'
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}'\
Przykładowy response:
{
"id": "02fe997e-9973-419a-b8ea-a409222e27a5", -- identyfikator utworzonego rabatu
ilościowego, użyj go w zasobach
GET, DELETE - jako {promotionId}
"benefits": [{
"specification": {
"type": "UNIT_PERCENTAGE_DISCOUNT",
"configuration": {
"percentage": "70"
},
"trigger": {
"forEachQuantity": "3",
"discountedNumber": "1"
}
}
}],
"offerCriteria": [{
"type": "CONTAINS_OFFERS",
"offers": [{
"id": "6966354299"
}]
}]
}
GET /sale/loyalty/promotions/{promotionId}
Używając tego zasobu, pobierzesz informacje o danej promocji z rabatem ilościowym, w ramach jednego {promotionId}. Musisz być zalogowany 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 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"id": "02fe997e-9973-419a-b8ea-a409222e27a5", -- identyfikator utworzonego rabatu
ilościowego, użyj go w zasobach
GET, DELETE - jako {promotionId}
"benefits": [{
"specification": {
"type": "UNIT_PERCENTAGE_DISCOUNT",
"configuration": {
"percentage": "70"
},
"trigger": {
"forEachQuantity": "3",
"discountedNumber": "1"
}
}
}],
"offerCriteria": [{
"type": "CONTAINS_OFFERS",
"offers": [{
"id": "6966354299"
}]
}]
}
DELETE /sale/loyalty/promotions/{promotionId}
Używając tego zasobu możesz usunąć daną promocję. Aby usunąć dane, musisz być uwierzytelniony jako sprzedawca
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