Integrieren Sie UniTracker nahtlos in Ihre bestehenden Logistik- und ERP-Systeme über unsere RESTful API.
Erfahren Sie alles über unsere Webhook-Endpunkte für Paketstatus, Fahrer-Events und Empfänger-Präferenzen.
Öffentliche Endpunkte zum Lesen grundlegender Paketstatus benötigen keine Authentifizierung. Für alle Endpunkte, die Daten erstellen oder ändern, ist jedoch ein API-Schlüssel erforderlich. Sie können API-Schlüssel im Admin-Dashboard generieren.
Headers:
x-api-key: YOUR_API_KEY
Content-Type: application/json
Alle API-Fehler folgen einem standardisierten JSON-Format, um die Fehlerbehebung zu erleichtern.
{
"success": false,
"error": "Error message description",
"code": 400
}Um einen stabilen und sicheren Betrieb zu gewährleisten, unterliegen alle API-Endpunkte einer Ratenbegrenzung mit Sliding-Window-Zählern. Standardmäßig haben authentifizierte Anfragen mit API-Schlüssel ein deutlich höheres Kontingent als anonyme Abfragen.
Standard für verifizierte Partner & Carrier
Tracking-Abfragen ohne Authentifizierung
Toleranz für kurzzeitige Lastspitzen
X-RateLimit-Limit: 120 // Maximale Anfragen im aktuellen Zeitfenster
X-RateLimit-Remaining: 84 // Verbleibende Anfragen im Zeitfenster
X-RateLimit-Reset: 1727140000 // UTC Unix-Timestamp, wann das Fenster zurückgesetzt wird
Retry-After: 18 // Sekunden bis zur nächsten erlaubten Anfrage (bei HTTP 429)
{
"success": false,
"error": "Rate limit exceeded. Maximum 120 requests per 60s allowed. Please retry in 18 seconds.",
"code": 429,
"limit": 120,
"remaining": 0,
"reset": 1727140000,
"retryAfter": 18,
"identifierType": "api_key"
}/api/v1/packages/{trackingCode}Rufen Sie grundlegende Tracking-Informationen und den Verlauf für ein bestimmtes Paket ab.
{
"trackingId": "TRK-987654321",
"currentStatus": "IN_TRANSIT",
"lastUpdated": "2026-07-29T10:00:00.000Z",
"history": [
{
"status": "LABEL_CREATED",
"timestamp": "2026-07-28T14:30:00.000Z",
"note": "Label created by sender"
}
]
}/api/v1/packagesErstellen Sie ein neues Paket oder aktualisieren Sie ein bestehendes. Wenn die trackingId existiert, wird ein neues Verlaufsereignis angehängt und der currentStatus aktualisiert.
responsibleUserId im Anfragekörper angeben, um anzugeben, welcher Benutzer die Aktualisierung vornimmt. Wenn Sie versuchen, ein Paket zu aktualisieren, das einem nicht an Ihren Schlüssel gebundenen Benutzer zugewiesen ist, erhalten Sie einen 403 Forbidden Fehler. Wenn ein Paket über die API erstellt wird, wird der angegebene Benutzer automatisch zum verantwortlichen Transporteur.LABEL_CREATED, PICKED_UP, AT_SORTING_FACILITY, IN_TRANSIT, OUT_FOR_DELIVERY, DELIVERED, DELAYED_WEATHER, DELAYED_CUSTOMS, ATTEMPTED_DELIVERY_FAILED, RETURNED_TO_SENDER, LOST_IN_TRANSIT, DAMAGED{
"trackingId": "TRK-123456789",
"currentStatus": "IN_TRANSIT",
"note": "Arrived at customs", // Optional
"responsibleUserId": "usr-123", // Required if API key is bound to multiple users
"recipientName": "John Doe", // Optional, used on creation
"recipientAddress": "123 Main St", // Optional, used on creation
"recipientPhone": "+15550100" // Optional, used on creation
}{
"success": true,
"trackingId": "TRK-123456789",
"status": "Updated"
}{
"success": false,
"error": "Forbidden: You are not responsible for this package",
"code": 403
}/api/v1/usersRufen Sie die Liste der Ihrem API-Schlüssel zugeordneten Benutzer (Fahrer/Subunternehmer) ab. Dies ist nützlich, um die richtige responsibleUserId für das Erstellen oder Aktualisieren von Paketen im Namen verschiedener Fahrer zu identifizieren.
{
"users": [
{
"id": "usr-123",
"name": "John Doe Driver"
},
{
"id": "usr-456",
"name": "Jane Smith Subcontractor"
}
]
}