Å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.