CIIFragments Studio is CII-accredited: recover up to 20% of your software development spendLearn more

API integration for Chronopost

We build your Chronopost connector

We connect your ERP or store to the Chronopost web services so the label is issued at packing, the skybill is tied to the order and tracking lands in the customer record, with no spreadsheet and no carrier portal.

  • Senior product team
  • carrier connectors in production
  • from scoping to monitoring
In short

What does the Chronopost API provide and why integrate it into business software?

Chronopost is the express delivery service of the La Poste group for express shipments in France and internationally. Its API lets your application create a parcel, generate the shipping label and track the delivery directly from your software. You integrate it to move label generation out of the Chronopost client area and into the dispatch process, attach the tracking number to the order or client file automatically, and display real-time delivery status without the team manually consulting the carrier portal.

Use cases

What our clients build on the Chronopost API

01

Label at packing

The order moves to preparation, shippingV7 creates the parcel, the skybill is stuck on the delivery note. The warehouse prints, it no longer retypes the address.

02

Rate and delay before checkout

quickCostV3 and calculateDeliveryTime feed the checkout. Chrono 10, 13, 18 or Relais stop being a decorative menu.

03

Support with proof of delivery

The latest trackSkybillV2 event shows up on the ticket. searchPOD attaches the POD to the file, instead of a carrier email.

04

Evening pickup from the WMS

Once the last carton is weighed, creerEnlevementNational goes out. No more web form for a warehouse that ships every day.

For you

What it changes in your logistics

Engineering in service of a measurable outcome: the label at packing, tracking in the record, zero duplicate parcels.

The label comes from the business software

No more PDF downloaded by hand from the carrier portal. The skybill is order data, printed at the right time.

Support reads the same status

Tracking lives in the ERP. You stop opening Chronotrace to answer « where is the parcel ».

A timeout does not create two parcels

The skybill is persisted before the order is marked shipped. A replay reads the table, it does not call shippingV7 a second time.

The existing contract is enough

Chronopost is often already the client's carrier. The integration does not add a network, it removes the spreadsheet.

Method

How we ship your Chronopost connector

01

Scoping

Which products (Chrono 10, 13, 18, Relais), single or multi-parcel, pickup, returns. We freeze the SOAP operations before generating the client.

02

Development

SOAP client regenerated from the live WSDLs, operations frozen (shippingV7, trackSkybillV2, quickCostV3), idempotency table, print queue decoupled from the call.

03

Acceptance testing

Accented French addresses, a timeout replayed with no second parcel, PDF or ZPL label per the contract, tracking limited to open parcels.

04

Monitoring

Alerts on SOAP failures, an inspectable dead letter queue, a tracking job limited to undelivered parcels. You see a broken WSDL before the warehouse does.

The API

What the Chronopost API allows

Shipping and labels
shippingV7 creates the parcel, shippingMultiParcelV7 handles split orders. The PDF or ZPL label comes afterwards, without recreating the skybill.
Tracking and proof of delivery
trackSkybillV2 polls the parcel, searchPOD brings back the POD. No webhook: a bounded job, not a scan of the full history.
Rate and delay at checkout
quickCostV3 and calculateDeliveryTime show a price and a date before confirmation, against the real contract, not a frozen grid.
On-demand pickup
faisabiliteESD then creerEnlevementNational: a flow separate from shipping, with depot constraints. Mixing them is a business error.
Glossary

The vocabulary of the Chronopost API

skybillNumber
The Chronopost parcel number. It is the key to persist before marking the order shipped: without it in the database, a timeout followed by a replay creates a second parcel.
shippingV7
The current SOAP operation for creating a shipment. The WSDL still keeps shipping, shippingV2 through shippingV6: calling « whatever is last in the file » without freezing it is a library trap.
reservationNumber
The label reservation identifier, to be stored with the skybill. It is what you use to retrieve the document without running creation again.
ESD
On-demand pickup. faisabiliteESD then creerEnlevementNational, with depot constraints (hla, hlp, codeAgence). It is not a shippingV7 parameter.
Chronotrace
The tracking portal and the source of the API password, obtained from sales. Without a contract and a Chronotrace password, the WSDL answers but ships nothing.
quickCostV3
The contract rating operation. Paired with calculateDeliveryTime, it makes the Chrono 10 / 13 / 18 / Relais choice actually priced in the funnel.
Good to know

The real constraints of the Chronopost API

01

No documented idempotency

Retrying shippingV7 after a timeout creates a second parcel. The key is yours: persist skybillNumber before treating the call as successful, and call the operation only once per order.

02

No public REST and no webhook

Native integration goes through the WSDLs. Tracking is polled (trackSkybillV2) or read in Chronotrace. A generic « carrier connector » that expects signed JSON produces silent tracking.

03

Versioning lives in the name

Seven shipping* versions coexist in a single WSDL. A library generated in 2022 can call an operation that is still listed but behaviourally stale. We regenerate from the live WSDL, and we freeze V7.

04

Quotas are not published

Nothing numeric is shown on chronopost.fr. Staging, sandbox and throughput are negotiated with sales. A quote that starts with « we take an API key » is wrong.

Chronopost or Colissimo

Chronopost or Colissimo for your shipments?

Two La Poste networks, two API contracts. Express on one side, home and pickup-point density on the other. The right one depends on the delay you sell.

CriterionChronopostThis pageColissimoLa Poste density
ProtocolSOAP only, public WSDLsSOAP and REST v2, same SLS contract
NetworkExpress Chrono 10 / 13 / 18 / RelaisHome, post office, locker, pickup point
LabelshippingV7 then getSkybillgenerateLabel: pre-alert and PDF together
Validation without a parcelNo equivalent documented methodcheckGenerateLabel, no number and no pdfUrl
Real-time trackingPolling, no documented webhookTracking web service behind the business portal
IdempotencyTo be built in your databaseTo be built in your database
The right caseB2B express, delay sold at checkoutDense French checkout, letterbox returns

The two combine behind an internal abstraction (create, track, cancel). Chronopost and Colissimo do not share the same error contract. It is a scoping trade-off, not a permanent choice.

Our expertise

What we measure on a Chronopost integration

21 d
first Chronopost flow in production
3
WSDLs wired (shipping, tracking, rating)
0
parcels created twice on a replay
4
senior developers on the project
Compare

The other carrier APIs

If express is not the product you sell, these options are worth discussing during scoping.

We combine Chronopost with

The stack that surrounds Chronopost on our projects.

  • Odoo
  • Stripe
  • n8n
  • PostgreSQL
  • Node.js
FAQ

Chronopost integration: your questions

Three steps. Obtain the contract number and the Chronotrace password from sales: without them the WSDLs answer but ship nothing. Generate a SOAP client from the live WSDLs (shipping, tracking, quickcost) and freeze shippingV7, trackSkybillV2 and quickCostV3, rather than calling an older operation still listed. Then put an order-to-skybillNumber table, written before marking the shipment, and a label print queue decoupled from the SOAP call. The sensitive part is not the WSDL: it is idempotency, because a timeout followed by a replay creates a second parcel.

A first useful flow, typically the label at packing with the skybill tied to the order, ships in three to four weeks. A complete chain with rates at checkout, multi-parcel, ESD pickup, POD in support and a bounded tracking job is closer to six to eight weeks. Duration depends less on SOAP than on contract access, the staging environment negotiated with sales, and the label format (PDF or ZPL). We scope the perimeter up front and give a firm estimate before we start.

No public REST API documented by Chronopost, and no tracking webhook on the public WSDLs. Native integration goes through SOAP: ShippingServiceWS, TrackingServiceWS, QuickcostServiceWS. Tracking is polled with trackSkybillV2, or read in Chronotrace. The PrestaShop, WooCommerce, Shopify or Magento modules are a shop shortcut, not an ERP connector. If your architecture assumes signed JSON and a self-service API key, scoping has to say so immediately: that is not the Chronopost contract.

Chronopost is express (Chrono 10, 13, 18, Relais) in SOAP only, with rate and delay exposed before confirmation. Colissimo is La Poste density (home, post office, locker, pickup point) with a single SLS contract in SOAP and REST v2, and checkGenerateLabel to validate without consuming a parcel number. Both require a contract, neither offers native idempotency. You pick Chronopost when the delay you sell is express. You pick Colissimo when checkout must offer the densest network, including letterbox returns. Sometimes the answer is both, behind the same internal abstraction.

By not trusting the network. shippingV7 has no documented idempotency header. We persist skybillNumber and reservationNumber before marking the order as shipped. A timeout reads that table, it does not call the operation again. Printing (PDF or ZPL) is a separate queue: a printer failure reprints the stored document, it does not recreate the parcel. The tracking job only covers open skybills. It is the same discipline as for Colissimo and Mondial Relay, with a different error contract each time.

A Chronopost integration project?

Let's talk. 30 minutes to scope your flows, check what the WSDLs actually allow and tell you honestly what is feasible.

Discuss my Chronopost project
Discuss my Chronopost project