/agents/:id/chatEnvoyez un message texte à un agent et recevez sa réponse, un appel vocal sans l'audio.
Discuter avec l'agent
Exécute un tour de conversation texte avec l'agent. La configuration de l'agent (rôle, langue, garde-fous, base de connaissances et variables dynamiques) façonne la réponse, comme un appel vocal sans l'audio. Vous n'envoyez qu'un seul message ; l'invite système et l'historique de conversation restent côté serveur, il est donc impossible d'injecter un rôle system. Indiquez conversation_id pour poursuivre une session (l'identifiant est renvoyé pour réutilisation) ; omettez-le pour en démarrer une nouvelle. Définissez stream: true pour recevoir la réponse en flux Server-Sent Events. L'usage est facturé au jeton.
Chemin & Requête
1idstringrequisUUID de l'agent avec qui discuter.
Corps de la requête
4messagestringrequisLe message de l'utilisateur : 1 à 8000 caractères et au plus 8000 octets une fois encodé en UTF-8, un message riche en emoji ou en caractères CJK peut donc atteindre la limite bien avant 8000 caractères. Les caractères de contrôle autres que la tabulation, le saut de ligne et le retour chariot sont rejetés.
conversation_idstringoptionnelPoursuivre une session de chat existante par identifiant ; omettez pour en démarrer une nouvelle.
streambooleanoptionnelSi true, la réponse est diffusée en
text/event-stream(Server-Sent Events) au lieu d'un corps JSON unique. Le statut passe à 200 dès l'ouverture du flux ; une panne du fournisseur ou une complétion vide arrive donc sous forme d'événement SSEerrorterminal plutôt qu'un statut d'erreur. Gérez cette forme d'événement, pas seulement le code HTTP. L'événement terminaldoneporte le champpersisted. Lorsqu'il vautfalse, la réponse vous est bien parvenue mais ses tours n'ont pas pu être enregistrés : ce tour n'est pas facturé et il est absent de l'historique rejoué au tour suivant. Considérez leconversation_idcomme utilisable mais cet échange comme perdu, ou démarrez une nouvelle session.dynamic_variablesobjectoptionnelRemplacements
{{variable}}par requête, fusionnés avec les valeurs par défaut de l'agent.
Erreurs
8Clé API manquante ou invalide.
Ajoutez X-API-Key: VOTRE_CLÉ à vos en-têtes de requête.
Le chat lance une génération facturée et ajoute des tours à la conversation : il exige donc la portée d'écriture. Une clé disposant uniquement de agents:read est rejetée. La reprise d'une session existante exige en outre conversations:read, car son historique stocké est rejoué au modèle.
Émettez une clé avec le scope agents:write, ainsi que conversations:read si vous transmettez conversation_id.
Aucun agent de ce type sous ce tenant, ou le conversation_id n'existe pas, appartient à un autre agent, ou a été ouvert sur un canal différent (la transcription d'un appel vocal ne peut pas être reprise par texte). Tous ces cas renvoient intentionnellement le même 404, afin qu'un sondage ne puisse pas distinguer « existe mais ne vous appartient pas » de « n'existe pas ».
Vérifiez l'identifiant de l'agent, et omettez conversation_id pour démarrer une nouvelle session si l'identifiant provient d'un autre agent ou canal.
La facturation du compte est bloquée (crédits épuisés).
Ajoutez des crédits ou résolvez le problème de facturation, puis réessayez.
L'agent est encore en cours de provisionnement ou son provisionnement a échoué ; il n'a donc pas encore de configuration utilisable pour façonner une réponse.
Attendez que l'agent termine son provisionnement (interrogez GET /agents/{id} jusqu'à ce que son statut soit prêt), puis réessayez.
Le message est vide, dépasse 8000 caractères ou 8000 octets UTF-8, contient des caractères de contrôle, l'invite de l'agent référence une variable dynamique sans valeur, ou l'invite assemblée dépasse la fenêtre de contexte du modèle.
Raccourcissez le message, fournissez les dynamic_variables manquantes, ou réduisez le max_tokens de l'agent.
Trop de requêtes sont en cours, le service est momentanément saturé et a limité celle-ci.
Réessayez après le délai indiqué dans l'en-tête de réponse Retry-After, avec un backoff exponentiel.
Le modèle est temporairement indisponible (fournisseur en panne ou disjoncteur ouvert).
Réessayez après un court délai.
