GET /conversations
Lista conversaciones ordenadas por más recientes. Paginación cursor-based. Scope requerido:conversations:read
Parámetros
Request
Response 200
GET /conversations/by-phone/:phone
Buscar una conversación por número de teléfono. Scope requerido:conversations:read
Tolerancia de formato: este endpoint normaliza el input antes de buscar. Acepta:
- Con o sin
+inicial:+5491126032641o5491126032641 - Argentinos con o sin el
9móvil:+5491126032641o+541126032641 - Solo dígitos sin código país: lo prepende según el contexto del tenant
- Argentinos con prefijo viejo
15:+5411 15 26032641(lo elimina automáticamente)
+ y código país.GET /conversations/:id
Obtener una conversación por ID. Scope requerido:conversations:read
PATCH /conversations/:id
Actualizar estado o asignación de una conversación. Scope requerido:conversations:write
Body (todos opcionales)
Request
GET /conversations/:id/messages
Listar mensajes de una conversación. Paginación cursor-based, orden: más antiguos primero. Scope requerido:conversations:read
Parámetros
Response
POST /conversations/:id/read
Marca la conversación como leída. ReseteaunreadCount a 0 y manda read receipt (doble check azul) a Meta para el último mensaje entrante con waMessageId.
Scope requerido: conversations:write
deliveredToMeta: false significa que se reseteó unreadCount pero no había un mensaje inbound elegible para read receipt (o falló el llamado a Meta).
POST /conversations/:id/typing
Muestra “escribiendo…” al contacto. Meta auto-clarea el indicador a los ~25s o cuando el negocio envía un mensaje. Scope requerido:conversations:write
Response:
deliveredToMeta: false, la response incluye un campo reason con el motivo:
Si la conversationId no existe, devuelve
404 (no un 200 silencioso).