Povratni pozivi
Primajte potpisane međuposlužiteljske obavijesti i dovršene asinkrone rezultate.
Povratni pozivi
Konfigurirajte URL povratnog poziva u Profil → Povratni pozivi i asinkroni rezultati. Model Gate šalje HTTPS POST zahtjeve za omogućene obavijesti o računu i za dovršene zahtjeve za asinkronim zaključivanjem.
URL povratnog poziva
Koristite javno dostupnu HTTPS krajnju točku. Krajnja točka treba pročitati neobrađeno tijelo zahtjeva, potvrditi potpis, idempotentno obraditi događaj i vratiti HTTP 200 čim je događaj prihvaćen.
Događaji
Povratni pozivi mogu uključivati:
- dovršeni asinkroni rezultati zaključivanja;
- obavijesti o niskom stanju računa kada je omogućeno;
- API-ključ obavijesti o ograničenju potrošnje kada je omogućeno;
- obavijesti o ograničenju potrošnje za ključnu grupu kada je omogućeno.
Isporuka asinkronih rezultata omogućena je kad god je konfiguriran URL povratnog poziva. Potvrdni okviri obavijesti u Profilu kontroliraju samo odgovarajuća upozorenja o stanju i ograničenjima.
Format zahtjeva
POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256
Primjer korisnog opterećenja asinkronog rezultata:
{
"event":"async.completed",
"request_id":"01J...",
"status":"completed",
"response":{"id":"msg_...","type":"message"}
}
Polja nosivosti mogu se produžiti tijekom vremena. Ignorirajte nepoznata polja.
Ovjera potpisa
Zaglavlje potpisa ima ovaj format:
X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>
Izračunajte HMAC-SHA256 preko točnog niza <timestamp>.<raw_body> pomoću tajne povratnog poziva prikazane u Profilu. Usporedite heksadecimalni potpis s usporedbom konstantnog vremena i odbacite vremenske oznake izvan vašeg prihvaćenog prozora za ponavljanje.
Isporuka i ponovni pokušaji
Vrati HTTP 200 nakon sigurnog prihvaćanja događaja. Odgovori koji nisu 2xx i kvarovi veze mogu se pokušati ponovno. Vaša krajnja točka stoga mora biti idempotentna; koristiti request_id zajedno sa event kao ključ za deduplikaciju.
Nemojte obavljati dugotrajan posao prije nego što odgovorite. Interno stavite događaj u red čekanja, vratite se 200, i obraditi ga asinkrono.