Send Message
Send Message
Section titled “Send Message”Envía un mensaje directo (no plantilla) al WhatsApp de un cliente. Este endpoint se utiliza para mensajes fuera de las plantillas aprobadas por WhatsApp; en algunos casos (por ejemplo, si ha pasado la ventana de mensajería de 24 horas), el mensaje podría no entregarse y deberás usar plantillas a través del endpoint de Conversation.
Endpoint
Section titled “Endpoint”POST /api/message
Encabezados (Headers)
Section titled “Encabezados (Headers)”Content-Type: application/jsonx-workspace-id: <x-workspace-id>(string, requerido)
Body (application/json)
Section titled “Body (application/json)”content(string, requerido) — Texto del mensaje a enviar.recipientPhone(string, requerido) — Número de WhatsApp del destinatario (sin símbolos, con código de país, ej.:51987654321).workspaceId(string, requerido) — Identificador del workspace.
Ejemplo de request (JSON):
{ "content": "Hola, tu pedido ha sido enviado. Gracias por tu compra.", "recipientPhone": "51987654321", "workspaceId": "your_workspace_id"}Ejemplo: cURL
Section titled “Ejemplo: cURL”curl --request POST \ --url 'https://api.wabotify.com/api/message' \ --header 'Content-Type: application/json' \ --header 'x-workspace-id: YOUR_WORKSPACE_ID' \ --data '{ "content": "Hola, tu pedido ha sido enviado. Gracias por tu compra.", "recipientPhone": "51987654321", "workspaceId": "your_workspace_id" }'Ejemplo: Respuesta (200 OK)
Section titled “Ejemplo: Respuesta (200 OK)”{ "success": true, "message": "Message sent successfully.", "code": 200, "data": { "contactId": "string", "message": { "id": "string", "messageWhatsappId": "string", "contactId": "string", "content": "Hola, tu pedido ha sido enviado. Gracias por tu compra.", "workspaceId": "your_workspace_id", "recipientPhone": "51987654321", "externalReferenceId": "string", "platformId": "string", "answerAgentId": "string", "answerType": "string" } }}Códigos de respuesta relevantes
Section titled “Códigos de respuesta relevantes”200 OK— Mensaje enviado (o encolado) correctamente.400 Bad Request— Falta algún campo requerido o el formato es inválido.401 Unauthorized— Headerx-workspace-idfaltante o inválido.404 Not Found— Workspace o recurso relacionado no encontrado.429 Too Many Requests— Límite de envío excedido.500 Internal Server Error— Error del servidor.
- Usa este endpoint para mensajes sin plantilla; para envíos masivos o mensajes basados en plantillas, usa el endpoint de Conversation (
POST /api/conversation). - Asegúrate de enviar
recipientPhonecon el código de país y sin caracteres especiales. - Verifica las políticas y ventanas de mensajería de WhatsApp para asegurar la entrega del mensaje.
- Si necesitas rastrear entrega o lectura, consulta los campos adicionales que tu implementación de la API pueda retornar (p. ej.
messageWhatsappId) y los hooks/webhooks disponibles en tu workspace.