B2BB2B LLM

Tilbagekald

Modtag signerede, idempotente server-til-server-hændelser og afsluttede async-resultater.

Tilbagekald

Konfigurer en tilbagekalds-URL i Profil → Tilbagekald og asynkroniserede resultater. Model Gate sender HTTPS POST anmodninger om aktiverede kontomeddelelser og gennemførte anmodninger om indbygget async-slutning. Tilbagekaldslevering er uafhængig af inferensbehandling og kører gennem en dedikeret holdbar Model Gate-arbejderkø.

Callback URL og udgående sikkerhed

Brug et offentligt tilgængeligt HTTPS-slutpunkt. Validering af tilbagekalds-URL er en udgående sikkerhedsgrænse. Loopback, private, link-local, carrier-grade NAT, dokumentation/test, multicast, uspecificerede og reserverede IP-intervaller afvises. Værtsnavnet valideres, når det gemmes og igen under levering; omdirigeringer genvalideres. Ret ikke tilbagekald på interne tjenester eller omdirigeringer til private netværk.

Fælles arrangementskonvolut

Hvert tilbagekald bruger den samme konvolut:

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

event_id er stabil for hvert genforsøg af en logisk hændelse. Deduplikatleverancer pr event_id; udled ikke identitet ved at sammenligne resten af ​​nyttelasten. occurred_at er UTC RFC3339. Nyttelaster kan få yderligere felter over tid, så forbrugerne skal ignorere ukendte felter.

Hver levering inkluderer også det samme begivenheds-id i X-Model-Gate-Event-ID.

Eventkatalog

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

Nyttelasten bruger group_id, group_name, nøjagtig decimal usage, nøjagtig decimal spend_limit, heltal threshold_percent, og 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 er null, når der ikke eksisterer nogen upstream HTTP-status. Mislykkede/annullerede/udløbne async-resultater kan omfatte data.error.

Finansielle værdier i tilbagekaldsnyttelast er nøjagtige decimalstrenge; de er ikke UI-afrundede visningsværdier.

Tærskelalarmer aktiveres igen, efter at den overvågede værdi forlader sin tærskeltilstand. Tærskelarbejderen evaluerer betingelser ca. én gang i minuttet uden for inferens-hot-vejen, så tærskel-tilbagekald ikke er et realtids millisekund-krydsningssignal.

Anmodningsformat

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

Signaturbekræftelse

Beregn HMAC-SHA256 over den nøjagtige streng <timestamp>.<raw_body> ved hjælp af tilbagekaldshemmeligheden, der er genereret i Profil. Den fulde hemmelighed vises kun, når den genereres eller roteres og opbevares krypteret i hvile. Sammenlign den hexadecimale signatur i konstant tid og afvis tidsstempler uden for dit accepterede genafspilningsvindue. HMAC-tidsstemplet er specifikt for et leveringsforsøg; de event_id forbliver stabil på tværs af genforsøg.

Levering, svar og genforsøg

Enhver HTTP 2xx svar accepterer begivenheden. HTTP 200 med en tom krop anbefales. Transportfejl, timeouts og hvert ikke-2xx-svar er fejl.

Hvert arrangement har højst 6 forsøg i alt: det første forsøg plus fem genforsøg. Mislykkede forsøg 1–5 efterfølges af 5 sekunder, 30 sekunder, 2 minutter, 10 minutter og 1 time. Hvert forsøg har en hård 15 sekunder samlet timeout. Efter det sjette mislykkede forsøg bliver hændelsen terminal failed og der er ingen yderligere automatisk genforsøg. Forældede arbejdstagerkrav returneres automatisk til den varige kø.

Udfør ikke langvarigt arbejde, før du reagerer. Bekræft signaturen, persist/deduplicate by event_id, vende tilbage 2xx, og behandle asynkront.

Relateret dokumentation