Mechanizm rabatów sterowanych przez InPost
1. Opis mechanizmu
Mechanizm umożliwia przekazanie przez InPost listy rabatów zastosowanych w aplikacji podczas tworzenia zamówienia, które merchant powinien uwzględnić w wartości zamówienia w swoim sklepie.
Wartość rabatu wpływająca na wartość zamówienia u merchanta jest ustalana indywidualnie z merchantem i rozliczana zgodnie z dodatkowymi dokumentami.
Opis biznesowy
InPost przyznaje rabat na zamówienie i przekazuje jego wartość merchantowi w momencie tworzenia zamówienia za pośrednictwem obiektu inpost_discounts. Merchant jest zobowiązany uwzględnić tę wartość w cenie zamówienia oraz na fakturze wystawianej klientowi. Zasady przyznawania rabatów oraz ich rozliczenie finansowe między InPost a merchantem regulują odrębne dokumenty.
1.1 Tworzenie zamówienia
Podczas tworzenia zamówienia InPost wysyła obiekt inpost_discounts do merchanta w żądaniu:
POST /v1/izi/order Obiekt jest przekazywany w ramach request body, w sekcji order_details. Po pomyślnym utworzeniu zamówienia merchant przekazuje szczegóły zamówienia z cenami order_base_price oraz order_final_price uwzględniającymi zastosowane rabaty InPost.
InPost zapisuje obiekt inpost_discounts w szczegółach zamówienia, dane są następnie dostępne w endpoincie:
GET /v1/izi/ordersUwaga
Jeżeli dla danego zamówienia nie został zastosowany rabat InPost, InPost nie wysyła obiektu inpost_discounts do merchanta. Merchant musi obsługiwać przypadek, w którym obiekt nie jest przekazywany.
2. Zmiany w endpointach Merchant Backend
2.1 POST /v1/izi/order - tworzenie zamówienia
W request body do order_details dodano obiekt inpost_discounts.
Struktura obiektu inpost_discounts
"inpost_discounts": [
{
"type": "string",
"discount": 0
}
]Opis pól obiektu inpost_discount
Nazwa pola | Typ | Wymagane | Opis |
inpost_discounts | array | Nie | Obiekt zawierający listę rabatów InPost zastosowanych do zamówienia. Merchant jest zobowiązany do uwzględnienia przekazanych rabatów w końcowej wartości zamówienia. |
inpost_discounts.type | string | Tak | Typ rabatu. |
inpost_discounts.discount | number (decimal) | Tak | Wartość rabatu zastosowanego do zamówienia. |
W response body zaktualizowano opisy pól cen zamówienia order_base_price oraz order_final_price tak, aby odzwierciedlały uwzględnienie rabatów InPost:
Nazwa pola | Opis (zaktualizowany) |
order_base_price | Cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, bez kosztów dostawy. |
order_final_price | Łączna cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, wraz z kosztami dostawy. |
2.2 GET /v1/izi/order/{order_id} - szczegóły zamówienia
2.2.1 Zaktualizowane opisy pól cen zamówienia
Pola order_base_price oraz order_final_price zostały zaktualizowane, aby odzwierciedlały uwzględnienie rabatów InPost:
Nazwa pola | Opis (zaktualizowany) |
order_base_price | Cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, bez kosztów dostawy. |
order_final_price | Łączna cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, wraz z kosztami dostawy. |
3. Zmiany w endpointach InPost Pay (Basket App)
3.1 GET /v1/izi/orders - lista zamówień
Do sekcji response.orders.order_details dodano obiekt inpost_discounts o identycznej strukturze jak opisana w sekcji 2.1.
Struktura obiektu inpost_discounts
"inpost_discounts": [
{
"type": "string",
"discount": 0
}
]
Opis pól obiektu inpost_discount
Nazwa pola | Typ | Wymagane | Opis |
inpost_discounts | array | Nie | Obiekt zawierający listę rabatów InPost zastosowanych do zamówienia. Merchant jest zobowiązany do uwzględnienia przekazanych rabatów w końcowej wartości zamówienia. |
inpost_discounts.type | string | Tak | Typ rabatu. |
inpost_discounts.discount | number (decimal) | Tak | Wartość rabatu zastosowanego do zamówienia. |
3.1.1 Zaktualizowane opisy pól cen zamówienia
Analogicznie jak w Merchant Backend, pola order_base_price i order_final_price zostały zaktualizowane:
Nazwa pola | Opis (zaktualizowany) |
order_base_price | Cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, bez kosztów dostawy. |
order_final_price | Łączna cena zamówienia uwzględniająca rabaty i kupony merchanta oraz rabaty InPost, wraz z kosztami dostawy. |