Povratni klici
Prejemajte podpisana obvestila med strežniki in dokončane asinhrone rezultate.
Povratni klici
Konfigurirajte URL povratnega klica v Profil → Povratni klici in asinhroni rezultati. Model Gate pošilja HTTPS POST zahteve za omogočena obvestila o računu in za dokončane zahteve za asinhrono sklepanje.
URL povratnega klica
Uporabite javno dostopno končno točko HTTPS. Končna točka bi morala prebrati neobdelano telo zahteve, preveriti podpis, idempotentno obdelati dogodek in vrniti HTTP 200 takoj, ko je bil dogodek sprejet.
Dogodki
Povratni klici lahko vključujejo:
- dokončani rezultati asinhronega sklepanja;
- obvestila o nizkem stanju na računu, ko so omogočena;
- Obvestila o omejitvah porabe s ključem API, ko so omogočena;
- obvestila o omejitvah porabe skupine ključev, ko so omogočena.
Asinhrona dostava rezultatov je omogočena, kadar koli je konfiguriran URL povratnega klica. Potrditvena polja za obvestila v profilu nadzorujejo samo ustrezna opozorila o stanju in limitih.
Oblika zahteve
POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256
Primer tovora asinhronih rezultatov:
{
"event":"async.completed",
"request_id":"01J...",
"status":"completed",
"response":{"id":"msg_...","type":"message"}
}
Polja koristne obremenitve je mogoče sčasoma razširiti. Ignoriraj neznana polja.
Preverjanje podpisa
Glava podpisa ima to obliko:
X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>
Izračunajte HMAC-SHA256 nad natančnim nizom <timestamp>.<raw_body> z uporabo skrivnosti povratnega klica, prikazane v Profilu. Primerjajte šestnajstiški podpis s primerjavo v konstantnem času in zavrnite časovne žige zunaj vašega sprejetega okna za ponovno predvajanje.
Dostava in ponovni poskusi
Vrni HTTP 200 po varnem sprejetju dogodka. Odzivi, ki niso 2xx, in napake povezave se lahko poskusijo znova. Vaša končna točka mora biti torej idempotentna; uporaba request_id skupaj z event kot ključ za deduplikacijo.
Ne opravljajte dolgotrajnega dela, preden se odzovete. Dogodek interno postavite v čakalno vrsto, vrnite se 200, in ga obdelajte asinhrono.