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.

Povezana dokumentacija