Skip to main content

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: +5491126032641 o 5491126032641
  • Argentinos con o sin el 9 móvil: +5491126032641 o +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)
Devuelve la conversación más reciente que matchea cualquiera de las variantes generadas. Si tenés dudas, pasá el formato canónico E.164 con + y código país.

GET /conversations/resolve

Abrí un chat sin conocer el id interno. Sirve para linkear desde un CRM: pasá teléfono, usuario de Instagram o email (cualquiera de los tres, o varios). La búsqueda queda en el tenant de la API key y respeta la visibilidad de conversaciones si el token es de un usuario. Scope requerido: conversations:read El mismo recurso existe en el panel como https://waspytech.com/inbox/open con los mismos query params (pide login y vuelve a esa URL).

Parámetros

Request

Response 200

conversationId es el chat que más coincide (el más reciente, priorizando line y channel si vinieron). alternatives son los otros matches, para que el CRM pueda ofrecerlos. Si no hay ninguno, conversationId es null y alternatives queda vacío.
El panel usa la misma forma en GET /api/v1/conversations/resolve (sin el objeto meta).

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. Resetea unreadCount a 0 y manda read receipt (doble check azul) a Meta para el último mensaje entrante con waMessageId. Scope requerido: conversations:write
Respuesta:
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:
Cuando deliveredToMeta: false, la response incluye un campo reason con el motivo: Si la conversationId no existe, devuelve 404 (no un 200 silencioso).