Pobranie listy koszyków

Pobranie listy koszyków

Artykuł zawiera opis metody zwracającej listę powiązanych koszyków wraz z przykładem implementacji metody w języku PHP.

Opis metody

Metoda zwracająca informacje o aktywnych koszykach powiązanych z aplikacją Inpost Pay. Metoda nie wykorzystywana w procesie wiązania i obsługi koszyków/zamówień przez klienta.

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.

Parameters 

Nazwa pola 

Opis  

Typ 

Wymagalność 

Dodatkowe uwagi 

page_index

Indeks stron 

string 

 

page_size

Rozmiar strony 

string 

 

 

Request – brak 

Response 

Nazwa pola 

Opis  

Typ 

Wymagalność 

Dodatkowe uwagi 

page_size 

Rozmiar strony 

string 

"page_size":1 

total_items 

Całkowita liczba pozycji 

string 

"total_items":159 

page_index 

Indeks stron 

string 

"page_index":1 

baskets 

Obiekt zwracający listę aktywnych koszyków w Inpost Pay 

object 

 

baskets.basket_id 

Unikalny identyfikator koszyka nadawany przez merchanta 

string 

 

baskets.creation_date 

Data utworzenia/powiązania koszyka z aplikacją Inpost Pay 

string($date-time) 

"creation_date":"2023-09-14T08:55:34.777Z" 

baskets.update_date 

Data ostatniej aktualizacji koszyka 

string($date-time) 

"update_date":"2023-09-14T09:05:26.190Z" 

baskets.summary 

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

object 

 

baskets.summary.basket_base_price 

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

object 

 

baskets.summary.basket_base_price.net 

Cena netto 

number ($decimal)(10,2) 

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

baskets.summary.basket_base_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

baskets.summary.basket_base_price.vat 

VAT 

number ($decimal)(10,2) 

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

 

baskets.summary.basket_final_price.net 

Cena netto 

number ($decimal)(10,2) 

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

 

baskets.summary.basket_final_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

baskets.summary.basket_final_price.vat 

VAT 

number ($decimal)(10,2) 

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

 

baskets.summary.basket_promo_price.net 

Cena netto 

number ($decimal)(10,2) 

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

baskets.summary.basket_promo_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

baskets.summary.basket_promo_price.vat 

VAT 

number ($decimal)(10,2) 

baskets.summary.currency 

Waluta koszyka. Obecnie obsługiwana tylko waluta PLN 

string 

"currency":"PLN"

baskets.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) 

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

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

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

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

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

baskets.summary.basket_notice 

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

object 

 

baskets.summary.basket_notice.type 

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

ATTENTION – wykorzystujemy w przypadku, gdy chcemy poinformować klient 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 

"type":"ATTENTION"

baskets.summary.basket_notice.description 

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

string 

"description":"Kod został aktywowany"

baskets.delivery 

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

array 

 

baskets.delivery.delivery_type 

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

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

string 

"delivery_type":"APM" 

baskets.delivery.delivery_date 

Sugerowana data dostawy 

string($date-time) 

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

baskets.delivery.delivery_options 

Obiekt służący do przekazania dodatkowych opcji 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_DELIVERY, obligatoryjnie należy przekazać COD jako dodatkową, opcje dostawy. 

 

array

 

baskets.delivery.delivery_options.delivery_name 

Nazwa dodatkowej opcji dostawy 

string 

"delivery_name": "Paczka w Weekend"

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

"delivery_code_value": "PWW"

 

baskets.delivery.delivery_options.delivery_option_price 

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

object 

 

baskets.delivery.delivery_options.delivery_option_price.net 

Cena netto 

number ($decimal)(10,2) 

 

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

baskets.delivery.delivery_options.delivery_option_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

 

 

baskets.delivery.delivery_options.delivery_option_price.vat 

VAT 

number ($decimal)(10,2) 

 

 

baskets.delivery.delivery_price 

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

object 

 

baskets.delivery.delivery_price.net 

Cena netto 

number ($decimal)(10,2) 

 

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

baskets.delivery.delivery_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

 

 

baskets.delivery.delivery_price.vat 

VAT 

number ($decimal)(10,2) 

 

 

baskets.delivery.free_delivery_minimum_gross_price 

Minimalna wartość koszyka od jakiej koszt dostawy będzie wynosił 0 PLN 

number ($decimal)(10,2) 

 

"free_delivery_minimum_gross_price": "100.00"

baskets.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"
}
]
}
],

baskets.delivery.estimate_delivery_time.description

Treść komunikatu prezentowana klientowi aplikacji

string

Y

baskets.delivery.estimate_delivery_time.days_available

Dni tygodnia w jakich ma być prezentowany komunikat

array

O

baskets.delivery.estimate_delivery_time.start_hour

Godzina od której ma być prezentowany komunikat

string

O

baskets.delivery.estimate_delivery_time.end_hour

Godzina do której ma być prezentowany komunikat

string

O

baskets.promo_codes 

Lista kodów promocyjnych zastosowanych na koszyku 

array 

 

baskets.promo_codes.name 

Nazwa kodu (w kolejnej wersji aplikacji pole nie wymagalne) 

string 

"name": "Promocja 5%" 

 

baskets.promo_codes.promo_code_value 

Kod promocyjny 

string 

"promo_code_value": "INPOST10"

baskets.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"

baskets.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/ "

      }

    }

  ],

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

baskets.promotions_available.promo_code_value

Wartość kodu np. DOSTAWA

string 

Y

baskets.promotions_available.description

Opis kodu

Max: 60 znaków

string 

Y

baskets.promotions_available.start_date

Data początkowa obowiązywania kodu promocyjnego

string($date-time)

O

baskets.promotions_available.end_date

Data końcowa obowiązywania kodu promocyjnego

string($date-time)

O

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

baskets.promotions_available.details

Szczegóły kodu promocyjnego

object

Y

baskets.promotions_available.details.link

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

string 

Y

baskets.products 

Lista do przekazania informacji o produktach w koszyku 

array 

 

baskets.products.product_id 

Identyfikator produktu nadany przez merchanta 

string 

"product_id":26

baskets.products.product_category 

Kategoria produktu nadana przez merchanta 

string 

"product_category":20

baskets.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"

baskets.products.ean 

Ean 

string 

"ean":"0"

baskets.products.product_name 

Nazwa produktu  

string 

"product_name":"Plecak washpapa"

baskets.products.product_description 

Opis produktu 

string 

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

baskets.products.product_link 

Link do produktu na stronie merchanta 

string 

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

baskets.products.product_image 

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

 

string 

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

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

-

baskets.products.additional_product_images. small_size

Zdjęcie produktu. Preferowany rozmiar 360 x 352

string

Y

-

baskets.products.additional_product_images. normal_size

Zdjęcie produktu. Preferowany rozmiar 360 x 504

string

Y

-

baskets.products.base_price 

Cena podstawowa z produkt 

object 

 

baskets.products.base_price.net 

Cena netto 

number ($decimal)(10,2) 

 

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

baskets.products.base_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

 

baskets.products.base_price.vat 

VAT 

number ($decimal)(10,2) 

 

baskets.products.promo_price 

Cena promocyjna produktu 

object 

 

baskets.products.promo_price.net 

Cena netto 

number ($decimal)(10,2) 

 

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

baskets.products.promo_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2) 

 

baskets.products.promo_price.vat 

VAT 

number ($decimal)(10,2) 

 

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

 

baskets.products.lowest_price.net 

Cena netto 

number ($decimal)(10,2) 

 

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

baskets.products.lowest_price.gross 

Cena brutto (netto + VAT) 

number ($decimal)(10,2)