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

API integration for Colissimo

We build your Colissimo connector

We connect your store or WMS to the Colissimo web services so checkout offers a real pickup-point choice, the pre-alert leaves with the label, and the parcel number lands on the order.

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

What does the Colissimo API provide and why integrate it into a shipping workflow?

Colissimo is La Poste's standard parcel service, used by the majority of e-commerce businesses and companies that ship across France and Europe. Its API lets you generate a shipping label, display eligible pick-up points in your checkout, and track each parcel. You integrate it to automate shipping from the back office or ERP, eliminate double data entry between the management software and the Colissimo client area, and automatically send the tracking link to the recipient as soon as the parcel is collected.

Use cases

What our clients build on the Colissimo API

01

Checkout with a pickup-point map

findRDVPointRetraitAcheminement lists eligible points at the address typed in. The pickup point is no longer a dead field in the funnel.

02

SLS label at packing

generateLabel files the pre-alert and returns PDF or ZPL. The thermal printer prints, La Poste already knows the parcel.

03

Returns with no printer

getListMailBoxPickingDates then planPickup: the customer no longer has to print or drop off at the post office. That is an e-commerce argument.

04

Export with CN23 in the same call

getProductInter and generateLabel carry the international options. The business software no longer has to know the customs form.

For you

What it changes in your logistics

Engineering in service of a measurable outcome: a chosen pickup point, a pre-alert sent, a return with no printer.

The pickup point is a checkout object

Hours, eligibility, identifier stored on the order. No longer a list copied from a map PDF.

The parcel is no longer a stranger at the depot

The pre-alert leaves with the label. Without it, two tools, two gestures, and a parcel La Poste is not expecting.

A second generateLabel is not a reprint

The parcel number and the PDF are persisted. Reissuing means reprinting the stored file, not sending a second pre-alert.

Checkout survives a Pudo outage

If supervision.jsp returns [KO], we degrade to home delivery or a queue, we do not show an empty map.

Method

How we ship your Colissimo connector

01

Scoping

Home, pickup points, international, letterbox returns, SOAP or REST. We reread the product codes on the contract, we do not freeze a 2022 enum.

02

Development

Address and phone normalisation before the call, checkGenerateLabel at checkout, generateLabel once per carton, PDF and CN23 kept.

03

Acceptance testing

SLS test labels, no live parcels. SOAP XML order checked, Pudo supervision [KO] replayed, a malformed phone rejected before franking.

04

Monitoring

Health-check of supervision.jsp, alerts on generateLabel failures, an inspectable dead letter queue. You see a pickup-point WS down before your customers do.

The API

What the Colissimo API allows

SLS franking
generateLabel: pre-alert, label (PDF, ZPL, DPL) and CN23 in the same call. REST v2 or SOAP v2, it is the same business contract.
Validation without a parcel number
checkGenerateLabel replays the checks with no pdfUrl and no identifier. The funnel can fail cleanly before the logistics commitment.
Pickup points
findRDVPointRetraitAcheminement and findPointRetraitAcheminementByID. The widget is faster to drop in, with less graphic control.
Letterbox collection
getListMailBoxPickingDates then planPickup, on return products CORE 8R and CORF CQ. Support no longer requires a printer from the customer.
Glossary

The vocabulary of the Colissimo API

SLS
Simple Label Solution: the franking contract. SOAP v2 and REST v2 coexist, v2 includes all the features of version 1. Choosing REST does not remove the SLS business rules.
checkGenerateLabel
A blank check: the same rules as generateLabel, with no number, no XOP links, no pdfUrl. It is not a silent dry-run of the same parser.
outputPrintingType
The label format requested: PDF, ZPL or DPL. A thermal warehouse does not expect an A4 PDF. The choice is frozen during scoping, not in an if at packing.
CN23
The customs declaration returned with the label for international. Keep it: La Poste does not serve these documents back as an eternal CDN.
supervision.jsp
The pickup-point WS supervision page, which contains [OK] or [KO]. A checkout that ignores [KO] shows an empty map the day the Pudo is down.
unmarshalling error
A SOAP error when the XML order does not follow the WSDL. A client that serialises by field name rather than by sequence is the first bug of a homemade SDK.
Good to know

The real constraints of the Colissimo API

01

The recipient phone makes the label fail

The spec tightened formats (006/007 towards 00336/00337). A poorly normalised « 06 12 34 56 78 » breaks generateLabel, not only Predict SMS. We normalise before the call.

02

Product codes move

5W, 7U, A2P/9H, BPR/9M, CORF-CQ, EN through EX: an enum frozen in 2022 is wrong in 2026. Codes are reread in the current spec and against the contract tariff.

03

No native idempotency

One generateLabel per order (or per carton), number persisted, PDF stored. Reissue = reprint. A second call sends a second pre-alert.

04

SLS quotas are not published

The July 2022 spec does not number throughput or the retry policy. We confirm it during scoping with the business portal, we do not invent a ceiling.

Colissimo or Chronopost

Colissimo or Chronopost for your shipments?

La Poste network density on one side, express on the other. Both require a contract. The right one depends on what checkout promises.

CriterionColissimoThis pageChronopostExpress
ProtocolSOAP and REST v2, same SLS contractSOAP only, public WSDLs
NetworkHome, post office, locker, pickup pointExpress Chrono 10 / 13 / 18 / Relais
LabelgenerateLabel: pre-alert and PDF togethershippingV7 then getSkybill
Validation without a parcelcheckGenerateLabel, no number and no pdfUrlNo equivalent documented method
ReturnsLetterbox collection (planPickup) documentedReturn label tied to the original order
IdempotencyTo be built in your databaseTo be built in your database
The right caseDense French checkout, letterbox returnsB2B express, delay sold at checkout

The two combine behind an internal abstraction (create, track, cancel). Distinguishing SLS, pickup points, the widget and the tracking WS avoids the « we wire Colissimo » quote at 4 days. It is a scoping trade-off.

Our expertise

What we measure on a Colissimo integration

21 d
first Colissimo flow in production
2
contracts wired (SLS and pickup points)
0
pre-alerts sent twice on a replay
4
senior developers on the project
Compare

The other carrier APIs

If La Poste density is not the network you sell, these options are worth discussing during scoping.

We combine Colissimo with

The stack that surrounds Colissimo on our projects.

  • API Adresse
  • Stripe
  • n8n
  • PostgreSQL
  • Node.js
FAQ

Colissimo integration: your questions

Four building blocks, not one. The pickup-point WS in checkout, with a health-check of supervision.jsp and a home-delivery fallback if the page returns [KO]. checkGenerateLabel to validate address, phone (0033 format) and product without consuming a number. generateLabel at preparation, once per carton, PDF or ZPL and CN23 kept. Letterbox returns (dates then planPickup) if support must work without a printer. SOAP or REST v2 is the same SLS contract: we choose the envelope during scoping, we do not mix XML order. The pickup-point widget is faster to drop in, with less graphic control.

A first useful flow, typically pickup points at checkout and an SLS label at packing, ships in three to four weeks. A complete chain with checkGenerateLabel, letterbox returns, international CN23, mapping of the contract product codes and Pudo supervision is closer to six to eight weeks. Duration depends less on REST than on access to the business portal, the products actually open on the contract, and the printer format. We scope the perimeter up front and give a firm estimate before we start.

Both v2 coexist on the same SLS business contract. La Poste recommends v2, which includes all the features of version 1. Choosing REST does not remove field order, product codes or checkGenerateLabel. In SOAP, XML order is contractual: a client that serialises by name rather than by WSDL sequence gets an unmarshalling error, the first bug of a homemade SDK. We settle it during scoping according to your stack, and we freeze one envelope, not both in parallel on the same flow.

Colissimo is density (home, post office, locker, pickup point) with SLS in SOAP and REST, checkGenerateLabel, and documented letterbox returns. Chronopost is express in SOAP only, with rate and delay (quickCostV3, calculateDeliveryTime) before confirmation, and tracking by polling with no public webhook. Both need a contract, neither has native idempotency. You pick Colissimo when checkout must offer the densest network. You pick Chronopost when the delay you sell is express. The two combine behind an internal abstraction.

Because it is not a silent generateLabel. The spec deliberately omits the parcel number, XOP links and pdfUrl. It is the business sandbox: validate without committing. Code that parses the same response shape on both methods breaks in staging, usually the day generateLabel is finally wired. We keep two response types, we only call generateLabel once the order is confirmed, and we store PDF, ZPL and CN23: La Poste does not serve them back as a CDN.

A Colissimo integration project?

Let's talk. 30 minutes to scope your flows, check what SLS and the pickup-point WS actually allow and tell you honestly what is feasible.

Discuss my Colissimo project
Discuss my Colissimo project