Aktualizacja lub dodanie koszyka
Artykuł zawiera opis metody wykorzystywanej do aktualizacji koszyka wraz z przykładem implementacji metody w języku PHP.
Na tej stronie:
Opis metody
Metoda służąca do aktualizacji koszyka w aplikacji InPost Pay. W przypadku, gdy klient korzysta z przeglądarki zaufanej oraz posiada koszyk niepowiązany z aplikacją InPost Pay metoda wykorzystywana również do utworzenia i powiązania koszyka z InPost Pay.
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 |
---|---|---|---|---|
| Unikalny identyfikator koszyka nadawany przez merchanta | string | Y |
|
Request
Nazwa pola | Opis | Typ | Wymagalność | Dodatkowe uwagi |
| Unikalny identyfikator przeglądarki zaufanej nadawany przez aplikacje InPost. Pole wykorzystywane tylko w przypadku, gdy klient korzysta z przeglądarki zaufanej i nie ma powiązanego koszyka. W takiej sytuacji po wybraniu „Kup z InPost Pay” powinna być wywołana metoda PUT z parametrem browser_id. | string | O |
|
| Obiekt służący do przekazania podstawowych danych o koszyku | object | Y |
|
| Obiekt służący do przekazania ceny podstawowej za koszyk bez kosztów dostawy | object | Y |
|
| Cena netto | Number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2)
| Y | |
| VAT | Number ($decimal)(10,2)
| Y | |
| Obiekt służący do przekazania ostatecznej ceny koszyka z uwzględnioną promocją i kodem rabatowym na koszyku bez kosztów dostawy. | object | O |
|
| Cena netto | Number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2)
| Y | |
| VAT | Number ($decimal)(10,2)
| Y | |
| 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 |
|
| Cena netto | Number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2)
| Y | |
| VAT | Number ($decimal)(10,2)
| Y | |
| Waluta koszyka. Obecnie obsługiwana tylko waluta PLN | string | Y |
|
| 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 |
|
| Pole służy do przekazania dodatkowych informacji o koszyku, które z punktu widzenia merchanta mogą być istotne dla klienta | string | O |
|
| Preferowane formy płatności za koszyk. 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 | array | Y |
|
| Obiekt służący do przekazania informacji o preferowanych formach dostawy dla danego koszyka | array | Y |
|
| Forma dostawy. Enum:[ APM, COURIER ]. APM – paczkomat, COURIER – kurier Inpost | string | Y |
|
| Sugerowana data dostawy | string($date-time) | Y |
|
| Obiekt służący do przekazania dodatkowych opis dostawy. Obecnie dostępne dwie dodatkowe opcje dostawy: PWW – paczka w weekend COD – płatność przy odbierze. W przypadku, gdy dla danego koszyk w payment_type zostanie przekazana wartość CASH_ON_DELIVERY, obligatoryjnie należy przekazać COD jako dodatkową opcje dostawy
| array | O |
|
| Nazwa dodatkowej opcji dostawy | string | Y |
|
| Kod dodatkowej opcji dostawy. Obecnie dostępne dwa kody: PWW – paczka w weekend COD – płatność przy odbierze
| string | Y |
|
| Obiekt służący do przekazania informacji o koszcie dodatkowych opcji dostawy | object | Y |
|
| Cena netto | Number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2)
| Y | |
| VAT | Number ($decimal)(10,2)
| Y | |
| Obiekt służący do przekazania informacji o koszcie dostawy | object | Y |
|
| Cena netto | Number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2)
| Y | |
| VAT | Number ($decimal)(10,2)
| Y | |
| Minimalna wartość koszyka od jakiej koszt dostawy będzie wynosił 0 PLN | Number ($decimal)(10,2)
| O |
|
| 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 |
|
| Treść komunikatu prezentowana klientowi aplikacji | string | Y | |
| Dni tygodnia w jakich ma być prezentowany komunikat | array | O | |
| Godzina od której ma być prezentowany komunikat | string | O | |
| Godzina do której ma być prezentowany komunikat | string | O | |
| Lista kodów promocyjnych zastosowanych na koszyku | array | O |
|
| Nazwa kodu. W kolejnej wersji aplikacji pole nie wymagalne | string | Y |
|
| Kod promocyjny | string | Y |
|
| 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 |
|
| Lista dostępnych kodów promocyjnych, które klient może wykorzystać w koszyku. | array | O |
|
| Typ kodu: ONLY_IN_APP - kod dostępny tylko w aplikacji InPost Pay (TYLKO W APCE). | string | Y | |
| Wartość kodu np. DOSTAWA | string | Y | |
| Opis kodu Max: 60 znaków | string | Y | |
| Data początkowa obowiązywania kodu promocyjnego | string($date-time) | O | |
| Data końcowa obowiązywania kodu promocyjnego | string($date-time) | O | |
| Priorytet kodu | integer | O | |
| Szczegóły kodu promocyjnego | object | Y | |
| Link do szczegółów informacji o kodzie promocyjnym w sklepie merchanta. | string | Y | |
| Lista do przekazania informacji o produktach w koszyku | array | Y |
|
| Identyfikator produktu nadany przez merchanta | string | Y |
|
| Kategoria produktu nadana przez merchanta | string | O |
|
| Ean | string | O |
|
| Nazwa produktu | string | Y |
|
| Opis produktu | string | O |
|
| Link do produktu na stronie merchanta | string | O |
|
| Link do zdjęcia produktu. Preferowane formaty: png, jpg (rekomendacja: png bez tła) | string | O |
Preferowane format: png, jpg (rekomendacja: png bez tła) |
| Obiekt do przekazania dodatkowych zdjęć produktu (lista) | object | O |
|
| Zdjęcie produktu. Preferowany rozmiar 360 x 352 | string | Y |
|
| Zdjęcie produktu. Preferowany rozmiar 360 x 504 | string | Y |
|
| Cena podstawowa z produkt | object | Y |
|
| Cena netto | Number ($decimal)(10,2) | Y |
|
| Cena brutto (netto + VAT) | Number ($decimal)(10,2) | Y | |
| VAT | Number ($decimal)(10,2) | Y | |
| Cena promocyjna produktu | object | O |
|
| Cena netto | number ($decimal)(10,2) | Y |
|
| Cena brutto (netto + VAT) | number ($decimal)(10,2) | Y | |
| VAT | Number ($decimal)(10,2) | Y | |
| 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 |
|
| Cena netto | number ($decimal)(10,2) | Y |
|
| Cena brutto (netto + VAT) | number ($decimal)(10,2) | Y | |
| VAT | number ($decimal)(10,2) | Y | |
| Obiekt do przekazania informacji o ilości produktu | object | Y |
|
| Ilość produktu | number ($decimal) | Y |
|
| Typ quantity. Dostępne wartości: [ DECIMAL, INTEGER ] Jeżeli
| string | Y |
|
| Jednostka ilości produktu | string | O |
|
| Ilość dostępnego produktu sklepie | number ($decimal) | O |
|
| Funkcjonalność wykorzystująca obiekt dostępna w kolejnych wersjach aplikacji Minimalna ilość produktu jaką klient może zamówić np. przy jednym zamówieniu | number ($decimal)
| O |
|
| Maksymalna ilość produktu jaką klient może zamówić np. przy jednym zamówieniu | number ($decimal) | O |
|
| Funkcjonalność wykorzystująca obiekt dostępna w kolejnych wersjach aplikacji Wartość skoku ilości w przypadku zwiększenia/zmniejszenia ilości produktu przez klienta (np. 0,1 lub 0,5 lub 0,01) | number ($decimal) | O |
|
| Obiekt służący do określenia atrybutów produktu | array | O |
|
| Nazwa atrybutu | string | Y |
|
| Wartość atrybutu | string | Y | |
| Obiekt służący do przekazania informacji o dostępnych formach dostawy dla produktu. Jeśli brak obiektu delivery_product, to oznacza że dostawa dostępna wszystkimi typami | array | O |
|
| Typ dostawy | string | O |
|
| Flaga informująca czy typ dostawy jest dostępny. | boolean | O |
|
| Obiekt służący do przekazania listy produktów sugerowanych dla danego koszyka, które klient może dodać z poziomu aplikacji InPost Pay | array | O |
|
| Identyfikator produktu nadany przez merchanta | string | Y |
|
| Kategoria produktu nadana przez merchanta | string | O |
|
| Ean | string | O |
|
| Nazwa produktu | string | Y |
|
| Opis produktu | string | O |
|
| Link do produktu na stronie merchanta | string | O |
|
| Link do zdjęcia produktu. Preferowane formaty: png, jpg (rekomendacja: png bez tła) | string | O |
Preferowane format: png, jpg (rekomendacja: png bez tła) |
| Obiekt do przekazania dodatkowych zdjęć produktu (lista) | object | O |
|
| Zdjęcie produktu. Preferowany rozmiar 360 x 352 | string | Y |
|
| Zdjęcie produktu. Preferowany rozmiar 360 x 504 | string | Y |
|
| Cena podstawowa z produkt | object | Y |
|
| Cena netto | number ($decimal)(10,2)
| Y |
|
| Cena brutto (netto + VAT) | number ($decimal)(10,2) | Y | |
| VAT | number ($decimal)(10,2) | Y | |
| Cena promocyjna produktu | object | O |
|
| Cena netto | number ($decimal)(10,2) | Y |
|
| Cena brutto (netto + VAT) | number ($decimal)(10,2) | Y | |
| VAT | number ($decimal)(10,2) | Y | |
| 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 |
|
| Cena netto | number ($decimal)(10,2) | Y |
|
| Cena brutto (netto + VAT) | number ($decimal)(10,2) | Y | |
| VAT | number ($decimal)(10,2) | Y | |
| Obiekt do przekazania informacji o ilości produktu | object | Y |
|
| Ilość produktu | number ($decimal)
| Y |
|
| Typ quantity. Dostępne wartości: [ DECIMAL, INTEGER ]
| string | Y |
|
| Jednostka ilości produktu | string | O |
|
| Ilość dostępnego produktu sklepie | number($decimal)
| O |
|
| Funkcjonalność wykorzystująca obiekt dostępna w kolejnych wersjach aplikacji Minimalna ilość produktu jaką klient może zamówić np. przy jednym zamówieniu | number ($decimal) | O |
|
| Maksymalna ilość produktu jaką klient może zamówić np. przy jednym zamówieniu | number($decimal)
| O |
|
| Funkcjonalność wykorzystująca obiekt dostępna w kolejnych wersjach aplikacji Wartość skoku ilości w przypadku zwiększenia/zmniejszenia ilości produktu przez klienta (np. 0,1 lub 0,5 lub 0,01) | number ($decimal) | O |
|
| Obiekt służący do określenia atrybutów produktu | array | O |
|
| Nazwa atrybutu | string | Y |
|
| Wartość atrybutu | string | Y |
|
| Obiekt służący do przekazania informacji o dostępnych formach dostawy dla produktu. Jeśli brak obiektu delivery_product, to oznacza że dostawa dostępna wszystkimi typami | array | O |
|
| Typ dostawy | string | O |
|
| Flaga informująca czy typ dostawy dostępna | boolean | O |
|
| Flaga informująca czy po dodaniu produktu sugerowanego do koszyka, klient będzie miał darmową dostawę. W przypadku, gdy if_delivery_free=true jest na danym produkcie sugerowanym, klientowi zostanie zaprezentowany odpowiedni komunikat na tym produkcie | boolean | O |
|
| Obiekt służący do przekazania listy zgód dla danego koszyka. | array | Y |
|
| Id zgody nadawane przez merchanta | string | Y |
|
| Link przekierowujący do pełnej treści zgodny np. do strony merchanta | string | Y |
|
| Label do linku przekazanego w consent_link | string | O |
|
| Obiekt służący do przekazania dodatkowego linku do zgody/regulaminu | object | O |
|
| Id zgody nadawane przez merchanta | string | O |
|
| Link przekierowujący do pełnej treści zgodny np. do strony merchanta | string | O |
|
| Label do linku przekazanego w consent_link | string | O |
|
| Opis zgody, nie więcej niż 500 znaków | string | Y |
|
| Wersja zgody | string | Y |
|
| Typ zgody. Dostępne wartości: Enum: [OPTIONAL, REQUIRED_ONCE, REQUIRED_ALWAYS ] OPTIONAL – Zgoda opcjonalna REQUIRED_ONCE - wymagana jednorazowo. Zgoda o takim typie i wersji będzie zapisana w profilu użytkownika, z informacją, że klient wyraził zgodę i w przypadku kolejnych koszyków będzie domyślnie zaznaczona. REQUIRED_ALWAYS - wymagana zawsze. Zgoda o takim typie i wersji nie jest zapisywana w profilu użytkownika. Klient za każdym razem musi wyrazić zgodę. | string | Y |
|
| Obiekt służący do przekazania cookie koszyka klienta w celu umożliwienia przejścia ze aplikacji InPost Pay do koszyka w sklepie merchanta | object | O |
|
| url sklepu | string | Y |
|