InPost Integration FAQ

The documentation provides a summary of the most important information regarding integration with InPost systems.

 

Contact

Description

Contact

Description

Business topics

Your Account Manager

Carrier website

https://inpost.pl/

Carrier privacy policy

https://inpost.pl/en/policy

Carrier logo

image-20240522-090341.png

ShipX document

Fast Return document

Plugins document


API ShipX

 

Authorization

Description

 

Authorization

Description

 

Production

URL: https://api-shipx-pl.easypack24.net

Parcel Manager Production:

Request collection:

Sandbox

URL: https://sandbox-api-shipx-pl.easypack24.net

Parcel Manager Sandbox:

(You can access the sandbox by creating an account in the Sandbox Manager)

Request collection:

Create token

Documentation:

(google translate required)

https://inpost.pl/sites/default/files/2022-03/instrukcja-konfiguracji-api-shipx.pdf

 

 

 

 

 

 

Organization ID:

image-20240710-063819.png

Token:

 

 

Standard Services

Description

 

Standard Services

Description

 

inpost_locker_standard

Parcel locker shipment - standard

Delivery to Parcel Locker - the customer has 48h to collect the parcel. Can extend collection via the InPost app

inpost_courier_standard

Courier shipment standard

Delivery by courier to the indicated address

inpost_courier_c2c

Courier shipment - InPost Courier C2C (service for a retail customer - prepaid)

Delivery by courier to the indicated address

inpost_locker_pass_thru 

Parcel locker shipment - Pass-Thru

Sending at Parcel Locker and collection of the parcel by the customer at the same Parcel Locker

inpost_courier_express_1000

Courier shipment with delivery until 10:00

Delivery by courier to the specified address by a specific time

inpost_courier_express_1200

Courier shipment with delivery until 12:00

Delivery by courier to the specified address by a specific time

inpost_courier_express_1700

Courier shipment with delivery until 17:00

Delivery by courier to the specified address by a specific time

inpost_courier_palette

 

Courier shipment Pallet Standard

Delivery to the pallet address by dedicated transport

Allegro dedicated services

Description

 

inpost_locker_allegro

Allegro dedicated service

Delivery to Parcel Locker (Allegro service) - the customer has 48h to collect the parcel. Can extend collection via the InPost app

inpost_courier_allegro

Allegro dedicated service

Delivery by courier to the indicated address (Allegro service)

inpost_letter_allegro

Allegro dedicated service

Delivery by courier to the indicated address (Allegro service)

 

v

 

Label

Description

 

Label

Description

 

Label format

ZPL/PDF/EPL

PDF: https://api-shipx-pl.easypack24.net/v1/shipments/1592329333/label?format=pdf

ZPL: https://api-shipx-pl.easypack24.net/v1/shipments/1592329333/label?format=zpl

EPL: https://api-shipx-pl.easypack24.net/v1/shipments/1592329333/label?format=eplepepl

Label type

A6/normal

PDF - 200 DPI

ZPL - 200DPI and 300DPI (courier/parcel locker)

 

300DPI: https://api-shipx-pl.easypack24.net/v1/shipments/1592329333/label?format=zpl&type=dpi300

200DPI: https://api-shipx-pl.easypack24.net/v1/shipments/1592329333/label?format=zpl&type=dpi300

Label dimensions

Label field validation

143mm x 100mm (height x width)

Example

 

Other

  • We do not support unicode characters (i.e. kanji, Cyrillic, etc.) on label

  • Number of characters per PDF label:

 

"company_name": 35 characters

"street" and "building number" together on label: 137 characters

"city": 42 characters

"first_name" and "last_name" together on label: 58 characters

 

  • Number of characters on the ZPL label in “reference”: 96

 

 

 

 

 

Parcel Locker/Courier dimensions

Description

 

Parcel Locker/Courier dimensions

Description

 

Courier dimensions

Maximum dimensions:

  • 350 x 240 x 240 cm

Maximum weight:

  • 50 kg

Quantity:

  • default 1,

  • maximum 99 ( only for domestic parcels )

 

Locker dimensions

height x width x depth cm

Size A (S) - 8 x 38 x 64 cm

Size B (M) - 19 x 38 x 64 cm

Size C (L) - 41 x38 x 64 cm

Max weight: 25 kg

The corresponding parcel size is mapped from the box into which the parcel was placed by the courier, depending on the machine.
These can be caches after the Avisomat, Laundromat or other.


Examples of mappings:
D <= A (locker size D corresponds to locker A in our systems)
E = A
H = A
I = B
J = C

 

Shipments flow

Description

 

Shipments flow

Description

 

Flow (endpoint)

Integration process:

We recommend creating shipments in simplified mode

DOC:

 

Create shippments:

https://api-shipx-pl.easypack24.net/v1/organizations/YOUR_ID_ORGANIZATIONS/shipments

 

The ShipX API is asynchronous, so when a shipment is created, the status returned is "created" without tracking_number.
After enquiring about the status of the shipment the status "confirmed" is returned, which means that the shipment was created successfully and the tracking_number is returned

 

Checking the status of a shipment:

https://api-shipx-pl.easypack24.net/v1/shipments/ID_SHIPMENTSID S

Download label:

https://api-shipx-pl.easypack24.net/v1/shipments/ID_SHIPMENTS/label?format=pdf (pdf/zpl/epl)

Tracking: (not authorized)

https://api-shipx-pl.easypack24.net/v1/tracking/TRACKING_NUMBER

 

Create shipment:

Checking the status of a shipment:

 

Parameters

sender → The attribute is not required. If no data is provided ,by default the data of the organization in which the shipment is created will be used


email → This parameter is required for Parcel Locker shipments
This parameter is not required for Courier Standard shipments

We use the Apache commons library version 1.6 to validate email addresses. http://commons.apache.org/proper/commons-validator/index.html


address → This parameter is not required for Parcel Locker shipments
This parameter is required for Courier Standard shipments


phone → API accepts only 9 digits. There must be no prefix (e.g. +48), and the number must not begin with 1 / 2 / 3

Below validation regex:

\`A(?!(0))[0-9]{9}.


target_point → The name of the destination point to which the shipment is to be delivered, from which it will be collected by the receiver, e.g. name of the a parcel locker
Only shipments for Parcel Lockers


dropoff_point → Name of the sending point to which the sender delivers the shipment to be sent, e.g. name of the parcel locker. Required when stating the sending method pok, courier_pok, parcel_locker


reference → Additional description of the shippment e.g the order number. Will transfer information to labels for Parcel Locker service

 

The attribute is not required. At least 3 characters, up to 100 characters, the attribute mrefay be transferred empty


comments → The attribute is not required. At least 3 characters, up to 100 characters, the attribute mrefay be transferred empty. Will transfer information to labels for Parcel Locker service and Courier Standard


mpk → Name of the place where the costs were incurred

MPK - a value that the user can freely modify. It must be created - this value is unique and can not create another one like it.

Usage:
MPK value appears on invoices.

This allows you to split shipments (giving 2 different MPKs in shippment) and filter them later without creating a subaccount in InPost systems.
MPK works in Courier and Parcel Locker service

 

 

Statuses

DOC:

Statuses list for Parcel Locker:

https://api-shipx-pl.easypack24.net/v1/statuses?shipment_type=inpost_locker_standard&lang=en_GB

Statuses list for Courier Standard:

https://api-shipx-pl.easypack24.net/v1/statuses?shipment_type=inpost_courier&lang=en_GB

 

Standard process:

 

  • Parcels first scan in Inpost sorting centre

adopted_at_source_branch
adopted_at_sorting_center

  • Processing of item for delivery

adopted_at_target_branch
sent_from_source_branch

  • Handing over of item to delivery

out_for_delivery

  • Placed parcels in the parcel machine (for inpost_locker)

ready_to_pickup

  • Delivery

delivered

  • Return to shipper

return to shipper


  • Delivery failed. Wrong address

undelivered_wrong_address
undelivered_incomplete_address

  • Other reasons (impossible to contine with the delivery)

avizo
courier_avizo_in_customer_service_point

  • Delivery failed. Customer modified delivery address

readdressed
redirect_to_box

  • Delivery failed. Customer refused to accept their order

rejected_by_receiver

  • Delivery delayed due to restricted delivery service in your area

delay_in_delivery

  • Other reasons (impossible to contine with the delivery).

undelivered
returned_to_sender
canceled
undelivered_cod_cash_receiver

 

Status confirming delivery of parcel (final) generating payment (customer charged)

“Delivered”

 

Push technologies to delivery notifications

InPost parcels delivered in Poland receive notifications in the InPost mobile app and email notifications. If someone does not have the mobile app, they receive an SMS

 

Picking up parcels with Parcel Locker

Parcels can be picked up by scanning the QR code or opening the box remotely via the app

 

Multi-packs in inpost_courier_standard

The maximum number of multipacks is: 99
Minimum number of multipacks is: 1

DOC:

 

Shipment cancellation

In order to cancel a shipment within an organization, the user has to be its member. Additionally, the shipment has to be in created or offers_prepared status, otherwise an invalid_action  error will be returned

DOC:

An unused label will be cancelled after 45 days

API Response time

On Sandbox:: extended time above 2 seconds

On Production: up to 2 seconds maximum

The time for querying the shipment should be extended to the indicated values

 

 

Possible errors

  • When creating a consignment, the following is returned: “Insurance should be equal or higher than COD”

When creating a collection parcel, please note that the parcel must be insured for a minimum of the collection value or more


  • API returns error "403 access forbidden fo this token”

The API returns an error when the wrong organisation id is entered. You will need to log in to and retrieve the organisation id located on the API tab at


  • API returns error “debt_collection”

If you are a postpaid customer (you have a contract) please check that the payment for the last invoice has been made and then contact your account manager to check that the contract is connected to your account


  • API returns “trucker_ID_is_not_set_for_organization” error

Please contact your account manager. This means that the courier service has not been connected


 

 

 

 

Tracking

Description

 

Tracking

Description

 

Tracking API/Report

Report:

API:

 

Tracking is not available on the sandbox environment. No statuses are returned

Example request (No need to authorise):

GET https://api-shipx-pl.easypack24.net/v1/tracking/520000015802677026992693

URL tracking link

 

Other

  • The API allows you to check the status of a single shipment - it is not possible to verify several parcels at once

  • API allows tracking the status of parcels 45 days in advance

 

 

 

Webhooks

 

 

Webhooks

 

 

Configuration

Webhook is used to send the user information about changes in the status of the shipment.

For a production environment, the webhook address can be added on the page  in the My Account> API tab

For a sandbox environment, the webhook address can be added on the page   in the My Account> API tab

 

DOC:

Example when the shipment status has been changed:

{ "event_ts": "2020-03-20 15:08:42 +0100", "event": "shipment_status_changed", "organization_id": 1, "payload": { "shipment_id": 49, "status": "delivered", "tracking_number": "602677439331630337653846" } }

 

Example when the shipment has been created:

{ "event_ts": "2020-03-20 15:08:06 +0100", "event": "shipment_confirmed", "organization_id": 1, "payload": { "shipment_id": 49, "tracking_number": "602677439331630337653846" } }

 

Addres IP webhook

Webhook address database: 91.216.25.0/24

 


 

 

Display Geowidget/API Points

Description

 

Display Geowidget/API Points

Description

 

Documentation Geowidget V5

DOC:

Example:

Production:

Sandbox:

 

 

API Points

Authorization

Production environment

https://api.inpost.pl/v1/points


Sandbox environment

https://sandbox-api-gateway-pl.easypack24.net/v1/points

 

DOC (PROD/SAND):


Token Geowidget

Access to the Points API is authorised. Obtaining a token is possible through the Parcel Manager.
At the beginning of the documentation it is described how to obtain the token:

The Points resource represents locations where the services of logistics operators are available. Points can be self-service machines (Parcel Machine®) or branches, customer service points

 

The parcel_locker type displays all points from which the customer can collect the parcel and only the currently active (enabled) points. Excludes points that are only used for sending parcels (no parcel pick-up)


Search point by location:

 

Pagination:

 

 

DOC:


 

Quick Returns

Description

 

Quick Returns

Description

 

Authorization

Email/Password from Parcel Manager

 

Endpoint

Production: https://api.paczkomaty.pl

Sandbox: https://sandbox-api.paczkomaty.pl

DOC:

 

The function https://api.paczkomaty.pl/?do=revloggenerateactivecode is used to generate one active return code, with which you can send a parcel at the Parcel Locker

DOC:


The https://api.paczkomaty.pl/?do=revloggetreport function allows you to generate a report that will return active codes and used codes along with the shipment status.

DOC:

You can check the current status of a shipment sent with a return code using the Report function.


Available parcel sizes

height x width x depth cm

Size A (S) - 8 x 38 x 64 cm

Size B (M) - 19 x 38 x 64 cm

Size C (L) - 41 x38 x 64 cm

 

 

 

Shipment return tracking

 

 

Example tracking flow:

The moment when customers generate a return code:

(see from below)

"tracking_details": [         {             "origin_status": "DOR",             "status": "delivered",             "agency": null,             "location": null,             "datetime": "2024-07-03T12:56:26.000+02:00"         },         {             "origin_status": "PDD_3",             "status": "out_for_delivery_to_address",             "agency": null,             "location": null,             "datetime": "2024-07-03T08:14:43.000+02:00"         },         {             "origin_status": "PWO",             "status": "adopted_at_source_branch",             "agency": null,             "location": null,             "datetime": "2024-07-03T04:25:07.000+02:00"         },         {             "origin_status": "WZO",             "status": "sent_from_source_branch",             "agency": null,             "location": null,             "datetime": "2024-07-02T17:30:52.000+02:00"         },         {             "origin_status": "PWO",             "status": "adopted_at_source_branch",             "agency": null,             "location": null,             "datetime": "2024-07-02T17:00:31.000+02:00"         },         {             "origin_status": "OZPA",             "status": "taken_by_courier",             "agency": null,             "location": null,             "datetime": "2024-07-02T08:52:07.000+02:00"         },         {             "origin_status": "NWP",             "status": "dispatched_by_sender",             "agency": null,             "location": null,             "datetime": "2024-07-01T21:24:14.000+02:00"         },         {             "origin_status": "PPN",             "status": "confirmed",             "agency": null,             "location": null,             "datetime": "2024-07-01T21:24:01.000+02:00"         }