Envoyer un Message
Envoyer un Message
Envoyez un message à l'ID de conversation spécifié et obtenez la réponse de l'agent. Prend en charge la soumission de texte et/ou d'images comme contenu du message.
Méthode de Requête
POST
URL de la Requête
https://api-${endpoint}.gptbots.ai/v1/conversation/message
Authentification de la Requête
Consultez la section Présentation pour les détails d'authentification.
Requête
Exemple de Requête
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/conversation/message' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.srcgptbots.com/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"48c70da0403cc812641b934f",
"48c70da0403cc812641df35k"
]
}
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/conversation/message' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"text": "HI!",
"conversation_id": "xxxxxx",
"response_mode": "streaming",
"short_term_memory": true,
"long_term_memory": false,
"files":[
{
"url": "https://res.srcgptbots.com/ailab/botchat/file/38f13465ad5246190b759b3289ecba51.jpg",
"name": "something.jpg",
"width": 200,
"height": 200
},
{
"base64_content": "Your_file_base64_content",
"name": "something.pdf"
}
],
"knowledge": {
"data_ids": [
"48c70da0403cc812641b934f",
"48c70da0403cc812641df35k"
]
}
}'
Ce bloc de code dans la fenêtre flottante
| Champ | Type | Description |
|---|---|---|
| Authorization | Bearer ${token} | Utilisez Authorization: Bearer ${token} pour l'authentification. Récupérez la clé sur la page Clés API en tant que token. |
| Content-Type | application/json | Type de données, à définir sur application/json. |
Corps de la Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| text | string | Oui | Le texte ou les fichiers doivent être saisis. Le message texte de l'utilisateur, la longueur du contenu ne peut pas dépasser la limite de tokens définie par la configuration de l'agent. |
| files | Tableau JSON | Non | text et files doivent comporter au moins une entrée. Les fichiers servent à soumettre des images, des fichiers audio et des documents à l'agent. L'agent prend en charge deux schémas de reconnaissance de fichiers : « Reconnaissance de fichiers système » et « Reconnaissance de fichiers LLM ». Différents schémas prennent en charge différents types de fichiers. Les chemins réseau pour la soumission de fichiers sont pris en charge, avec un maximum de 9 fichiers téléchargés. Documents ≤20 Mo, images ≤10 Mo, audio ≤5 Mo. Reconnaissance de fichiers LLM |
| conversation_id | string | Oui | ID de la conversation, à renseigner pour poursuivre une conversation précédente. |
| response_mode | string | Oui | blocking : |
| short_term_memory | boolean | Non | Ce message transporte-t-il la mémoire à court terme dans la conversation comme contexte ? Si non renseigné, suivre les paramètres de mémoire de l'agent. |
| long_term_memory | boolean | Non | Ce message transporte-t-il la mémoire à long terme dans la conversation comme contexte ? Si non renseigné, suivre les paramètres de mémoire de l'agent. |
| knowledge | object | Non | Personnalisez le périmètre de récupération des connaissances pour ce message. Si ce champ n'existe pas, la configuration par défaut de l'agent sera utilisée pour la récupération. |
| data_ids | array | Non | data_ids est un tableau d'ID de documents de connaissances.Si ce paramètre est un tableau vide, par exemple "data_ids": [], cela revient à ne récupérer aucun document de connaissances.Si ce paramètre contient des valeurs, la récupération sera limitée à la plage d'ID de documents spécifiée. |
Réponse
Exemple de Réponse
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "Hello",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
{
"message_id": "65a4ccfC7ce58e728d5897e0",
"message_type": "ANSWER",
"text": "Hi, is there anything I can help you?",
"flow_output": [
{
"content": "Hello",
"branch": "1",
"from_component_name": "User Input"
}
],
"create_time": 1679587005,
"conversation_id": "657303a8a764d47094874bbe"
}
Ce bloc de code dans la fenêtre flottante
Réponse de Succès (Blocking)
| Champ | Type | Description |
|---|---|---|
| message_id | string | ID unique du message. |
| message_type | string | Type de message, valeur : ANSWER, QUESTION. |
| text | string | Texte de la réponse. |
| flow_output | Tableau JSON | contenu de la réponse de l'agent des flux. |
| content | string | texte de réponse du composant de l'agent des flux. |
| branch | string | branche de l'agent des flux. |
| from_component_name | string | nom du composant amont de l'agent des flux. |
| create_time | long | Horodatage de création du message de réponse. |
| conversation_id | string | ID de la conversation. |
Réponse de Succès (Streaming)
| Champ | Type | Description |
|---|---|---|
| code | int | Code du type de message, 3-Texte, 10-FlowOutput, 0-Fin. |
| message | string | Type de message, valeur : Texte, FlowOutput, Fin. |
| data | object | Contenu de la réponse. |
Les données en streaming sont retournées en plusieurs fragments :
{"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}}
{"code":3,"message":"Text","data":"I"}
{"code":3,"message":"Text","data":"can"}
{"code":3,"message":"Text","data":"help"}
{"code":3,"message":"Text","data":"you"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]}
{"code":0,"message":"End","data":null}
{"code":11,"message":"MessageInfo","data":{"message_id":"6785dba0f06d872bff9ee347"}}
{"code":3,"message":"Text","data":"I"}
{"code":3,"message":"Text","data":"can"}
{"code":3,"message":"Text","data":"help"}
{"code":3,"message":"Text","data":"you"}
{"code":3,"message":"Text","data":"?"}
{"code":10,"message":"FlowOutput","data":[{"content":"Hello","branch":null,"from_component_name":"User Input"}]}
{"code":0,"message":"End","data":null}
Ce bloc de code dans la fenêtre flottante
Réponse de Succès (webhook)
Lorsque le développeur a configuré l'adresse webhook, après une réponse réussie, le système GPTBots enverra les messages de l'agent et du support client humain à l'adresse webhook. Pour le format détaillé du message, voir Mode Webhook.
Réponse d'Échec
| Champ | Type | Description |
|---|---|---|
| code | int | Code d'erreur. |
| message | string | Détails de l'erreur. |
Codes d'Erreur
| Code | Message |
|---|---|
| 40000 | Paramètre invalide |
| 40127 | Échec de l'authentification du développeur |
| 40356 | La conversation n'existe pas |
| 50000 | Erreur interne du serveur |
| 40364 | Cet agent n'utilise pas de LLM prenant en charge le mode image |
| 20059 | Agent supprimé |
| 20040 | Limite de questions dépassée |
| 40358 | conversation_id ne correspond pas à l'agent ou à l'utilisateur |
| 20022 | Crédit insuffisant |
