08 października 2018
Rabaty ilościowe dla zakupów w wielu ofertach sprzedającego
Poszerzyliśmy możliwości zasobu promotions dla rabatów ilościowych. Od teraz możesz stworzyć promocję dla zakupów w wielu ofertach. Dzięki temu kupujący nie jest już ograniczony do jednej oferty. Przykładowo klient może zakupić przedmioty w trzech różnych ofertach i na najtańszy przedmiot otrzyma określony przez ciebie rabat procentowy.
Dla rabatów ilościowych na wielu ofertach rozbudowaliśmy poniższe zasoby w REST API Allegro:
- POST /sale/loyalty/promotions - chcę dodać nowy rabat ilościow
- 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": "30" -- 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, bądź rabatu ilościowego
"id": "6205628150" -- wymagane, identyfikator oferty.
Rabatu ilościowego nie dodasz
do ofert ze strefy okazji
},
{
"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"
},
"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
}
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:
{
"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
}
],
"totalCount": 1
}
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": "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
}
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