Some parts of transport software have little to do with your product, and you still can't ship without them. Someone has to keep the ADR table up to date. Someone has to decode binary tachograph files. Someone has to read the Excel sheet a customer sends every Friday.
We needed all of those ourselves, so here they are as API calls. Nothing you send is stored.
ADR by UN number, no key needed
This one is public, so you can try it right now:
curl "https://api.app.transportial.com/api/adr/un-numbers?search=1203&max=1"
You get the entry from ADR Table A for gasoline, and much more than a name:
{
"unNumber": "1203",
"name": "MOTOR SPIRIT or GASOLINE or GASOLINE",
"adrClass": "3",
"classificationCode": "F1",
"packingGroup": "II",
"dangerLabels": "3",
"limitedQuantities": "1 L",
"transportCategory": "2",
"tunnelCode": "D/E",
"hazardIdentificationNumber": "33",
"carriageRestrictions": "Carriage in BULK is not permitted"
}
That covers most of what an order form needs to check a dangerous goods line: the class, the packing group and the limited quantity. The tunnel code feeds straight into route calculation, so the truck avoids tunnels the load may not use. Search by number or name, and filter by class.
Tachograph files as JSON
Driver cards and vehicle units produce binary downloads in a format that takes real effort to decode. POST /tachograph/convert/binary takes the file as a multipart upload and returns its decoded contents as JSON. It runs in memory, and the file isn't kept.
curl -X POST "https://api.app.transportial.com/api/tachograph/convert/binary" -H "x-api-key: $TRANSPORTIAL_KEY" -H "x-api-secret: $TRANSPORTIAL_SECRET" -F "[email protected]"
PDFs and Excel files as tables
Freight still arrives as attachments. POST /file/toMatrix takes a PDF or Excel file and returns rows and cells of text, ready for your own mapping. POST /file/toHtml returns the file as HTML, which is handy for previews.
One thing to watch
The file endpoints answer HTTP 200 with success: false when a file can't be read. Check that field, not just the status code.
Try it
All of these are on the compliance and documents page, and the guide in our documentation has examples for each one.


