Überspringen zum Inhalt

Fehlerbehebung

Das Fehlerformat, jeder Statuscode, den die API zurückgibt, und die Verwendung von Anforderungs-IDs.

Public API Status

Die v1-API verwendet unternehmensweit erfasste Trägerschlüssel und erfordert einen aktiven Planzeitraum. Endpunkte für Entwurfs- und Zahlungsberichte senden keine Kundennachrichten. Beispiele verwenden Platzhalter — fügen Sie niemals einen echten Schlüssel in einen freigegebenen Code ein.

Fehlerformat

Jeder Fehler hat die gleiche JSON-Form:

JSON
{
    "error": {
        "code": "not_found",
        "message": "Resource not found."
    },
    "request_id": "9fd120d8-f54e-4413-bc52-a860800ff222"
}

Validierungsfehler fügen ein fields-Objekt mit Nachrichten pro Feld hinzu:

JSON
{
    "error": {
        "code": "validation_failed",
        "message": "Validation failed.",
        "fields": {
            "currency": ["The selected currency is invalid."],
            "due_date": ["The due date field is required."]
        }
    },
    "request_id": "89a24d53-684a-4e1d-b0ee-2f6a5a7cd2c2"
}

Fehlerantworten enthalten niemals Stack-Traces, Geheimnisse oder Daten anderer Unternehmen.

Statuscodes

Status error.code Wann
401 unauthenticated Fehlender, ungültiger oder abgelaufener API-Schlüssel.
403 forbidden Dem Schlüssel fehlt der Umfang, oder der Schlüsseleigentümer, die Mitgliedschaft oder das Unternehmen ist nicht berechtigt.
404 not_found Die Ressource existiert nicht or gehört zu einem anderen Unternehmen.
409 conflict Idempotenz-Schlüssel mit einem anderen Körper wiederverwendet, veraltet expected_version, doppelte external_reference, oder eine Draft-only Änderung auf einem nicht-Entwurf Forderung.
422 validation_failed Ein Feld fehlt oder ist ungültig, das Idempotency-Key fehlt oder eine Statusänderung ist nicht erlaubt.
429 rate_limited Zu viele Anfragen — siehe Rate limits].
500 server_error Etwas ging schief auf unserer Seite. Versuchen Sie es später mit dem gleichen Idempotency-Key.

Antrags-IDs

Jede Antwort trägt einen X-Request-Id-Header. Fehlerantworten und Leseantworten enthalten sie auch als request_id im Body. Fügen Sie sie ein, wenn Sie den Support kontaktieren, damit die Anfrage verfolgt werden kann.

Sicheres Wiederholen

  • Retry 429, 500 und Netzwerkfehler mit Backoff.
  • Versuchen Sie es für Schreibvorgänge mit dem same Idempotency-Key und dem same-Body; Sie erhalten das Originalergebnis anstelle eines Duplikats.
  • Versuchen Sie die 4xx-Validierung oder Konfliktfehler nicht unverändert erneut – beheben Sie zuerst die Anforderung.