Devolució de trucades

Rebeu notificacions signades de servidor a servidor i resultats aixíncrons completats.

Devolució de trucades

Configureu un URL de retorn de trucada a Perfil → Devolució de trucades i resultats asíncrons. Model Gate envia HTTPS POST sol·licituds de notificacions de comptes habilitats i de sol·licituds d'inferència asíncrona completades.

URL de retorn de trucada

Utilitzeu un punt final HTTPS accessible públicament. El punt final hauria de llegir el cos de la sol·licitud sense processar, verificar la signatura, processar l'esdeveniment de manera idempotent i retornar HTTP 200 tan bon punt l'acte hagi estat acceptat.

Esdeveniments

Les devolució de trucades poden incloure:

  • resultats d'inferència asíncron completats;
  • notificacions de saldo del compte baix quan està activat;
  • Notificacions del límit de despesa de la clau de l'API quan s'activen;
  • notificacions de límit de despesa del grup de claus quan s'activa.

L'entrega de resultats asíncrons s'activa sempre que es configura un URL de retorn de trucada. Les caselles de selecció de notificació del perfil només controlen les alertes de saldo i límit corresponents.

Format de sol·licitud

POST /model-gate/callback HTTP/1.1
Content-Type: application/json
X-Model-Gate-Signature: t=1710000000,v1=hex_hmac_sha256

Exemple de càrrega útil de resultats asíncrons:

{
  "event":"async.completed",
  "request_id":"01J...",
  "status":"completed",
  "response":{"id":"msg_...","type":"message"}
}

Els camps de càrrega útil es poden ampliar al llarg del temps. Ignora els camps desconeguts.

Verificació de la signatura

La capçalera de la signatura té aquest format:

X-Model-Gate-Signature: t=<unix>,v1=<hmac_sha256>

Calcula HMAC-SHA256 sobre la cadena exacta <timestamp>.<raw_body> utilitzant el secret de devolució de trucada que es mostra al perfil. Compareu la signatura hexadecimal amb una comparació en temps constant i rebutgeu les marques de temps fora de la vostra finestra de reproducció acceptada.

Lliurament i reintents

Torna HTTP 200 després d'acceptar l'esdeveniment amb seguretat. Les respostes que no són 2xx i els errors de connexió es poden tornar a intentar. Per tant, el vostre punt final ha de ser idempotent; utilitzar request_id juntament amb event com a clau de deduplicació.

No realitzeu treballs de llarga durada abans de respondre. Posa l'esdeveniment a la cua internament, torna 200, i processar-lo de manera asíncrona.

Documentació relacionada