Potwierdzenie powiązania koszyka

Potwierdzenie powiązania koszyka

Metoda przekazuje informacje, czy koszyk został powiązany. W przypadku udanego potwierdzenia powiązania koszyka przez użytkownika w aplikacji InPost Pay, Merchant w celu dokończenia procesu w response musi przekazać szczegóły koszyka.

W przypadku, braku przekazania szczegółów koszyka lub błędnych danych w response, koszyk nie zostanie powiązany.

W danej metodzie wymagamy implementacji wszystkich pól wymienionych w tabeli, ponieważ składają się na całość usługi InPost Pay. Część poniższych pól w kolumnie 'Wymagalność' jest oznaczona jako 'O' tj. opcjonalna ze względu na to, że nie wszystkie produkty/koszyki w sklepach internetowych mają przypisane wszystkie parametry, więc koszyk może zostać utworzony, a zamówienie złożone bez nich. Jednak implementacja/wdrożenie wszystkich pól jest biznesowo WYMAGANE.

POST /v1/izi/basket/{basket_id}/confirmation

Parameters

Nazwa pola

Opis

Typ

Wymagalność

Dodatkowe uwagi

basket_id

Unikalny identyfikator koszyka nadawany przez Merchanta

string

Y

 

 

Request

Nazwa pola

Opis

Typ

Wymagalność

Dodatkowe uwagi

status

Status autoryzacji wiązania koszyka przez użytkownika wiązania w aplikacji Enum:[ SUCCESS, REJECT ]

SUCCESS - wiązanie zakończona sukcesem

REJECT - wiązanie odrzucone przez klienta

string

O

 

inpost_basket_id

Identyfikator koszyka nadawany przez aplikacje InPost Pay. Wartość nie wykorzystywana przez Merchanta. Identyfikator docelowo wykorzystywany przez widget w celu umożliwienia prawidłowego przekierowania z poziomu widget do aplikacji InPost Pay

 

string

O

 "inpost_basket_id": " 866e5bf6-4e8a-443e-98f5-f9b0c5c149dd"

phone_number

Informacje o numerze użytkownika, z którym będzie powiązany koszyk

object

O

 

country_prefix

Prefix

string

Y

"phone_number":{"country_prefix":"+48","phone":"600000000"}

phone

Numer telefonu

string

Y

browser

Informacje o przeglądarce

object

O

 

browser_trusted

Flaga informująca czy przeglądarka została do zaufanych

boolean

Y

"browser":{"browser_trusted":true,"browser_id":"fbfac472-3bcc-4c2c-bd41-968032233e03"}

browser_id

Id przeglądarki zaufanej nadany przez InPost Pay. Zwracany w przypadku, gdy browser_trusted=true

string

O

masked_phone_number

Zamaskowany numer telefonu

string

O

"masked_phone_number":"60*****00"

name

Imię użytkownika aplikacji InPost Pay

string

O

"name":"Piotr"

surname

Nazwisko użytkownika aplikacji InPost Pay

string

O

"surname":"Nowak"

 

Response

Nazwa pola

Opis

Typ

Wymagalność

Dodatkowe uwagi

summary

Obiekt służący do przekazania podstawowych danych o koszyku

object

Y

 

summary.basket_base_price

Obiekt służący do przekazania ceny podstawowej za koszyk bez kosztów dostawy

object

Y

 

summary.basket_base_price.net

Cena netto

number ($decimal)(10,2)

Y

"summary":{"basket_base_price":{"net":"250.00","gross":"307.50","vat":"57.5

summary.basket_base_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

summary.basket_base_price.vat

VAT

number ($decimal)(10,2)

Y

summary.basket_final_price

Obiekt służący do przekazania ostatecznej ceny koszyka z uwzględnioną promocją i kodem rabatowym na koszyku bez kosztów dostawy.
Wartość obniżki na koszyku  wynikająca z zastosowania kodu (kodu promocyjnego, który nie reguluje dyrektywa OMNIBUS), widoczna w podsumowaniu koszyka będzie różnicą pomiędzy promo_price a final_price lub base_price a final_price w przypadku gdy koszyk  nie jest w promocji.

object

O

 

summary.basket_final_price.net

Cena netto

number ($decimal)(10,2)

Y

"basket_final_price":{"net":"220.00","gross":"270.60","vat":"50.60"}

summary.basket_final_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

summary.basket_final_price.vat

VAT

number ($decimal)(10,2)

Y

summary.basket_promo_price

Obiekt służący do przekazania ceny koszyka z uwzględnioną promocją na koszyku, ale bez zastosowania kodu rabatowego i bez kosztów dostawy.

object

O

 

summary.basket_promo_price.net

Cena netto

number ($decimal)(10,2)

Y

"basket_promo_price":{"net":"220.00","gross":"270.60","vat":"50.60"}

summary.basket_promo_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

summary.basket_promo_price.vat

VAT

number ($decimal)(10,2)

 

Y

summary.currency

Waluta koszyka. Obecnie obsługiwana tylko waluta PLN

string

Y

"currency":"PLN"

summary.basket_expiration_date

Data wygaśnięcia/ważności koszyka. Jest to data, po której koszyk zostanie automatycznie usunięty z aplikacji InPost Pay (straci ważność). Data nie może być przeszła.

string($date-time)

O

"basket_expiration_date":"2023-09-13T07:40:53.000Z"

summary.basket_additional_information

Pole służy do przekazania dodatkowych informacji o koszyku, które z punktu widzenia Merchanta mogą być istotne dla klienta

string

O

"basket_additional_information":"Zamów już dziś, a otrzymasz kod promocyjny na przyszłe zakupy"

summary.payment_type

Preferowane formy płatności dla koszyka. Merchant przekazuje listę preferowanych form płatności dla koszyka, z których następnie klient ma możliwość wybrania form płatności. W przypadku przekazania pustej listy, klientowi zostanie zaprezentowana domyślna lista płatności zgodnie z konfiguracją merchanta w bramce płatniczej oraz CASH_ON_DELIVERY, gdy dla danej formy dostawy w "delivery" został przekazany "delivery_code_value" ="COD".

Lista z możliwymi typami płatności: [ CARD, CARD_TOKEN, GOOGLE_PAY, APPLE_PAY, BLIK_CODE, BLIK_TOKEN, PAY_BY_LINK, SHOPPING_LIMIT, DEFERRED_PAYMENT, CASH_ON_DELIVERY]

array

Y

 "payment_type":["CARD","CARD_TOKEN","APPLE_PAY","BLIK_CODE","BLIK_TOKEN","PAY_BY_LINK","SHOPPING_LIMIT","DEFERRED_PAYMENT","GOOGLE_PAY"],

summary.basket_notice

Obiekt z informacją dodatkową o koszyku, o której Merchant chce poinformować klienta w aplikacji InPost Pay

object

O

 

summary.basket_notice.type

Typ informacji. Wyróżniamy dwa typy informacji, na podstawie której, aplikacja zaprezentuje odpowiedni format komunikatu Enum: [ ATTENTION, ERROR]

ATTENTION - Wykorzystujemy w przypadku, gdy chcemy poinformować klienta o istotnych informacjach na koszyku, np. zastosowanie kodu promocyjnego, dodanie produktu gratis etc.

ERROR - Wykorzystujemy w przypadku, gdy nie udało się wykonać jakiegoś działania na koszyku np. niepoprawny kod promocyjny lub nie udana próba dodania produktu sugerowanego.

string

Y

"type":"ATTENTION"

summary.basket_notice.description

Treść komunikatu prezentowana klientowi w aplikacji InPost Pay dla danego notice.type

string

Y

"description":"Kod został aktywowany"

delivery

Obiekt służący do przekazania informacji o preferowanych formach dostawy dla danego koszyka

array

Y

 

delivery.delivery_type

Forma dostawy. Enum:[ APM, COURIER, DIGITAL ].  

APM – paczkomat, COURIER – kurier Inpost 
DIGITAL – dostawa cyfrowa

string

Y

"delivery_type":"APM"

delivery.delivery_date

Sugerowana data dostawy

string($date-time)

Y

"delivery_date":"2023-09-14T12:00:00.000Z"

delivery.delivery_options

Obiekt służący do przekazania informacji o dodatkowych opcjach dostawy. Obecnie dostępne dwie dodatkowe opcje dostawy:

PWW - paczka w weekend

COD - płatność przy odbierze.

W przypadku, gdy dla danego koszyka w payment_type zostanie przekazana wartość CASH_ON_DELIVER, obligatoryjnie należy przekazać COD jako dodatkową opcję dostawy

array

O

 

delivery.delivery_options.delivery_name

Nazwa dodatkowej opcji dostawy

string

Y

"delivery_name": "Paczka w Weekend"

delivery.delivery_options.delivery_code_value

Kod dodatkowej opcji dostawy. Obecnie dostępne dwa kody:

PWW - paczka w weekend

COD - płatność przy odbierze

string

Y

 "delivery_code_value": "PWW"

 

delivery.delivery_options.delivery_option_price

Obiekt służący do przekazania informacji o koszcie dodatkowe opcji dostawy

object

Y

 

delivery.delivery_options.delivery_option_price.net

Cena netto

number ($decimal)(10,2)

Y

"delivery_option_price ":{"net":"10.00","gross":"12.30","vat":"2.30"}

delivery.delivery_options.delivery_option_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

delivery.delivery_options.delivery_option_price.vat

VAT

number ($decimal)(10,2)

Y

delivery.delivery_price

Obiekt służący do przekazania informacji o koszcie dostawy

object

Y

 

delivery.delivery_price.net

Cena netto

number ($decimal)(10,2)

Y

"delivery_price":{"net":"10.00","gross":"12.30","vat":"2.30"}

delivery.delivery_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

delivery.delivery_price.vat

VAT

number ($decimal)(10,2)

Y

delivery.free_delivery_minimum_gross_price

Minimalna kwota koszyka od jakiej koszt dostawy będzie wynosił 0 PLN

number ($decimal)(10,2)

O

"free_delivery_minimum_gross_price": "100.00"

delivery.estimate_delivery_time

Funkcjonalność wykorzystująca obiekt dostępna w kolejnych wersjach aplikacji

Obiekt służący do przekazania informacji o szacowanym czasie dostawy w przypadku zamówienia towarów przez klienta w określonym czasie.

array

O

"estimate_delivery_time": [
{
"description": "Kup do 15:00 - dostawa jutro",
"days_available": [
"MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY"
],
"start_hour": "10:00",
"end_hour": "15:00"
}
]
}
],

delivery.estimate_delivery_time.description

Treść komunikatu prezentowana klientowi aplikacji

string

Y

delivery.estimate_delivery_time.days_available

Dni tygodnia w jakich ma być prezentowany komunikat

array

O

delivery.estimate_delivery_time.start_hour

Godzina od której ma być prezentowany komunikat

string

O

delivery.estimate_delivery_time.end_hour

Godzina do której ma być prezentowany komunikat

string

O

promo_codes

Lista kodów promocyjnych zastosowanych na koszyku

array

O

 

promo_codes.name

Nazwa kodu. W kolejnej wersji aplikacji pole nie wymagalne

string

Y

 "name": "Promocja 5%"

promo_codes.regulation_type

Typ regulacji lub restrykcji, której kod promocyjny podlega.

UWAGA: W przypadku gdy, kod promocyjny jest kodem w myśl dyrektywy OMNIBUS to należy przekazać wartość „OMNIBUS”.

string

O

"regulation_type": "OMNIBUS"

promo_codes.promo_code_value

Kod promocyjny

string

Y

"promo_code_value": "INPOST10"

promotions_available

Lista dostępnych kodów promocyjnych, które klient może wykorzystać w koszyku.

array

O

  "promotions_available": [

    {

      "type": "MERCHANT",

      "promo_code_value": "IZI",

      "description": "Super promocja -- 20 PLN ",

      "start_date": "2024-10-03T07:33:13.942Z",

      "end_date": "2024-11-03T07:33:13.942Z",

      "priority": 0,

      "details": {

        "link": " https://inpostpay.pl/ "

      }

    }

  ],

promotions_available.type

Typ kodu:
Enum:[ MERCHANT, ONLY_IN_APP ]
 
MERCHANT -  kod dostępny w sklepie merchanta i InPost Pay (KOD SKLEPU)

ONLY_IN_APP - kod dostępny tylko w aplikacji InPost Pay (TYLKO W APCE).

string 

Y

promotions_available.promo_code_value

Wartość kodu np. DOSTAWA

string 

Y

promotions_available.description

Opis kodu

Max: 60 znaków

string 

Y

promotions_available.start_date

Data początkowa obowiązywania kodu promocyjnego

string($date-time)

O

promotions_available.end_date

Data końcowa obowiązywania kodu promocyjnego

string($date-time)

O

promotions_available.priority

Priorytet kodu
Priorytet służy do określenia kolejności prezentacji kodów w szczegółach koszyka (najwyższy priorytet ma najniższa wartość).

integer

O

promotions_available.details

Szczegóły kodu promocyjnego

object

Y

promotions_available.details.link

Link do szczegółów informacji o kodzie promocyjnym w sklepie merchanta. 

string 

Y

products

Lista do przekazania informacji o produktach w koszyku

array

Y

 

products.product_id

Identyfikator produktu nadany przez Merchanta

string

Y

"product_id":26

products.product_category

Kategoria produktu nadana przez Merchanta

string

O

"product_category":20

products.product_type

Pole nieobligatoryjne określające typ produktu. Przyjmuje wartość:

  • PRODUCT - produkt fizyczny

  • DIGITAL  - produkt cyfrowy.

Jeśli wartość jest null, to aplikacja domyślenie przyjmuje, że produkt jest fizyczny.

string

O

"product_type":"DIGITAL"

products.ean

Ean

string

O

"ean":"0"

products.product_name

Nazwa produktu

string

Y

"product_name":"Plecak washpapa"

products.product_description

Opis produktu

string

O

"product_description":" \r\n\r\nCzasem masz ochotę rzucić wszystko, spakować się i wyjechać w Bieszczady? Jest to dobry plan na wakacje. A w ciągu roku po prostu odkrywaj swoje miasto na nowo.\r\n\r\nUdana eksploracja nie obędzie się bez solidnego plecaka ze zwijanym zamknięciem i uszytego z wysokiej jakości materiałów, takiego jak nasz.\r\n\r\nBawełniane pasy zapewnią wygodę noszenia, a washpapa wyrazi Twoje przywiązanie do natury. Pamiętaj! Za każdą przygodą stoi dobry plecak."

products.product_link

Link do produktu na stronie Merchanta

string

O

"product_link":"https://test.outofthebox.pl/product/plecak-washpapa/"

products.product_image

Link do zdjęcia produktu. Preferowane formaty: png, jpg (rekomendacja: png bez tła) 

string

O

"product_image":"https://test.outofthebox.pl/img/2022/10/INPOST_aranzacje-z-modelami25-1.jpg"

Preferowane format: png, jpg (rekomendacja: png bez tła)

products.additional_product_images

Obiekt do przekazania dodatkowych zdjęć produktu (lista). Maksymalna ilość zdjęć to 10 (10 obiektów { "normal_size": "string", "small_size": "string" } )

object

O

-

products.additional_product_images.small_size

Zdjęcie produktu. Preferowany rozmiar 360 x 352

string

Y

-

products.additional_product_images.normal_size

Zdjęcie produktu. Preferowany rozmiar 360 x 504

string

Y

-

products.base_price

Cena podstawowa z produkt

object

Y

 

products.base_price.net

Cena netto

number ($decimal)(10,2)

Y

"base_price":{"net":"161.79","gross":"199.00","vat":"37.21"}

products.base_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

products.base_price.vat

VAT

number ($decimal)(10,2)

Y

products.promo_price

Cena promocyjna produktu

object

O

 

products.promo_price.net

Cena netto

number ($decimal)(10,2)

Y

"promo_price":{"net":"160.98","gross":"198.00","vat":"37.02"}

products.promo_price.gross

Cena brutto (netto + VAT)

number ($decimal)(10,2)

Y

products.promo_price.vat

VAT

number ($decimal)(10,2)

Y

products.lowest_price

Obiekt służący do przekazania najniższej ceny produktu z ostatnich 30 dni. Wymagane w celu obsłużenia dyrektywy Omibus. Obiekt należy przekazać obligatoryjnie w przypadku, gdy została przekazania cena promocyjna produktu (obiekt promo_price) oraz został przekazany kod promocyjny z "regulation_type": "OMNIBUS".

object

O

 

products.lowest_price.net