Mechanizm rabatów sterowanych przez InPost

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/orders

Uwaga
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.