Återuppringningar

Ta emot signerade server-till-server-aviseringar och slutförda asynkroniseringsresultat.

Återuppringningar

Konfigurera en återuppringnings-URL i Profil → Återuppringningar och asynkroniserade resultat. Model Gate skickar HTTPS POST förfrågningar om aktiverade kontoaviseringar och för slutförda begäranden om asynkron slutledning.

Callback URL

Använd en offentligt tillgänglig HTTPS-slutpunkt. Slutpunkten bör läsa råbegäran, verifiera signaturen, bearbeta händelsen idempotent och returnera HTTP 200 så snart evenemanget har accepterats.

Händelser

Återuppringningar kan omfatta:

  • slutförda asynkrona slutledningsresultat;
  • meddelanden om lågt kontosaldo när det är aktiverat;
  • API-nyckel aviseringar om utgiftsgräns när de är aktiverade;
  • meddelanden om nyckelgruppsutgiftsgräns när de är aktiverade.

Leverans av asynkront resultat är aktiverat när en återuppringnings-URL konfigureras. Meddelandekryssrutorna i Profil kontrollerar endast motsvarande saldo- och gränsvarningar.

Format för begäran

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

Exempel på nyttolast för asynkront resultat:

{
  "event":"async.completed",
  "request_id":"01J...",
  "status":"completed",
  "response":{"id":"msg_...","type":"message"}
}

Nyttolastfält kan utökas med tiden. Ignorera okända fält.

Signaturverifiering

Signaturhuvudet har detta format:

X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>

Beräkna HMAC-SHA256 över den exakta strängen <timestamp>.<raw_body> använda återuppringningshemligheten som visas i Profil. Jämför den hexadecimala signaturen med en konstanttidsjämförelse och avvisa tidsstämplar utanför ditt accepterade reprisfönster.

Leverans och omförsök

Returnera HTTP 200 efter att ha accepterat händelsen på ett säkert sätt. Icke-2xx-svar och anslutningsfel kan försökas igen. Din slutpunkt måste därför vara idempotent; använda request_id tillsammans med event som en dedupliceringsnyckel.

Utför inte långvarigt arbete innan du svarar. Ställ evenemanget i kö internt, återvänd 200, och bearbeta det asynkront.

Relaterad dokumentation