B2BB2B LLM

Rückrufe

Empfangen Sie signierte, idempotente Server-zu-Server-Ereignisse und abgeschlossene asynchrone Ergebnisse.

Rückrufe

Konfigurieren Sie eine Rückruf-URL in Profil → Rückrufe und asynchrone Ergebnisse. Model Gate sendet HTTPS POST Anfragen für aktivierte Kontobenachrichtigungen und abgeschlossene native asynchrone Inferenzanfragen. Die Rückrufzustellung erfolgt unabhängig von der Inferenzverarbeitung und läuft über eine dedizierte dauerhafte Model Gate-Worker-Warteschlange.

Rückruf-URL und ausgehende Sicherheit

Verwenden Sie einen öffentlich erreichbaren HTTPS-Endpunkt. Die Rückruf-URL-Validierung ist eine ausgehende Sicherheitsgrenze. Loopback-, private, Link-Local-, Carrier-Grade-NAT-, Dokumentations-/Test-, Multicast-, nicht spezifizierte und reservierte IP-Bereiche werden abgelehnt. Der Hostname wird beim Speichern und erneut während der Zustellung validiert; Weiterleitungen werden erneut validiert. Richten Sie Rückrufe nicht auf interne Dienste oder Weiterleitungen in private Netzwerke.

Gemeinsamer Ereignisumschlag

Jeder Rückruf verwendet denselben Umschlag:

{
  "event_id": "01J...",
  "event": "account.balance_low",
  "occurred_at": "2026-08-28T07:00:00Z",
  "data": {}
}

event_id ist bei jedem erneuten Versuch eines logischen Ereignisses stabil. Lieferungen deduplizieren durch event_id; Schließen Sie nicht auf die Identität, indem Sie den Rest der Nutzlast vergleichen. occurred_at ist UTC RFC3339. Nutzlasten können im Laufe der Zeit zusätzliche Felder erhalten, daher müssen Verbraucher unbekannte Felder ignorieren.

Jede Lieferung enthält auch die gleiche Ereignis-ID X-Model-Gate-Event-ID.

Veranstaltungskatalog

account.balance_low

{
  "event_id": "01J...",
  "event": "account.balance_low",
  "occurred_at": "2026-08-28T07:00:00Z",
  "data": {
    "balance": "10.1234567890",
    "threshold": "20.0000000000",
    "currency": "USD"
  }
}

key.spend_limit_threshold_reached

{
  "event_id": "01J...",
  "event": "key.spend_limit_threshold_reached",
  "occurred_at": "2026-08-28T07:00:00Z",
  "data": {
    "key_id": "KEY_PUBLIC_ID",
    "key_name": "Bank integration",
    "usage": "80.1234567890",
    "spend_limit": "100.0000000000",
    "threshold_percent": 80,
    "currency": "USD"
  }
}

group.spend_limit_threshold_reached

Die Nutzlast verwendet group_id, group_name, exakt dezimal usage, exakt dezimal spend_limit, ganze Zahl threshold_percent, Und currency = "USD".

request.completed

{
  "event_id": "01J...",
  "event": "request.completed",
  "occurred_at": "2026-08-28T07:00:00.123456Z",
  "data": {
    "request_id": "01J...",
    "status": "completed",
    "response_status": 200,
    "response": {"id":"msg_...","type":"message"}
  }
}

response_status ist nullbar, wenn kein Upstream-HTTP-Status vorhanden ist. Fehlgeschlagene/abgebrochene/abgelaufene asynchrone Ergebnisse können Folgendes umfassen: data.error.

Finanzielle Werte in Callback-Payloads sind exakte Dezimalzeichenfolgen. Es handelt sich nicht um gerundete Anzeigewerte der Benutzeroberfläche.

Schwellenwertwarnungen werden erneut aktiviert, sobald der überwachte Wert seinen Schwellenwertzustand verlässt. Der Schwellenwert-Worker wertet die Bedingungen etwa einmal pro Minute aus, außerhalb des Inferenz-Hot-Pfads, sodass Schwellenwert-Rückrufe kein Echtzeit-Millisekunden-Überschreitungssignal darstellen.

Anfrageformat

POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Event-ID: 01J...
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256

Signaturüberprüfung

Berechnen Sie HMAC-SHA256 über die genaue Zeichenfolge <timestamp>.<raw_body> Verwenden des im Profil generierten Rückrufgeheimnisses. Das vollständige Geheimnis wird nur angezeigt, wenn es generiert oder rotiert wird, und wird im Ruhezustand verschlüsselt gespeichert. Vergleichen Sie die hexadezimale Signatur in konstanter Zeit und lehnen Sie Zeitstempel außerhalb Ihres akzeptierten Wiedergabefensters ab. Der HMAC-Zeitstempel ist spezifisch für einen Zustellversuch; Die event_id bleibt bei Wiederholungsversuchen stabil.

Zustellung, Antwort und Wiederholungsversuche

Beliebiges HTTP 2xx Die Antwort akzeptiert das Ereignis. HTTP 200 mit leerem Körper wird empfohlen. Transportfehler, Zeitüberschreitungen und jede Nicht-2xx-Antwort sind Fehler.

Jede Veranstaltung hat höchstens Insgesamt 6 Versuche: der erste Versuch plus fünf Wiederholungsversuche. Auf die Fehlversuche 1–5 folgt 5 Sekunden, 30 Sekunden, 2 Minuten, 10 Minuten und 1 Stunde. Jeder Versuch ist schwer 15 Sekunden Gesamtzeitüberschreitung. Nach dem sechsten Fehlversuch wird das Ereignis endgültig failed und es gibt keinen weiteren automatischen Wiederholungsversuch. Veraltete Worker-Ansprüche werden automatisch in die dauerhafte Warteschlange zurückgeführt.

Führen Sie keine langwierigen Arbeiten aus, bevor Sie antworten. Überprüfen Sie die Signatur, behalten Sie sie bei und deduplizieren Sie sie event_id, zurückkehren 2xxund asynchron verarbeiten.

Zugehörige Dokumentation