Transcon Express, de techniek

Transcon Express biedt de mogelijkheid om via een REST API transportorders in te schieten in een TMS. Op basis van events kunnen eventueel statusupdates worden teruggestuurd naar een webhook.
Deze pagina bevat in stappen de technische uitleg om (eenmalig) aan te melden en vervolgens orders te versturen.
Basis URL:
https://transcon.nl/api/v1/express
Snel starten? Gebruik dan de Postman collectie of de n8n workflow:
💡
Liever naar de niet technische uitleg?
klik hier
 

Aanmelden

Het aanmelden gebeurt eenmalig met een sleutel, een relatienummer en een naam. Deze gegevens ontvangt u van de TMS-eigenaar. De sleutel wordt bij het aanmelden als bearer token gebruikt.
Authorization: Bearer dfafa342dfsadf...
/onboarding
{ "clientNr": "11111", "clientName": "Apada" }
Er komt een token terug, deze token gebruikt u, ook weer als bearer token, in alle andere aanroepen:
{ "token": "persoonlijke-token" }

Instellingen - webhook configureren

Als u statusupdates op een webhook wilt ontvangen, kunt u dit zelf instellen via een JSON POST naar het settings-endpoint.
In de instellingen geeft u de URL op van de webhook waarop de statusupdates mogen worden gepost, samen met een token of een gebruikersnaam-/wachtwoordcombinatie. Bij gebruik van een token worden de berichten verstuurd met dit token als bearer token. Bij gebruik van een gebruikersnaam-/wachtwoordcombinatie wordt basic authentication toegepast met deze gegevens.
De technische contactgegevens worden gebruikt om contact op te nemen als statusupdates niet verwerkt kunnen worden.
/settings
Authorization: Bearer persoonlijke-token
{ "webhook": { "url": "https://example.com/webhook", "token": "your-webhook-token", "username": "webhook-user", "password": "secure-password-123" }, "technicalContact": { "name": "Jan Jansen", "email": "tech@example.com" } }
Retour: http code 200 (OK) of 401 (Unauthorized)

Transportorder versturen

U bent nu klaar om een order aan te maken. De reference wordt gebruikt als orderkenmerk in het TMS en komt ook terug in alle statusberichten. Een eerder gebruikte reference resulteert altijd in een nieuwe order; bestaande orders worden niet bijgewerkt. Zorg dus voor unieke references
De afmetingen van de goederen geeft u op in centimeters en het gewicht in kilogrammen. Barcodes meesturen is niet verplicht; het TMS kan deze zelf genereren. Het meesturen van barcodes is vooral zinvol als u zelf labels print, omdat het opnieuw labelen voorkomt.
/order
Authorization: Bearer persoonlijke-token
{ "account": { "number": "1", "name": "Apada" }, "transportOrder": [ { "reference": "TO-2026-001", "pickup": { "address": { "name": "Noordelijke Productie BV", "address": "Productieweg", "number": "75", "postalCode": "1013 AB", "city": "Amsterdam", "countryCode": "NL", "contact": "Jan de Vries", "email": "j.devries@noordproductie.nl", "phone": "+31 20 1234567" }, "date": "2026-04-05", "timeBegin": "07:00:00", "timeEnd": "08:30:00", "instructions": "Gebruik oostelijke laadplein. Beveiligingspas vereist." }, "delivery": { "address": { "name": "Centrale Distributie Nederland", "address": "Industrieterrein West", "number": "350", "postalCode": "3044 AB", "city": "Rotterdam", "countryCode": "NL", "contact": "Maria Jansen", "email": "m.jansen@centraledistributie.nl", "phone": "+31 10 9876543" }, "date": "2026-04-06", "timeBegin": "11:00:00", "timeEnd": "13:30:00", "instructions": "Dock 12 gereserveerd. Kraanbediende staat klaar." }, "goods": [ { "count": 2, "type": "Euro pallet", "length": 120, "width": 80, "height": 220, "weight": 1200, "description": "Industriële machineonderdelen - zware apparatuur", "barcode": [ "NL001122334", "NL001122335" ] }, { "count": 3, "type": "Kist", "length": 80, "width": 60, "height": 45, "weight": 35, "description": "Precisiegereedschap en accessoires", "barcode": [ "NL556677889", "NL556677890", "NL556677891" ] } ] } ] }
Retour: http code 20 (OK) of 401 (Unauthorized)

Statusupdates

De order wordt nu in de wachtrij geplaatst en van daaruit verwerkt. Als u een webhook hebt ingericht ontvangt u hierop statusupdates. Als de webhook een fout geeft (alle response ongelijk aan HTTP code 2xx), wordt een uur lang elke 60 seconden een poging gedaan om het bericht alsnog te plaatsen. Daarna volgt een email naar het technische contact adres.

Bevestiging van verwerking

De order is aangemaakt in het TMS en wacht op acceptatie. Reference bevat uw eerdere doorgegeven reference en orderNo het ordernummer in het TMS.
{ "header": { "type": "Confirmation", "timestamp": "2026-04-21T16:34:36.4941474+02:00", "reference": "TO-2026-001", "orderNo": 113168 } }

Acceptatie

De order is geaccepteerd en gereed voor de planning
{ "header": { "type": "Accepted", "timestamp": "2026-04-21T16:34:38.3956996+02:00", "reference": "TO-2026-001", "orderNo": 113168 } }

Planning / verwachtte aankomst

De order is ingepland. Als de TMS-eigenaar beschikt over een track & trace-pagina, wordt de unieke link voor deze order ingevuld.
Het planningsbericht wordt telkens verstuurd zodra de planning wordt aangepast. Dit kan een handmatige wijziging door de planningsafdeling zijn, maar ook een update vanuit live tracking.
Het is mogelijk dat het ophalen eerder wordt ingepland dan de levering; het delivery-deel is dan leeg.
{ "header": { "type": "Eta", "timestamp": "2026-04-21T16:34:38.8628699+02:00", "reference": "TO-2026-001", "orderNo": 113168 }, "pickup": { "date": "2026-04-22T00:00:00+02:00", "timeWindowBegin": "09:00:00", "timeWindowEnd": "11:00:00" }, "delivery": { "date": "2026-04-23T00:00:00+02:00", "timeWindowBegin": "14:00:00", "timeWindowEnd": "16:00:00" }, "trackAndTraceUrl": "https://tracker.nu/3sgdsd2" }

Ophalen gereed

Het ophalen van de goederen is afgerond. Bij een niet succesvolle afronding is extra contact met de vervoerder te adviseren.
{ "header": { "type": "PickupCompleted", "timestamp": "2026-04-21T16:34:39.4591111+02:00", "reference": "TO-2026-001", "orderNo": 113168 }, "dateTimeCompleted": "2026-04-21T16:34:39+02:00", "successful": true }

Levering gereed

De levering is afgerond. Als er een ontvanger is ingevuld staat deze bij acceptedBy, als er een handtekening is gezet staat deze als base64 PNG bij signature.
{ "header": { "type": "DeliveryCompleted", "timestamp": "2026-04-21T16:34:39.9937597+02:00", "reference": "TO-2026-001", "orderNo": 113168 }, "dateTimeCompleted": "2026-04-21T16:34:39+02:00", "acceptedBy": "Marcel", "signature": "iVBORw0KGgoAAAANSUhEUgAA.....Vc2UAxwAAAABJRU5ErkJggg==", "successful": true }
 

Versiebeheer

Wijzigingen die niet “breaking” zijn worden onder dezelfde versie (/v1/) gedaan. Als er wijzigingen zijn die ook aanpassing van de versturende partij eisen wordt dat onder een nieuw endpint (/v2/ ..) gedaan.