Obtener conversación
Obtiene el estado actual y el historial de mensajes de una conversación específica.
GET https://api.platica.mx/v1/conversations/{id} Parámetros de URL
| Parámetro | Tipo | Descripción | Requerido |
|---|---|---|---|
id | string | Identificador único de la conversación: el campo id que devuelven los listados. Consulta Cómo funcionan los IDs | ✓ |
Búsqueda legacy (deprecada)
Advertencia
Por compatibilidad, el endpoint todavía acepta como fallback el teléfono del cliente o el conversationId en lugar del id único. Este comportamiento está deprecado: puede devolver varias conversaciones y requiere el parámetro de consulta channelId para desambiguar cuando hay múltiples hilos con el mismo conversationId. Para consultar todas las conversaciones de un cliente usa GET /v1/clients/{clientId}/conversations ; para un hilo específico, usa siempre su id único.
| Parámetro de consulta | Tipo | Descripción | Requerido |
|---|---|---|---|
channelId | string | Solo aplica a la búsqueda legacy: filtra por canal cuando hay múltiples conversaciones con el mismo conversationId | — |
Respuesta
{
"workspaces": [
{
"id": "ws_001",
"name": "Soporte General",
"conversationsCount": 1,
"conversations": [
{
"id": "conv_001",
"conversationId": "987654321098",
"clientId": "cliente_123",
"agentId": "agent_001",
"source": null,
"canSendDirectMessage": true,
"workspaceId": "ws_001",
"channelId": "channel_001",
"contactName": "Juan Pérez",
"phoneNumber": "1234567890",
"topic": "Consulta General",
"platform": "whatsapp",
"owners": [
"soporte@empresa.com"
],
"tags": [
"prioridad-alta"
],
"creationDate": "2025-03-15T10:00:00Z",
"lastUpdate": "2025-03-15T10:15:00Z",
"status": "active",
"operation": "assistance",
"messageCount": 4,
"messages": [
{
"content": "Hola, necesito información sobre sus servicios.",
"contentType": "text",
"creationDate": "2025-03-15T09:58:00Z",
"direction": "incoming",
"files": [],
"id": "msg_001",
"images": [],
"owner": {
"id": "user_001"
},
"lastUpdate": "2025-03-15T09:58:00Z",
"role": "user",
"status": "received"
},
{
"content": "Hola, ¿cómo puedo ayudarte hoy?",
"contentType": "text",
"creationDate": "2025-03-15T10:00:00Z",
"direction": "outgoing",
"files": [],
"id": "msg_002",
"images": [],
"owner": {
"id": "agent_001"
},
"lastUpdate": "2025-03-15T10:00:00Z",
"role": "assistant",
"status": "delivered"
},
{
"content": "Tengo una duda sobre el producto que compré.",
"contentType": "text",
"creationDate": "2025-03-15T10:05:00Z",
"direction": "incoming",
"files": [],
"id": "msg_003",
"images": [],
"owner": {
"id": "user_001"
},
"lastUpdate": "2025-03-15T10:05:00Z",
"role": "user",
"status": "received"
},
{
"content": "Gracias por tu consulta. Te ayudaré con eso.",
"contentType": "text",
"creationDate": "2025-03-15T10:10:00Z",
"direction": "outgoing",
"files": [],
"id": "msg_004",
"images": [],
"owner": {
"id": "agent_001"
},
"lastUpdate": "2025-03-15T10:10:00Z",
"role": "assistant",
"status": "delivered"
}
]
}
]
}
]
} | Campo | Descripción |
|---|---|
id | ID único y canónico del documento de conversación. Úsalo en GET y PATCH /v1/conversations/{id} |
conversationId | ID del hilo de chat. En Chat API tiene formato chat_*; no identifica al cliente |
clientId | ID del cliente atribuido a la conversación |
agentId | ID del agente principal; una delegación temporal a un subagente no lo modifica |
source | Origen interno cuando está disponible (por ejemplo api_chat); puede ser null en conversaciones legacy |
canSendDirectMessage | Solo puede ser false en WhatsApp, Instagram y Messenger/Facebook; se calcula desde el último mensaje del usuario. En chats internos de Platica siempre es true |
workspaceId | ID del workspace al que pertenece la conversación |
channelId | ID del canal de comunicación |
contactName | Nombre del contacto/cliente |
phoneNumber | Número de teléfono del cliente |
topic | Tema o asunto de la conversación |
platform | Plataforma de mensajería (whatsapp, instagram, facebook, email, platica, etc.) |
owners | Lista de correos de usuarios responsables |
tags | Etiquetas asociadas a la conversación |
status | Etapa operativa: initiated, active, finished, spam o expired |
operation | Modo de operación de la conversación |
messageCount | Conteo almacenado del hilo; puede incluir eventos internos no visibles en messages |
messages | Historial normalizado disponible para la integración |
creationDate | Fecha de creación en formato ISO 8601 |
lastUpdate | Fecha de última actualización en formato ISO 8601 |
| Campo | Descripción |
|---|---|
id | Identificador único del mensaje |
content | Contenido del mensaje |
contentType | Tipo de contenido: text, image, audio, etc. |
creationDate | Fecha y hora de creación del mensaje |
direction | Dirección del mensaje: incoming (entrante) o outgoing (saliente) |
files | Lista de archivos asociados al mensaje |
images | Lista de imágenes asociadas al mensaje |
lastUpdate | Fecha de última actualización del mensaje |
owner | Objeto con información mínima del emisor. Actualmente incluye id cuando existe |
role | Rol del emisor: user (cliente) o assistant (agente/IA) |
status | Estado del mensaje: received, delivered, read, failed |
Consejo
Si necesitas cambiar owners o status, utiliza el endpoint de actualizar conversación .