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.

Relatert dokumentasjon