Obtener detalles de mensajes de la conversación
Obtener detalles de mensajes de la conversación
Obtener todos los detalles de los mensajes dentro de una conversación mediante el parámetro conversation_id. La respuesta incluye message_id, consultas de usuario, tipos de mensaje, contenido del mensaje, marcas de tiempo de los mensajes (timestamps) y más.
Método de solicitud
GET
Endpoint
https://api-${endpoint}.gptbots.ai/v2/messages
Autenticación
Para obtener instrucciones de autenticación, consúltese Visión general de la API (API Overview).
Solicitud
Ejemplo de solicitud
curl -X GET 'https://api-${endpoint}.gptbots.ai/v2/messages?conversation_id=xxxxxx&page=1&page_size=100' \
-H 'Authorization: Bearer ${API Key}'
curl -X GET 'https://api-${endpoint}.gptbots.ai/v2/messages?conversation_id=xxxxxx&page=1&page_size=100' \
-H 'Authorization: Bearer ${API Key}'
Este bloque de código en una ventana flotante
Cabeceras de la solicitud
| Campo | Tipo | Descripción |
|---|---|---|
| Authorization | Bearer ${API Key} | Se utiliza Authorization: Bearer ${API Key} para la autenticación. La clave de la API se obtiene en la página «API Key». |
Parámetros de la solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| conversation_id | string | Sí | Identificador de la conversación. |
| page | int | Sí | Número de página que se solicita. |
| page_size | int | Sí | Número de elementos por página, hasta 100. |
Respuesta
Ejemplo de respuesta
{
"total": 2,
"conversation_content": [
{
"message_id": "645dd86906931c4a9e0ffb1f",
"parent_message_id": "545dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "neutral",
"role": "user",
"content": [
{
"branch_content": [
{
"type": "text",
"text": "I have uploaded 2 image files, please OCR and return 2 json records."
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "jpeg",
"name": "TAXI1",
"size": 1024
},
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2",
"size": 1024
}
]
},
{
"type": "audio",
"audio": [
{
"url": "https://gptbots.ai/example.mp3",
"format": "mp3",
"name": "example1 audio",
"size": 1024
}
]
},
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "example pdf",
"size": 1024
}
]
}
]
}
]
},
{
"message_id": "745dd86906931c4a9e0ffb1f",
"parent_message_id": "645dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "positive",
"role": "assistant",
"content": [
{
"from_component_branch": "1",
"branch_content": [
{
"type": "text",
"text": "Hi, is there anything I can help you?"
},
{
"type": "audio",
"audio": [
{
"url": "http://gptbots.ai/example.mp3",
"transcript": "Transcribed text content of the audio"
}
]
}
]
},
{
"from_component_branch": "2",
"branch_content": [
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "example pdf"
}
]
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2"
}
]
}
]
}
]
}
],
"audio_record_url": "https://gptbots.ai/record/full-call.mp3",
"user_sender": {
"channel_type": "Channel::Whatsapp",
"user_id": "+66812345678",
"profile": { "name": "John Doe" },
"additional_attributes": {},
"provider": "whatsapp_cloud",
"phone_number": "+66900000000"
}
}
{
"total": 2,
"conversation_content": [
{
"message_id": "645dd86906931c4a9e0ffb1f",
"parent_message_id": "545dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "neutral",
"role": "user",
"content": [
{
"branch_content": [
{
"type": "text",
"text": "I have uploaded 2 image files, please OCR and return 2 json records."
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "jpeg",
"name": "TAXI1",
"size": 1024
},
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2",
"size": 1024
}
]
},
{
"type": "audio",
"audio": [
{
"url": "https://gptbots.ai/example.mp3",
"format": "mp3",
"name": "example1 audio",
"size": 1024
}
]
},
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "example pdf",
"size": 1024
}
]
}
]
}
]
},
{
"message_id": "745dd86906931c4a9e0ffb1f",
"parent_message_id": "645dd86906931c4a9e0ffb1f",
"create_time": 1683871849906,
"feedback": "POSITIVE",
"source_page": "https://your-site.com/pricing",
"sentiment_label": "positive",
"role": "assistant",
"content": [
{
"from_component_branch": "1",
"branch_content": [
{
"type": "text",
"text": "Hi, is there anything I can help you?"
},
{
"type": "audio",
"audio": [
{
"url": "http://gptbots.ai/example.mp3",
"transcript": "Transcribed text content of the audio"
}
]
}
]
},
{
"from_component_branch": "2",
"branch_content": [
{
"type": "document",
"document": [
{
"url": "https://gptbots.ai/example.pdf",
"format": "pdf",
"name": "example pdf"
}
]
},
{
"type": "image",
"image": [
{
"url": "https://gptbots.ai/example.png",
"format": "png",
"name": "TAXI2"
}
]
}
]
}
]
}
],
"audio_record_url": "https://gptbots.ai/record/full-call.mp3",
"user_sender": {
"channel_type": "Channel::Whatsapp",
"user_id": "+66812345678",
"profile": { "name": "John Doe" },
"additional_attributes": {},
"provider": "whatsapp_cloud",
"phone_number": "+66900000000"
}
}
Este bloque de código en una ventana flotante
Respuesta correcta
| Campo | Tipo | Descripción |
|---|---|---|
| total | int | Número total de mensajes en la conversación. |
| conversation_content | JSON Array | Detalles del mensaje. |
| message_id | string | Identificador único del mensaje. |
| parent_message_id | string | Identificador único del mensaje principal. |
| create_time | long | Marca de tiempo cuando se creó el mensaje. |
| feedback | string | Valoración del usuario del mensaje; valores: POSITIVE, NEGATIVE. Si no hay valoración, se devuelve vacío. |
| source_page | string | Página de origen de este mensaje, es decir, la URL de la página web en la que se encontraba el usuario cuando se generó el mensaje. Actualmente, solo el canal Livechat admite este campo; el valor está vacío cuando el origen de la conversación no es Livechat. |
| sentiment_label | string | Etiqueta de sentimiento del mensaje, alineada con el campo de sentimiento de los registros de conversación. |
| role | string | Rol del mensaje: user o assistant. |
| content | JSON Array | Contenido del mensaje. |
| from_component_branch | string | ID de rama del componente del origen del mensaje. Se devuelve vacío para mensajes de usuario y agentes estándar. |
| branch_content | JSON Array | Contenido de rama del mensaje. |
| type | string | Tipo de contenido del mensaje: text, image, audio, document, video, file. |
| text | string | Contenido del mensaje de texto. |
| image | JSON Array | Contenido del mensaje de imagen. |
| audio | JSON Array | Contenido del mensaje de audio. |
| document | JSON Array | Contenido del mensaje de documento. |
| video | JSON Array | Contenido del mensaje de vídeo. |
| file | JSON Array | Contenido del mensaje de archivo. |
| audio_record_url | string | URL del archivo de grabación de la llamada de voz completa; solo disponible para agentes de voz (Audio). Si no hay grabación, este campo no se devuelve. |
| user_sender | JSON Object | Información del canal del usuario. Se registra al entrar la conversación cuando el acceso se realiza a través de canales de terceros (actualmente LiveDesk); procede de la información del remitente del webhook del canal (admite canales como WhatsApp / LINE) y tiene el mismo origen que la variable de flujo ld_user_sender. Si no se ha recopilado, este campo no se devuelve; véanse los campos comunes en la tabla siguiente. |
Campos comunes de user_sender
Este objeto contiene la información del canal del usuario transmitida por el canal de origen; los campos varían según el canal. A continuación se muestran los campos comunes; los campos reales dependen de lo que devuelva el canal.
| Campo | Tipo | Descripción |
|---|---|---|
| channel_type | string | Tipo de canal, como Channel::Whatsapp, Channel::Line, Channel::Webwidget, etc. |
| user_id | string | Identificador del usuario en el canal: número de teléfono/wa_id para WhatsApp, userId para LINE e identifier para otros canales. |
| profile | JSON Object | Perfil del usuario (por ejemplo, name). |
| additional_attributes | JSON Object | Atributos adicionales del canal. |
| provider | string | Provider del canal. |
| phone_number | string | Número de teléfono configurado en el lado del canal. |
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ámetros no válidos |
| 40005 | El parámetro de paginación excede el recuento real |
| 40127 | Error de autenticación del desarrollador |
| 40356 | La conversación no existe |
| 20059 | El agente ha sido eliminado |
