Conversaciones
Las conversaciones representan las interacciones entre tus agentes y los clientes. Cada conversación contiene el historial completo de mensajes intercambiados. Incluyen los hilos de todos los canales: WhatsApp, Instagram, Facebook y los chats creados por la API de Chat .
Endpoints disponibles
| Método | Endpoint | Descripción |
|---|---|---|
GET | /v1/conversations/{id} | Obtener una conversación específica |
GET | /v1/conversations | Listar todas las conversaciones |
PATCH | /v1/conversations/{id} | Actualizar propietarios y estado de una conversación |
Cómo funcionan los IDs
Cada conversación expone tres identificadores con roles distintos:
| Campo | Qué identifica |
|---|---|
id | ID único y canónico del documento de conversación. Úsalo en GET /v1/conversations/{id} y PATCH /v1/conversations/{id} para operar sobre un hilo concreto. |
conversationId | ID del hilo de chat. En la API de Chat cada conversación nueva recibe un chat_<uuid> distinto. No identifica al cliente. |
clientId | ID del cliente atribuido. Un mismo cliente puede tener varios conversationId y conversaciones en distintos canales o con distintos agentes. |
Para obtener todas las conversaciones de un cliente en todos sus canales, usa GET /v1/clients/{clientId}/conversations .
Estados y cierre de conversaciones
El campo status describe la etapa operativa (initiated, active, finished, spam o expired).
Expirar una conversación es una forma de cierre (isFinished): el status final puede quedar finished o expired según si el cliente llegó a responder. En canales externos (WhatsApp, Instagram y Messenger/Facebook) expired es terminal; los chats internos de Platica sí pueden reabrirse, ya sea con PATCH a status: "active" o automáticamente al recibir un mensaje nuevo vía la API de Chat .
canSendDirectMessage solo puede ser false en WhatsApp, Instagram y Messenger/Facebook. Se calcula
desde el último mensaje del usuario según la ventana del canal. En chats internos de Platica siempre
es true.