Conformance with the InPost ShipX documentation
What the add-on does, against the official InPost documentation (space “PL” at dokumentacja-inpost.atlassian.net, read November 2026). The add-on is proven against a local mock that follows these pages; it has not been run against your InPost account until you test the connection.
| Topic | Documented behaviour | What the add-on does |
|---|---|---|
| Hosts | Production https://api-shipx-pl.easypack24.net, sandbox https://sandbox-api-shipx-pl.easypack24.net (separate Parcel Manager accounts) |
Test mode uses the sandbox, Live mode production. Credentials are stored per mode |
| Authentication | Authorization: Bearer <token>; the organization id is part of the path (Parcel Manager > My Account > API) |
Token and organization id are entered on the Connection page, token sealed with AES-256-GCM |
| Test connection | GET /v1/organizations/:id |
Used as the connection test; shows the organization name |
| Create shipment | POST /v1/organizations/:id/shipments (simplified mode); asynchronous: the answer has status created, no tracking number |
Sends receiver, parcels, service, custom_attributes, cod, insurance, reference; stores the shipment as “created” and completes it when InPost confirms |
| Services | inpost_locker_standard, inpost_courier_standard (and others) |
These two. Other services (Allegro, express, pallet) are not offered |
| Parcel Locker | custom_attributes.target_point (required), parcels: {"template": "small"}; sending_method |
target_point from the locker chosen at the checkout; template A/B/C from product box sizes (default size setting); sending_method from a setting (default parcel_locker) |
| Locker receiver | receiver.phone and receiver.email required |
Phone normalised to 9 digits; an order without a valid Polish mobile number is refused with a clear log message and nothing is sent |
| Courier | receiver address, parcels with dimensions (mm) and weight (kg) | Street and house number split from the address, post code NN-NNN, dimensions from product box sizes or the default size setting |
| Sender | Optional; the organization’s data is used by default | Never sent: the organization data of the token is used |
| COD / insurance | cod and insurance objects (amount, currency); insurance is required for courier shipments with COD |
Orders paid with the chosen payment method send the order total as COD in PLN; courier + COD is always insured; optional insurance at order total |
| Label | GET /v1/shipments/:id/label?format=pdf|zpl|epl&type=normal|A6 once the status is confirmed or later; courier has no normal type (A6) |
PDF or ZPL, normal or A6 (courier always A6). The documentation lists no A4 label type, so there is none |
| Cancel | DELETE /v1/shipments/:id, only in created or offers_prepared |
Cancel button while the shipment is “created”; an invalid_action answer is shown as is |
| Tracking | GET /v1/tracking/:tracking_number (public, 45 days, not available on the sandbox) |
The add-on reads the shipment resource (GET /v1/shipments/:id, status and tracking number) so it also works in the sandbox; statuses are mapped to created, in transit, delivered, problem, canceled |
| Webhooks | Events shipment_confirmed, shipment_status_changed, offers_prepared; not signed; sent from 91.216.25.0/24; the address must answer GET with 200 |
The URL contains a secret key; a request without it is rejected. An event only makes the add-on read the shipment again, its body is never trusted. GET answers 200 |
| Points | Public Points API, Geowidget v5 (<inpost-geowidget>, token from Parcel Manager) |
Geowidget v5 in a dialog (token is public and entered on the Connection page); without a token the customer types the locker code, which is checked with GET /v1/points/:name |
| Errors | {status, error, message, details}, e.g. validation_failed with details per field |
Messages are shown with the field details; 4xx answers are not retried, network errors, 429 and 5xx are |
| Rate limits | Not stated on the pages we read | Back-off retries; no parallel bursts |
Not covered in 1.0.0
Section titled “Not covered in 1.0.0”Dispatch orders (courier pick-up), return labels, bulk label download in the UI, other ShipX services and countries, the InPost International and “InPost Pay” products.