Mensajes
Enviar texto, archivos y envíos masivos; consultar estado e historial.
Todos los envíos se encolan y se despachan con delays aleatorios (anti-bloqueo). La respuesta inmediata incluye el messageId para seguimiento.
Enviar texto
POST /messages/send/text
{
"sessionId": "665f...",
"to": "51912345678",
"text": "Su pedido está listo 🎉"
}
sessionIdes opcional: si lo omites, se usa automáticamente tu primera línea conectada.toacepta un número (con código de país, sin+) o un JID de grupo (...@g.us).
{ "messageId": "665f...", "status": "queued", "jobId": "1234" }
Enviar archivo
POST /messages/send/file
Content-Type: multipart/form-data
| Campo | Tipo | Descripción |
|---|---|---|
sessionId |
text | Línea emisora |
to |
text | Destinatario |
caption |
text | Texto que acompaña al archivo (opcional) — enviar antes del campo file |
file |
file | Imagen, PDF, video o documento |
Según la extensión se envía como imagen, video, audio o documento (los PDF llegan como documento con caption).
Envío masivo
POST /messages/send/bulk
{
"sessionId": "665f...",
"messages": [
{ "to": "51911111111", "text": "Hola Ana" },
{ "to": "51922222222", "text": "Hola Luis" },
{ "to": "51933333333", "fileUrl": "https://tu-cdn.com/promo.jpg", "caption": "Nueva promo" }
]
}
Los mensajes se espacian automáticamente según los delays de tu plan. El total no puede exceder tu cuota mensual disponible.
Estado de un mensaje
GET /messages/{id}/status
{
"messageId": "665f...",
"status": "sent",
"sentAt": "2026-08-12T15:05:11.000Z"
}
status: queued → processing → sent | failed. Además del estado de envío, el estado de entrega (delivered/read) llega por webhook message.status.
Historial
GET /messages/history?page=1&limit=20&status=sent&from=2026-08-01&to=2026-08-12
Todos los filtros son opcionales. Respuesta paginada con pagination: { page, limit, total }.