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 collection

Examples

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