Ten artykuł zawiera listę zmian wprowadzonych w dokumentacji wraz z linkami do poszczególnych artykułów. Lista zmian jest uporządkowana według dat modyfikacji.
Kategoria zamian:
- używana do określania zmian niekompatybilnych wstecznie lub przełomowych względem opublikowanej aktualnie dokumentacji oraz obowiązującej wersji interfejsu API.
- używana do określenia kolejnych przyrostów funkcjonalności w dokumentacji oraz interfejsu API, nie powodująca niekompatybilności.
- określająca zmiany/poprawki nie powodujące niekompatybilności wstecznej ani przyrostów funkcjonalności oraz zamiany informacyjne.
W aplikacji InPost Pay wprowadzono obsługę produktu cyfrowego oraz dostawy elektronicznej. Merchant będzie miał możliwość definiowania produktu cyfrowego oraz możliwość dostawy elektronicznej dla produktu cyfrowego.
W przypadku, gdy w koszyku znajduje się przynajmniej jeden produkt cyfrowy, użytkownik będzie miał możliwość określenia adresu email na jaki ma być wysłany produkt cyfrowy. Adres email do dostarczenia produktu cyfrowego będzie przekazywany wraz z żądaniem utworzenia zamówienia.
Funkcjonalność dostępna w aplikacji od wersji APP-3.35.0
Zakres zmian:
Dodanie do produktu/produktu sugerowanego w koszyku i zamówieniu parametru określającego typ produktu.
Nazwa pola | Opis | Typ | Wymagalność |
| Pole nieobligatoryjne określające typ produktu. Przyjmuje wartość:
| string | O |
Jeśli wartość jest null, to aplikacja domyślenie przyjmuje, że produkt jest fizyczny.
W przypadku, gdy merchant w koszyku/zamówieniu przekazuje produkt cyfrowy (lub cyfrowy produkt sugerowany w koszyku), to product_type
powinien mieć wartość DIGITAL.
Dodanie do delivery.delivery_type w koszyku wartości DIGITAL
Jeśli koszyk zawiera tylko produkty cyfrowe, to merchant powinien w koszyku przekazać tylko formę dostawy cyfrowej ("delivery_type": "DIGITAL"
).
Jeśli koszyk zawiera produkty cyfrowe oraz produkty fizyczne, to merchant w obiekcie delivery
powinien przekazać dostępne formy dostawy dla produktów fizycznych ("APM"
i/lub "CURRIER"
) oraz "delivery_type": "DIGITAL"
dla produktu cyfrowego.
Dodanie do products.delivery_product.delivery_type oraz related_products.delivery_related_products.delivery_type wartość DIGITAL
Jeśli w koszyku jest produkt cyfrowy lub produkt cyfrowy jest w produktach sugerowanych, to należy określić dostępną dostawę dla produktu cyfrowego zgodnie z logiką opisaną w https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/164331521/Changelog#MINOR---Informacja-o-dost%C4%99pnej-dostawie-dla-produktu-w-koszyku.
Dodanie do delivery.delivery_type w zamówieniu wartości DIGITAL
Jeśli koszyk zawierał tylko produkty cyfrowe, to w request POST/v1/izi/order w delivery.delivery_type
do merchanta zostanie przekazana wartość "DIGITAL"
. Jeśli koszyk zawierał produkty mieszane, to delivery_type
będzie miało wartość zgodnie z wybraną formą dostawy dla produktów fizycznych.
Jeśli utworzone zamówienie przez merchanta zawiera tylko produkty cyfrowe, to delivery.delivery_type
w przekazanych szczegółach zamówienia (response POST/v1/izi/order oraz GET/v1/izi/order/{order_id}) do InPost Pay powinno mieć wartość "DIGITAL"
. Jeśli zamówienie ma produkty mieszane, to delivery_type powinno mieć wartość zgodnie z wybraną formą dostawy dla produktów fizycznych przez klienta (przekazaną w request POST/v1/izi/order).
Dodanie parametru określającego adres email na jaki ma być wysłany produkt cyfrowy (digital_delivery_email) w zamówieniu
Nazwa pola | Opis | Typ | Wymagalność |
| Adres email na jaki ma być wysłany produkt cyfrowy | string | O |
Jeśli koszyk zawierał przynajmniej jeden produkt cyfrowy, to w request POST/v1/izi/order w obiekcie delivery aplikacja przekaże adres email do dostarczenia produktu cyfrowego digital_delivery_email
.
Jeśli utworzone zamówienie zawiera digital_delivery_email
, to merchant powinien zwrócić digital_delivery_email
w obiekcie delivery w response POST/v1/izi/order oraz GET/v1/izi/order/{order_id}.
Opis biznesowy:
Merchant wraz z przekazaniem szczegółów koszyka użytkownika ma możliwość przekazania listy dostępnych kodów promocyjnych (maksymalnie 5 kodów), które klient może wykorzystać w koszyku.
Lista dostępnych kodów będzie prezentowana w szczegółach koszyka:
W przypadku użycia kodu przez klienta na koszyku, do merchanta zostanie wywołana metoda do aktualizacji koszyka POST /v1/izi/basket/{basket_id}/event (Aktualizacja koszyka) wraz z wartością użytego kodu. Merchant po otrzymaniu requestu powinien:
zaktualizować koszyk o wartość użytego kodu
zaktualizować listę dostępnych kodów promocyjnych w koszyku
zwrócić zaktualizowany koszyk w response POST /v1/izi/basket/{basket_id}/event
Aplikacja po otrzymaniu zaktualizowanego koszyka zaprezentuje szczegóły koszyka w aplikacji klientowi.
Zakres zmian w API:
Do przekazania kodów na koszyku służy obiekt:
"promotions_available": [ { "type": "MERCHANT", "promo_code_value": "string", "description": "string", "start_date": "2024-09-20T09:26:39.793Z", "end_date": "2024-09-20T09:26:39.793Z", "priority": 0, "details": { "link": "string" } } ], |
Nazwa pola | Opis | Typ | Wymagalność |
---|---|---|---|
| Lista dostępnych kodów w koszyku. | array | O |
| Typ kodu:
![]()
![]()
| string | Y |
| Wartość kodu np. DOSTAWA | string | Y |
| Opis kodu | 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 | object | Y |
| Link do szczegółów informacji o kodzie promocyjnym w sklepie merchanta. | string | Y |
w API:
Dodanie parametru order_id
do GET/v1/izi/orders umożliwiającego wyszukiwanie zamówienia po identyfikatorze zamówienia
Parametr order_id
dodano do:
Merchant przekazując do InPost Pay koszyk będzie miał możliwość zdefiniowania jakie są dostępne metody dostawy dla danego produktu w koszyku oraz produktów powiązanych. Do przekazywania powyższej informacji służyć będą obiekty:
delivery_product
dla produktów
Nazwa pola | Opis | Typ | Wymagalność |
| 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 |
oraz delivery_related_products
dla produktów powiązanych
Nazwa pola | Opis | Typ | Wymagalność |
| 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 |
Użytkownikowi aplikacji InPost Pay w szczegółach koszyka na produkcie, który ma niedostępną formę dostawy zostanie zaprezentowany odpowiedni komunikat.
Przykład:
Logika przekazywania informacji o dostępnych formach dostawy dla produktu:
Jeśli produkt w koszyku lub produkt powiązany ma dodatkowe ograniczenia w zakresie formy dostawy w stosunku do przekazanych form dostawy w obiekcie delivery, merchant powinien przekazać informacje o formach dostawy dla produktu w delivery_product lub dla produktów powiązanych w delivery_related_products zgodnie z logiką:
Obiekt delivery_product/delivery_related_products powinien zawierać informacje o wszystkich formach dostawy, które zostały przekazane w koszyku w obiekcie delivery (czyli jeśli w obiekcie delivery są zdefiniowane APM i COURIER, to w delivery_product/delivery_related_products powinna być również informacja o dostępności APM i COURIER).
Jeśli merchant chce zdefiniować, że dana forma dostawy jest dostępna dla danego produktu, to powinien przekazać w delivery_type - forma dostawy np. "APM" i wartość flagi if_delivery_available=true.
{ "delivery_type": "APM" "if_delivery_available": true } |
Jeśli merchant chce zdefiniować, że dana forma dostawy jest niedostępna dla danego produktu, to powinien przekazać w delivery_type - forma dostawy np. "APM" i wartość flagi if_delivery_available=false.
{ "delivery_type": "APM" "if_delivery_available": false } |
W przypadku, gdy w koszyku w obiekcie delivery są zdefiniowane więcej niż jedna forma dostawy (np. AMP i COURIER) i merchant w produkcie w obiekcie delivery_product/delivery_related_products przekaże tylko informacje o dostępności jednej formy dostawy, to forma dostawy która nie została zdefiniowana w delivery_product/delivery_related_products będzie interpretowana jako niedostępna.
Brak przekazania obiektu delivery_product/delivery_related_products w produkcie oznacza, że dla produktu są dostępne wszystkie formy dostawy, które zostały przekazane w delivery w koszyku.
Obiekt delivery_product oraz delivery_related_products dodano do:
Aktualizacja lub dodanie koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie listy koszyków - Developer Documentations - Confluence (atlassian.net)
Potwierdzenie powiązania koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów koszyka - Developer Documentations - Confluence (atlassian.net)
Aktualizacja koszyka - Developer Documentations - Confluence (atlassian.net)
W produkcie sugerowanym dla danego koszyka merchant ma możliwość przekazania informacji, czy po dodaniu produktu do koszyka wybrana forma dostawy będzie darmowa. Aby przekazać, że wybrana forma dostawy będzie darmowa w obiekcie delivery_related_products należy przekazać:
formę dostawy w delivery_type,
informacje czy dostawa jest dostępna if_delivery_available = true
oraz czy po dodaniu produktu do koszyka dostępna będzie darmowa forma dostawy if_delivery_free=true. Przykład:
{ "delivery_type": "APM", "if_delivery_available": true, "if_delivery_free": true } |
Aplikacja InPost Pay po otrzymaniu if_delivery_free=true dla danego produktu sugerowanego zaprezentuje odpowiedni komunikat klientowi.
Dodano if_delivery_free
:
Nazwa pola | Opis | Typ | Wymagalność |
| 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 |
do API:
Aktualizacja lub dodanie koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie listy koszyków - Developer Documentations - Confluence (atlassian.net)
Potwierdzenie powiązania koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów koszyka - Developer Documentations - Confluence (atlassian.net)
Aktualizacja koszyka - Developer Documentations - Confluence (atlassian.net)
Wymaganie:
Merchant w przypadku zastosowania kodu, który spełnia warunki określone w Dyrektywie Omnibus na produkcie lub grupie produktów jest zobowiązany do przekazania informacji w szczegółach koszyka:
Wartość produktu po zastosowaniu kodu promocyjnego (products.promo_price)
Oznaczenie kodu promocyjnego jako „OMNIBUS” (promo_codes."regulation_type": "OMNIBUS")
Wartość najniższej ceny produktu z ostatnich 30 dni przed wprowadzeniem promocji na produktach w koszyku dla których został zastosowanych kod omnibusowy (products.lowest_price)
Opis biznesowy:
Przypadek 1: Wykorzystanie przez użytkownika kodu rabatowego merchanta, który spełnia warunki określone w Dyrektywie OMNIBUS.
Merchant musi oznaczyć kod promocyjny jako Omnibus (promo_codes."regulation_type": "OMNIBUS")
Merchant musi przesłać dla każdego produktu, na który ma wpływ zastosowany kod Omnibusowy, cenę Omnibusową na koszyku oraz na szczegółach dodanego do koszyka produktu (products.lowest_price) oraz cenę promocyjną (products.promo_price)
W aplikacji InPost Pay na koszyku dla produktów, dla których został zastosowany kod Omnibusowy zostanie zaprezentowana zarówno cena do zapłaty (products.promo_price) pokazana na czerwono, oraz przekreśloną cenę Omnibusową wraz z informacją, że jest to najniższa cena z 30 dni przed wprowadzeniem promocji (products.lowest_price).
Aplikacja InPost Pay w podsumowaniu koszyka nie będzie prezentowała wartość zastosowanego rabatu („Kod rabatowy sklepu”).
Przypadek 2: Wykorzystanie przez użytkownika kodu rabatowego merchanta, który nie spełnia warunków określonych w Dyrektywie OMNIBUS.
Merchant nie powinien przesyłać dla produktów w koszyku ceny Omnibusowej (products.lowest_price) oraz (products.promo_price).
Aplikacja InPost Pay zaprezentuje przy każdym produkcie cenę podstawową (products.base_price) na czarno.
W przypadku gdy zostanie przekazana wartość w parametrze products.promo_price, to w aplikacji przy produkcie zostanie zaprezentowana cena z products.promo_price na czarno.
Aplikacja InPost Pay w podsumowaniu koszyka zaprezentuje informację „Kod rabatowy sklepu” wraz z sumą obniżki, jaka wynika z zastosowanych kodów rabatowych sklepu. Jeśli zostały zastosowane kody rabatowe na koszyku (nie na produkcie), to wartość zastosowanych rabatów powinna być uwzględniona w basket_promo_price i basket_final_price zgodnie z opisem w dokumentacji.
Dodano: regulation_type
Nazwa pola | Opis | Typ | Wymagalność |
| Typ regulacji lub restrykcji, której kod promocyjny podlega | string | O |
do API:
Użytkownik aplikacji InPost Pay będzie miał możliwości z poziomu szczegółów powiązanego koszyka, przejść do koszyka w sklepie Merchanta. Funkcjonalność będzie dostępna dla koszyków, których Merchant przekaże dane w nowym obiekcie merchant_store
umożlwiające poprawne przekierowanie do koszyka użytkownika w sklepie Merchanta z poziomu aplikacji InPost Pay
Dodano obiekt merchant_store
Nazwa pola | Opis | Typ | Wymagalność |
| Obiekt służący do przekazania cookie koszyka klienta w celu umożliwienia przejścia z aplikacji InPost Pay do koszyka w sklepie Merchanta | object | O |
| url sklepu | string | Y |
| Obiekt do przekazania cookie | array | Y |
| Domena pliku cookie reprezentowana przez parę key-value | string | Y |
| Cookie key | string | Y |
| Cookie value | string | Y |
| Cookie path | string | Y |
| Czas wygaśnięcia pliku cookie lub maxAge | string($date-time) | O |
| Informacje o bezpieczeństwie plików cookie | boolean | O |
| Informacje http o plikach cookie | boolean | O |
| Informacje o pliku cookie sameSite [ STRICT, LAX, NONE ] | string | O |
| Priorytet plików cookie [ LOW, MEDIUM, HIGH ] | string | O |
| Maksymalny czas cookie | integer($int32) | O |
do API:
Aktualizacja lub dodanie koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie listy koszyków - Developer Documentations - Confluence (atlassian.net)
Potwierdzenie powiązania koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów koszyka - Developer Documentations - Confluence (atlassian.net)
Aktualizacja koszyka - Developer Documentations - Confluence (atlassian.net)
Zmiana umożliwia przekazanie więcej, niż jednego zdjęcia produktu w koszyku. Po przekazaniu dodatkowych zdjęć, klient będzie miał możliwość w aplikacji InPost Pay na szczegółach produktu przejrzenia przesłanych zdjęć produktu, a tym samy uzyskanie dodatkowych informacji o kupowanym produkcie.
Dodano:
Nazwa pola | Opis | Typ | Wymagalność |
| 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 |
do API:
Nowe miejsca osadzenia widget:
LOGIN_PAGE – strona logowania.
CHECKOUT_PAGE – stona checkout
REGISTERFORM_PAGE – strona rejestracji
MINICART_PAGE - minikarta
Dodano: LOGIN_PAGE, CHECKOUT_PAGE, REGISTERFORM_PAGE, MINICART_PAGE do binding_place
w request metody POST/v1/izi/basket/{basket_id}/binding
Nazwa pola | Opis | Typ | Wymagalność |
| 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 |
w API:
Maksymalna ilość obsługiwanych zgód dla koszyka to 10. W przypadku, gdy w obiekcie consents
dla koszyka zostanie przekazanych więcej niż 10 zgód, to w aplikacji InPost Pay będzie obsługiwanych dziesięć pierwszych zgód z obiektu consents
. Opis obiektu consents
zaktualizowany w artykułach:
Aktualizacja lub dodanie koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie listy koszyków - Developer Documentations - Confluence (atlassian.net)
Potwierdzenie powiązania koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów koszyka - Developer Documentations - Confluence (atlassian.net)
Zmiana umożliwia obsługę i prezentacje zgód w aplikacji InPost Pay które mają więcej niż jeden link w treści
Obiekt consents rozszerzony w api:
Aktualizacja lub dodanie koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie listy koszyków - Developer Documentations - Confluence (atlassian.net)
Potwierdzenie powiązania koszyka - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów koszyka - Developer Documentations - Confluence (atlassian.net)
o dane:
Nazwa pola | Opis | Typ | Wymagalność |
| Label do linku przekazanego w label_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 | string | O |
Zmiana umożliwia przekazania dodatkowego identyfikatora zamówienia w przypadku, gdy Merchant ma rozwiązanie obsługi zamówień oparte o dwa identyfikatory (jeden służący do komunikacji pomiędzy systemami, drugi do komunikacji i prezentacji klientowi).
Dodano:
Nazwa pola | Opis | Typ | Wymagalność |
| Identyfikator zamówienia prezentowany klientowi oraz wykorzystywany do płatności. W przypadku braku wykorzystywany jest order_id. | string | O |
w api:
Pobranie listy zamówień - Developer Documentations - Confluence (atlassian.net)
Utworzenie zamówienia - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów zamówienia - Developer Documentations - Confluence (atlassian.net)
Wartość będzie prezentowana klientowi na podsumowaniu zamówieniu w aplikacji InPost Pay. Dodano:
Nazwa pola | Opis | Typ | Wymagalność |
| Wartość zastosowanych kodów rabatowych na zamówieniu | number($decimal) | O |
w api:
Pobranie listy zamówień - Developer Documentations - Confluence (atlassian.net)
Utworzenie zamówienia - Developer Documentations - Confluence (atlassian.net)
Pobranie szczegółów zamówienia - Developer Documentations - Confluence (atlassian.net)
order_id
metody GET
/v1/izi/transaction
w Zwroty i transakcje max_width
oraz frame_style
w kodzie html widgetu https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/131072001/Widget+1.0+old+version#Osadzenie-html summary.basket_final_price
i summary.basket_promo_price
w Aktualizacja lub dodanie koszyka ,Potwierdzenie powiązania koszyka ,Pobranie szczegółów koszyka , Aktualizacja koszyka. Dodano merchant-external-id do /api/v1/izi/signing-keys/public oraz /api/v1/izi/signing-keys/public/{version}. Brak konieczności przekazywania merchant-external-id podczas onboardingu i z requestami.
/v1/izi/baskets
i /v1/izi/orders
w https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/129794052/InPost+Pay+Basket+App#InPost-Pay-API%5BhardBreak%5D