Tilbakeringinger
Motta signerte server-til-server-varsler og fullførte asynkroniseringsresultater.
Tilbakeringinger
Konfigurer en tilbakeringings-URL i Profil → Tilbakeringinger og asynkroniserte resultater. Model Gate sender HTTPS POST forespørsler om aktiverte kontovarsler og for fullførte asynkrone slutningsforespørsler.
Tilbakeringings-URL
Bruk et offentlig tilgjengelig HTTPS-endepunkt. Endepunktet bør lese den rå forespørselsteksten, bekrefte signaturen, behandle hendelsen idempotent og returnere HTTP 200 så snart arrangementet er akseptert.
Hendelser
Tilbakeringinger kan omfatte:
- fullførte asynkrone slutningsresultater;
- lav kontosaldo varsler når aktivert;
- API-nøkkel forbruksgrense-varsler når aktivert;
- varsler for nøkkelgruppeutgiftsgrense når aktivert.
Levering av asynkron resultat er aktivert hver gang en tilbakeringings-URL er konfigurert. Varslingsboksene i Profil kontrollerer bare de tilsvarende saldo- og grensevarslene.
Forespørselsformat
POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256
Eksempel på nyttelast for asynkront resultat:
{
"event":"async.completed",
"request_id":"01J...",
"status":"completed",
"response":{"id":"msg_...","type":"message"}
}
Nyttelastfelt kan utvides over tid. Ignorer ukjente felt.
Signaturbekreftelse
Signaturoverskriften har dette formatet:
X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>
Beregn HMAC-SHA256 over den nøyaktige strengen <timestamp>.<raw_body> ved å bruke tilbakeringingshemmeligheten vist i profil. Sammenlign den heksadesimale signaturen med en konstanttidssammenligning og avvis tidsstempler utenfor ditt aksepterte gjenspillingsvindu.
Levering og gjenforsøk
Returner HTTP 200 etter å ha akseptert arrangementet trygt. Ikke-2xx-svar og tilkoblingsfeil kan prøves på nytt. Ditt endepunkt må derfor være idempotent; bruk request_id sammen med event som en dedupliseringsnøkkel.
Ikke utfør langvarig arbeid før du svarer. Sett arrangementet i kø internt, returner 200, og behandle den asynkront.