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.

Sorodna dokumentacija