Changelog [ENG]

Changelog [ENG]

This article contains a list of changes made to the documentation, with links to the individual articles. The list of changes is organized by modification date.

Change category:

  • MAJOR – used to identify backward-incompatible or breakthrough changes relative to the currently published documentation and the current version of the API.

  • MINOR – used to identify successive increments of functionality in the documentation and API that do not result in incompatibilities.

  • PATCH – used to identify changes/revisions that do not cause backward incompatibility or increments of functionality and informational substitutions.

 

 

01.09.2025

MINOR - Free basket

In the InPost Pay application, we are introducing the ability to handle free baskets and create orders from free baskets. The merchant, when creating or updating a basket in the InPost Pay application, will be able to define whether the basket is free.

Free basket flow:

  1. The merchant sends the basket to InPost with a new flag free_basket = true, which indicates whether the basket without delivery costs is free.

  2. InPost validates whether the basket value equals 0

    • If the basket value without delivery costs equals 0, the flag is recorded in the basket details. Proceed to the next step.

    • If the basket value excluding delivery costs does not equal 0, the flag is ignored (indicating the basket is not free). End of process.

  3. The application retrieves the basket with the flag free_basket = true and presents it to the user.

  4. The customer defines the delivery method/additional delivery options that may affect the price.

    • If the total gross amount (basket + delivery) = 0, the application does not present the payment selector.

    • If the total gross amount (basket + delivery) > 0, the application presents the payment selector.

  5. The customer clicks "Buy and Pay" (case where basket + delivery = 0).

  6. InPost sends a POST /v1/izi/order request to the merchant where, for the basket with a value of basket + delivery = 0, the following information is provided:

    • basket_price.gross=0

    • payment_type with the new value FREE_ORDER indicating that it is a free order.

  7. The merchant creates the order and in the response POST /v1/izi/order sends back the order details with payment_type=FREE_ORDER.

  8. The order is recorded in InPost as paid and is presented to the customer in the application.

  9. End of process.

Scope of API changes:

Adding free_basket to:

  • endpoints exposed by the merchant:

    • response GET /v1/izi/basket/{basket_id} summary.free_basket

    • response POST /v1/izi/basket/{basket_id}/confirmation summary.free_basket

    • response POST /v1/izi/basket/{basket_id}/event summary.free_basket

  • endpoints exposed by InPost:

    • request PUT /v2/izi/basket/{basket_id} summary.free_basket

Handling of the new payment_type=FREE_ORDER indicating that the order is free on endpoints:

  • endpoints exposed by the merchant:

    • request POST /v1/izi/order - the application will pass payment_type=FREE_ORDER only if the basket value with delivery costs equals 0 and only for the basket where the flag free_basket = true was defined.

    • response POST /v1/izi/order - the merchant should return the value payment_type=FREE_ORDER for the created free order.

    • response GET /v1/izi/order/{order_id} - the merchant should return the value payment_type=FREE_ORDER for the free order.

  • endpoints exposed by InPost:

    • response GET /v1/izi/orders - if there are free orders in the list of orders, InPost will return them with payment_type=FREE_ORDER.


 

10.07.2025

MINOR - Hot products - affiliate link product_link

Handling promoted products using an affiliate link.


 

04.07.2025

PATCH - Added basket_additional_parameters object

Merchant, when creating or updating a basket, has the ability to pass additional parameters along with the basket details. These parameters can be used, for example, to associate or identify the basket with a campaign, or to add other parameters that will facilitate basket management by the Merchant. Additional parameters are not displayed in the application.

Added object:

"basket_additional_parameters": [ { "key": "string", "value": "string" } ]

in API:


 

18.06.2025

PATCH - New Look for the InPost Pay Widget

What's changing?

Starting June 24, the widget's appearance will change to guide customers even better through the purchase process. “Buy with InPost Pay” will become “Buy with InPost.” The widget's character will remain modern and consistent with our brand.

Additionally, the new look of the InPost Pay widget primarily features a modern design that aligns with InPost's current branding. The screens displayed after clicking on it have gained in clarity and intuitiveness. This will make it even easier for buyers to navigate the purchasing process within InPost Pay.

Why are we making changes?

  • Improved process communication: The new communication better informs customers about the next steps, leading to greater satisfaction and fewer abandoned carts. As a result, customers are more aware of how to create a cart and finalize their purchases.

  • On-screen FAQ: We're adding new FAQs directly in the widget, which is a novelty. The most frequently asked questions will now be available directly in the purchase process, eliminating the need for users to leave the shopping path. This solution enhances the comfort and smoothness of the payment process.

What are the benefits for online stores?

  • Increased conversion: The new, attractive look and intuitiveness of the widget can attract more customers to finalize their purchases. The increase in widget clicks and conversions has been confirmed in A/B tests.

  • Minimization of abandoned carts: With better communication and FAQ accessibility, customers will be less likely to interrupt the purchasing process.

Online store operators don't need to do anything to benefit from the new widget appearance - the change will happen automatically.

For any questions, feel free to contact us at: integracjapay@inpost.pl.


 

06.06.2025

PATHAdded the order_additional_parameters object

When creating (POST/v1/izi/order) or updating (GET/v1/izi/order/{order_id}) an order, the Merchant has the option, to convey additional parameters together with order details that can be used, for example, to link or identify the order with a campaign or other information that will make it easier for the Merchant to handle the order. The conveyed and saved parameters are not presented in the app. The additional parameters are returned with the order details in GET/api/v1/izi/orders.


23.04.2025

MAJORHandling of user e-mails in the order

The change describes the guidelines for handling e-mails conveyed by the InPost Pay app to the merchant in the order. In order to properly handle the order and shipment, the Merchant must mandatorily comply with the described guidelines.

When you create an order, the InPost Pay app will convey e-mails in the POST/v1/izi/order request:

  • account_info.mail - E-mail address of the InPost Pay app user. Merchant can use the above e-mail address only for the purposes of setting up a customer account, user verification, etc. If the user logs in to InPost Pay using Apple, the account's email address contains the hash assigned by Apple and is conveyed in the following form: abc@privaterelay.appleid.com, for example. In order for a Merchant to communicate with a customer using this address, the Merchant's domain must be added to the InPost account in Apple. Apple limits the number of domains that may be assigned to an account to 100. Therefore, InPost forwards the e-mail address abc@mail.inpostpay.pl to the Merchant with the same hash, but in the domain mail.inpostpay.pl.

  • delivery.mail – the masked e-mail address of the user in the order.inpostpay.pl domain, which the Merchant must mandatorily use to handle the created order, in particular registration/shipping (the parcel should be shipped to the e-mail from delivery.mail, which will enable its proper monitoring and allow to link the created order in InPost Pay with the parcel shipped for the order).

  • delivery.digital_delivery_email – the e-mail address to which the digital product is to be sent. Conveyed only if there is a digital product in the basket. If the address contains a hash assigned by Apple and is in the form of abc@privaterelay.appleid.com, for example. In order for the Merchant to communicate with a customer using this address, the Merchant's domain must be added to the InPost account in Apple. Apple limits the number of domains that may be assigned to an account to 100. Therefore, InPost forwards the e-mail address abc@mail.inpostpay.pl to the Merchant with the same hash, but in the domain mail.inpostpay.pl.


26.03.2025

MINOR – Release of transaction webhooks in version V2 – https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/995459073


03.02.2025

MINOR – Promoted products (Hot products) – https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/1141932060


30.01.2025

MINOR – Handling of a digital product and electronic delivery

Support for digital product and electronic delivery has been added to the InPost Pay app. The Merchant will have the ability to define a digital product and the option of electronic delivery for a digital product.

If there is at least one digital product in the basket, the user will have the option to specify the e-mail address to which the digital product is to be sent.  The e-mail address for delivery of the digital product will be provided with the request to create an order.

Functionality available in the application as of version APP-3.35.0.

Scope of changes:

  • Added a parameter that specifies the product type to the product/suggested product in the basket and order.

Field name

Description

Type

Required

product_type

A non-mandatory field specifying the product type. Assumes value:

  • PRODUCT – physical product

  • DIGITAL  – digital product.

string

O

If the value is null, then by default the application assumes that the product is physical.

If the Merchant passes a digital product in the basket/order (or a digital suggested product in the basket), the product_type must assume the DIGITAL value.

  • Added the DIGITAL value to delivery.delivery_type in the basket 

If the basket contains only digital products, the Merchant must pass only the digital delivery option in the basket ("delivery_type": "DIGITAL").

If the basket contains digital products as well as physical products, the Merchant must pass the available delivery options for physical products ("APM" and/or "COURIER") and "delivery_type": "DIGITAL" for the digital product in the delivery object.

  • Added the DIGITAL value to products.delivery_product.delivery_type and related_products.delivery_related_products.delivery_type

If there is a digital product in the basket or the digital product is in the suggested products, it is necessary to specify the available delivery options for the digital product according to the logic described in https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/1143111706/Changelog+ENG#MINOR-%E2%80%93-Information-on-available-delivery-options-for-a-product-in-the-basket.

  • Added the DIGITAL value to delivery.delivery_type in the order 

If the basket contained only digital products, then the "DIGITAL" value will be passed to the Merchant in the POST/v1/izi/order request in delivery.delivery_type. If the basket contained mixed products, then delivery_type will have a value according to the selected delivery option for physical products.

If the order created by the merchant contains only digital products, then delivery.delivery_type in the order details (response to POST/v1/izi/order and GET/v1/izi/order/{order_id}) passed to InPost Pay should have the value "DIGITAL". If the order has mixed products, the delivery_type must have a value according to the delivery option selected for physical products by the customer (passed in request POST/v1/izi/order).

  • Added a parameter that specifies the e-mail address to which the digital product is to be sent (digital_delivery_email) in the order

Field name

Description

Type

Required

digital_delivery_email

The e-mail address to which the digital product is to be sent

string

O

If the basket contained at least one digital product, then in the POST/v1/izi/order request, in the delivery object, the application will pass the e-mail address to which the digital product is to be sent (digital_delivery_email).

If the created order contains digital_delivery_email, the Merchant should return digital_delivery_email in the delivery object in response POST/v1/izi/order and GET/v1/izi/order/{order_id}.


03.10.2024

MINOR – Enabled the transfer of available promotional codes with the customer's basket to the InPost Pay app

Business description:

Along with providing the details of the user's basket, the Merchant has the option to provide a list of available promotional codes (up to 5 codes) that the customer can apply to the basket.

The list of available codes will be presented in basket details:

image-20250703-115806.png

When a customer applies a code to a basket, a POST /v1/izi/basket/{basket_id}/event (https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/357925000 ) method used to update the basked will be called to the Merchant along with the value of the applied code. Upon receiving a request, the Merchant must:

  • update the basket with the value of the applied code

  • update the list of available promo codes in the basket

  • return the updated basket in response POST /v1/izi/basket/{basket_id}/event

Once the updated basket is received, the app will present basket details to the customer in the app.

Scope of API changes:

The following object is used to pass codes applied to the basket:

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

Field name

Description

Type

Required

promotions_available

List of codes available in the basket.

array

O

promotions_available.type

Code type:
Enum:[ MERCHANT, ONLY_IN_APP ]

  • MERCHANT – code available in the Merchant's store and in InPost Pay (STORE CODE)
    An example of how a store code is presented in order details:

image-20250703-120238.png

 

  • ONLY_IN_APP – code available only in the InPost Pay app (ONLY IN APP).
    An example of how a code available only in the InPost Pay app is presented:

image-20250703-120306.png

 

string

Y

promotions_available.promo_code_value

Code value, e.g. DELIVERY

string

Y

promotions_available.description

Code description
Max: 60 characters

string

Y

promotions_available.start_date

Start date on which the promo code becomes effective

string($date-time)

O

promotions_available.end_date

End date on which the promo code becomes ineffective

string($date-time)

O

promotions_available.priority

Code priority
The priority is used to determine the order in which the codes are presented in the basket details (the highest priority has the lowest value).

integer

O

promotions_available.details

Code details

object

Y

promotions_available.details.link

Link to details of the promo code information in the merchant's store. 

string

Y

in API:


 

27.06.2024

PATCH – Added option to search for an order via GET/v1/izi/orders

Added the order_id parameter to GET/v1/izi/orders to allow for order search by order ID.

The order_id parameter has been added to:


18.06.2024

MINOR – Information on available delivery options for a product in the basket

When transferring a basket to InPost Pay, the Merchant will have the ability to define what delivery options are available for the relevant product in the basket and related products. The following objects will be used to pass the above information: 

delivery_product for products

Field name

Description

Type

Required

delivery_product

An object used to convey information about the available delivery options for a product. If the delivery_product object is missing, it means that all types of delivery are available

array

O

delivery_product.delivery_type

Delivery type

string

O

delivery_product.if_delivery_available

A flag indicating whether the delivery type is available.

boolean

O

and delivery_related_products for related products

Field name

Description

Type

Required

delivery_related_products

An object used to convey information about the available delivery options for a product. If the delivery_product object is missing, it means that all types of delivery are available

array

O

delivery_related_products.delivery_type

Delivery type

string

O

delivery_related_products.if_delivery_available

A flag indicating whether the delivery type is available.

boolean

O

InPost Pay app user will be presented with an appropriate message in basket details on the product that has an unavailable delivery option.

Example:

image-20250703-122052.png

 

Logic used for passing information about delivery options available for the product:

If a product in the basket or a related product has additional delivery option restrictions compared to the delivery options passed in the delivery object, the Merchant must communicate the information on delivery options available for the product in delivery_product or in delivery_related_products – for related products, according to the following logic:

  • The delivery_product/delivery_related_products object must contain information about all delivery options that have been passed in the basket in the delivery object (i.e. if APM and COURIER are defined in the delivery object, there should also be information about the availability of the APM and COURIER options in delivery_product/delivery_related_products).

    • If the Merchant wants to define that a particular delivery option is available for a given product, then the Merchant must pass the delivery option in delivery_type, e.g. "APM", and the value of the flag if_delivery_available=true.

      { "delivery_type": "APM" "if_delivery_available": true }
    • If the Merchant wants to define that a particular delivery option is not available for a given product, then in delivery_type the Merchant must convey the delivery option, e.g. "APM", and the value of the flag if_delivery_available=false.

      { "delivery_type": "APM" "if_delivery_available": false }

 

  • If more than one delivery option (e.g. APM and COURIER) has been defined for the basket in the delivery object and the Merchant, in the product in the delivery_product/delivery_related_products object, only passes information about the availability of one of the delivery options, the delivery option that has not been defined in delivery_product/delivery_related_products will be interpreted as unavailable. 

    • Failure to pass the delivery_product/delivery_related_products object in the product means that all delivery options that were passed in delivery in the basket are available for the product.

Added delivery_product and delivery_related_products object to:

MINOR Information whether the basket will have free delivery after a suggested product is added

In the product suggested for the relevant basket, the Merchant has the option to pass information whether the selected delivery option will be free when the product is added to the basket. To provide information that the selected delivery option will be free in the delivery_related_products object, it is necessary to pass the following:

  • delivery option in delivery_type,

  • information whether delivery is available if_delivery_available = true

  • and whether free delivery will be available after the product is added to the basket (if_delivery_free=true). Example:

        { { "delivery_type": "APM", "if_delivery_available": true, "if_delivery_free": true }

Upon receiving if_delivery_free=true for the relevant suggested product, the InPost Pay app will display an appropriate message to the customer.

Added if_delivery_free:

Field name

Description

Type

Required

delivery_related_products.if_delivery_free

A flag indicating whether the customer will have free delivery when the suggested product is added to the basket. Where if_delivery_free=true applies to the relevant suggested product, the customer will be presented with an appropriate message on that product.

boolean

O

to the API:

 


13.06.2024

MAJOR – Support for the Omnibus Directive

Requirements:

If a code that meets the conditions of the Omnibus Directive is applied to a product or group of products, the Merchant is required to pass the following information in basket details:​

  • Value of the product after applying the promo code (products.promo_price)