API & Integrations
Pull your shipment data as JSON — plug into Zapier, n8n or your own ERP.
Quick start
Add ?type=json to your participant link to receive JSON instead of the HTML view.
curl "https://viaveg.com/p/{YOUR_TOKEN}?type=json"
Endpoint
GET
/p/{token}?type=json
Returns the shipment, current phase, participant info, and every entry (checklist / QC) visible from your role.
Sample response
{
"shipment": {
"id": 35,
"reference": "VG-00035",
"cargo_name": "Brokuł 150kg",
"cargo_quantity": 150,
"cargo_unit": "kg",
"pickup_address": "...",
"delivery_address": "...",
"status": "in_progress",
"certified": false
},
"phase": {
"id": 89,
"name": "loading",
"status": "active",
"location": "...",
"started_at": "2026-04-17T07:00:00+00:00",
"completed_at": null
},
"participant": {
"id": 98,
"role": "producer",
"name": "...",
"email": "..."
},
"entries": [
{
"id": 42,
"type": "checklist",
"status": "draft",
"template": {
"name": "Checklist załadunku",
"fields": [
{"key": "temperature_before", "label": "Temperatura", "type": "number", "hint": "°C"}
]
},
"data": {
"temperature_before": "4.2"
},
"completed_at": null,
"created_at": "2026-04-17T09:00:00+00:00",
"updated_at": "2026-04-17T19:24:00+00:00"
}
],
"generated_at": "2026-04-17T20:30:00+00:00"
}
Auth
The link token IS the key — each role gets its own unique URL.
- Token is 64 chars, generated when a participant is invited.
- Treat the link like a password — anyone who has it sees the data.
- Distributor can revoke access via "Deactivate participant".
Postman collection
Download a ready-to-go Postman 2.1 collection — set the token and start calling.
Download Postman collectionExamples
Python
import requests
r = requests.get("https://viaveg.com/p/YOUR_TOKEN", params={"type": "json"})
data = r.json()
for entry in data["entries"]:
print(entry["type"], entry["status"], entry["data"])
Node.js
const res = await fetch("https://viaveg.com/p/YOUR_TOKEN?type=json");
const data = await res.json();
console.log(data.shipment, data.entries);
Questions? mzoladkowicz@gmail.com