Publier la réponse validée par un humain
POST/api/message/{messageId}/answer
Réservé aux conversations à l’état pending. Trois façons de répondre :
contentseul — réponse libre rédigée par votre équipe ;suggestionseul (rang1à4) — reprend telle quelle l’une des suggestions générées par l’IA ;- les deux — la suggestion sert de base et
contentest la version retouchée par l’humain.
Sur une conversation dans une autre langue que celle de l’entreprise,
la réponse est traduite automatiquement avant publication ; un échec de
traduction renvoie 502 et rien n’est enregistré. Si le service IA
est temporairement indisponible (délai d’attente, surcharge du
fournisseur), la réponse est 503 — rien n’est enregistré non plus,
réessayez plus tard.
Si l’enveloppe pending porte une required_action (réexpédition,
remboursement…), réalisez cette action avant de publier la
réponse : la publication la marque automatiquement comme traitée.
L’en-tête X-Assilya-Message fixe l’identifiant du message sortant
créé par cet appel.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant du message entrant : la valeur passée via X-Assilya-Message, ou l’UUID v7 généré par Assilya (champ id des réponses).
Header Parameters
Section intitulée « Header Parameters »Votre identifiant de message (191 caractères max, unique par agent). Renvoyé dans id ; un doublon est rejeté.
Request Bodyrequired
Section intitulée « Request Bodyrequired »content et/ou suggestion — au moins l’un des deux.
object
Réponse libre. Seule : réponse humaine. Combinée à suggestion : version retouchée de la suggestion choisie.
Rang de la suggestion à utiliser telle quelle.
Sujet du message sortant (si l’option est activée) ; sert aussi de titre à la conversation si elle n’en a pas encore.
Pièces jointes de la réponse (mêmes règles que la soumission).
Variante JSON — sans pièces jointes (réservées au multipart).
object
Responses
Section intitulée « Responses »Réponse publiée — l’enveloppe repasse à l’état answered.
Enveloppe commune aux endpoints Messages et au webhook. Les champs
présents dépendent de state :
state | Champs supplémentaires |
|---|---|
processing | contact |
pending | answer (toujours null), confidence, required_action, suggestions, contact |
answered | answer, confidence, suggestions (vide), contact, sent_at, attachments* |
failed | error, contact |
closed | — (enveloppe nue : clôturée sans réponse) |
* attachments uniquement si les pièces jointes sont activées sur l’agent.
object
Identifiant du message entrant (le vôtre, ou un UUID v7 généré).
object
Identifiant de la conversation.
Titre généré par l’IA (peut arriver après coup).
La réponse, dans le format de sortie configuré sur l’agent (texte brut, Markdown ou HTML). null à l’état pending.
Pourcentage de confiance de l’IA.
État pending uniquement. Action opérationnelle que l’IA ne peut pas exécuter elle-même (réexpédition, remboursement, annulation…) : votre équipe la réalise avant de publier la réponse via POST …/answer — la publication marque comme traitées toutes les actions en attente de la conversation. Tant qu’une action reste en attente, l’IA ne publie plus aucune réponse automatique sur la conversation : un message ultérieur non signalé porte alors la dernière action encore en attente. null quand la mise en attente ne tient qu’à la confiance et qu’aucune action n’est en attente ; la confiance peut alors dépasser le seuil de l’agent.
object
Description de l’action à réaliser, dans la langue de travail de l’entreprise.
Suggestions à faire valider (état pending uniquement, sinon vide).
object
object
Taille en octets.
URL présignée de téléchargement, valable 15 minutes.
Cause de l’échec (état failed uniquement).
Clé API absente ou en-tête Authorization mal formé.
object
Message d’erreur lisible, dans la langue de l’agent.
Clé invalide ou révoquée, agent inactif ou d’un autre type, ou clé utilisée sur l’URL d’un autre espace.
object
Message d’erreur lisible, dans la langue de l’agent.
Message introuvable, ou rang de suggestion inexistant pour ce message.
object
Message d’erreur lisible, dans la langue de l’agent.
La conversation n’est pas (ou plus) à l’état pending — réponse déjà publiée par un autre canal, ou conversation clôturée.
object
Message d’erreur lisible, dans la langue de l’agent.
Corps de requête invalide (erreurs de validation Laravel).
object
object
Limites de débit dépassées. Plafonds appliqués simultanément : 30/min par conversation, 200/min par agent, 120/min par IP et 1 000/min par espace (valeur par défaut).
object
Message d’erreur lisible, dans la langue de l’agent.
Échec de la traduction automatique — rien n’a été enregistré.
object
Message d’erreur lisible, dans la langue de l’agent.
Service IA temporairement indisponible — la traduction automatique n’a pas pu être réalisée, rien n’a été enregistré. Réessayez plus tard.
object
Message d’erreur lisible, dans la langue de l’agent.
