API Dokumentation

Integrieren Sie UniTracker nahtlos in Ihre bestehenden Logistik- und ERP-Systeme über unsere RESTful API.

Authentifizierung

Ö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

Fehler-Format

Alle API-Fehler folgen einem standardisierten JSON-Format, um die Fehlerbehebung zu erleichtern.

{
  "success": false,
  "error": "Error message description",
  "code": 400
}

Endpunkte

GET/api/v1/packages/{trackingCode}
Öffentlich (Keine Auth)

Rufen Sie grundlegende Tracking-Informationen und den Verlauf für ein bestimmtes Paket ab.

Antwort-Beispiel

{
  "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"
    }
  ]
}
POST/api/v1/packages
Auth Erforderlich

Erstellen Sie ein neues Paket oder aktualisieren Sie ein bestehendes. Wenn die trackingId existiert, wird ein neues Verlaufsereignis angehängt und der currentStatus aktualisiert.

Hinweis zur Autorisierung: API-Schlüssel können an einen oder mehrere Benutzer gebunden werden. Sie können nur Pakete aktualisieren, die derzeit einem der Ihrem API-Schlüssel zugeordneten Benutzer zugewiesen sind. Wenn Ihr API-Schlüssel an mehrere Benutzer gebunden ist, MÜSSEN Sie 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.

Erlaubte Paket-Status

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

Anfrage-Body

{
  "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
}

Erfolgreiche Antwort

{
  "success": true,
  "trackingId": "TRK-123456789",
  "status": "Updated"
}

Fehler-Antwort (403)

{
  "success": false,
  "error": "Forbidden: You are not responsible for this package",
  "code": 403
}
GET/api/v1/users
Auth Erforderlich

Rufen 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.

Erfolgreiche Antwort

{
  "users": [
    {
      "id": "usr-123",
      "name": "John Doe Driver"
    },
    {
      "id": "usr-456",
      "name": "Jane Smith Subcontractor"
    }
  ]
}