Enviar mensaje
Enviar mensaje
Enviar un mensaje al ID de conversación especificado y obtener el mensaje de respuesta del agente. Se admite el envío de texto y/o imágenes como contenido del mensaje.
Método de solicitud
POST
URL de solicitud
https://api-${endpoint}.gptbots.ai/v1/conversation/message
Autenticación de la solicitud
Consulte Visión general para obtener detalles sobre la autenticación.
Solicitud
Ejemplo de solicitud
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"
]
}
}'
Este bloque de código en una ventana flotante
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${token} | Para autenticarse, envíe Authorization: Bearer ${token}. Obtener la clave en la página API Keys (token). |
| Content-Type | application/json | Tipo de contenido; debe ser application/json. |
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| text | string | Sí | Debe indicarse text o files.Mensaje de texto del usuario; la longitud del contenido de texto no puede superar el límite de longitud de tokens establecido en la configuración del agente. |
| files | JSON Array | No | text y files deben incluir al menos un valor. Los archivos se utilizan para enviar al agente imágenes, audio y datos de tipo documento. El agente admite dos modos de reconocimiento de archivos: System File Recognition y LLM File Recognition. Cada modo admite distintos tipos de archivo. Se admiten rutas de red para el envío de archivos, con un máximo de 9 archivos cargados. Documentos ≤20 MB, imágenes ≤10 MB, audio ≤5 MB. LLM File Recognition
|
| conversation_id | string | Sí | ID de conversación; se envía para continuar una conversación anterior. |
| response_mode | string | Sí | Valores:
|
| short_term_memory | boolean | No | Indica si este envío de mensaje incluye memoria a corto plazo dentro de la conversación como contexto. Si no se especifica, se aplicará la configuración de memoria del agente. |
| long_term_memory | boolean | No | Indica si este envío de mensaje incluye memoria a largo plazo dentro de la conversación como contexto. Si no se especifica, se aplicará la configuración de memoria del agente. |
| knowledge | object | No | Personalizar el alcance de recuperación de conocimiento para este mensaje. Si no se incluye este campo, se utilizará la configuración de conocimiento predeterminada del agente para la recuperación. |
| knowledge.data_ids | array | No | data_ids es un array de ID de documentos de conocimiento. Si este parámetro es un array vacío, por ejemplo "data_ids": [], se considera que no se recupera ningún documento de conocimiento. Si este parámetro tiene valores, la recuperación se limitará al rango de ID de documento de conocimiento especificado. |
Respuesta
Ejemplo de respuesta
{
"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"
}
Este bloque de código en una ventana flotante
Respuesta correcta (modo blocking)
| Campo | Tipo | Descripción |
|---|---|---|
| message_id | string | ID único del mensaje. |
| message_type | string | Tipo de mensaje; valores: ANSWER, QUESTION. |
| text | string | Texto de respuesta. |
| flow_output | JSON Array | Contenido de respuesta del agente de flujo. |
| flow_output[].content | string | Texto de respuesta del componente del agente de flujo. |
| flow_output[].branch | string | Rama del agente de flujo. |
| flow_output[].from_component_name | string | Nombre del componente ascendente del agente de flujo. |
| create_time | long | Marca de tiempo de creación del mensaje de respuesta. |
| conversation_id | string | ID de conversación. |
Respuesta correcta (Streaming)
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de tipo de mensaje: 3-Text, 10-FlowOutput, 0-End. |
| message | string | Tipo de mensaje; valores: Text, FlowOutput, End. |
| data | object | Contenido de la respuesta. |
Los datos en streaming se devuelven en varios fragmentos:
{"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}
Este bloque de código en una ventana flotante
Respuesta correcta (webhook)
Cuando el desarrollador haya configurado la dirección de webhook, tras una respuesta correcta, el sistema GPTBots enviará mensajes del agente y del servicio de atención al cliente humano a la dirección de webhook. Para conocer el formato detallado del mensaje, consulte Modo webhook.
Respuesta de error
| Campo | Tipo | Descripción |
|---|---|---|
| code | int | Código de error. |
| message | string | Detalles del error. |
Códigos de error
| Código | Mensaje |
|---|---|
| 40000 | Parámetro no válido |
| 40127 | Error de autenticación del desarrollador |
| 40356 | La conversación no existe |
| 50000 | Error interno del servidor |
| 40364 | Este agente no utiliza un LLM compatible con el modo de imagen |
| 20059 | Agente eliminado |
| 20040 | Se ha superado el límite de preguntas |
| 40358 | conversation_id no coincide con el agente o el usuario |
| 20022 | Crédito insuficiente |
