Documentación del Desarrollador
Aprende a integrar el envío programático de mensajes de WiBot con cualquier software externo a través de nuestra API REST.
Endpoint de Envío de WhatsApp
POST/api/send
Este endpoint permite enviar mensajes reales de WhatsApp utilizando la sesión Puppeteer del servidor. La solicitud debe realizarse con formato JSON y requiere autenticación segura de tipo Bearer Token.
Autenticación y Seguridad
Para poder utilizar esta API, debes incluir la cabecera Authorization con el esquema Bearer.
Ejemplo:
Authorization: Bearer tu-token-secreto-1234El token válido se configura en el archivo .env de tu servidor:
WIBOT_API_TOKEN=tu-token-secreto-1234
Parámetros del Body (JSON)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
recipient | string | Sí | Número de teléfono completo en formato internacional (ej. +5491122334455). Mínimo 10 dígitos. |
message | string | Sí | Contenido de texto del mensaje a enviar. Mínimo 1 carácter. |
Ejemplos de Consumo
cURL (Consola / Bash)
curl -X POST http://localhost:3000/api/send \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tu-token-secreto-1234" \
-d '{
"recipient": "+5491122334455",
"message": "Hola, este es un mensaje automático de prueba."
}'JavaScript (Fetch / Async)
const sendMessage = async () => {
const response = await fetch("http://localhost:3000/api/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer tu-token-secreto-1234"
},
body: JSON.stringify({
recipient: "+5491122334455",
message: "Hola, este es un mensaje automático de prueba."
})
});
const data = await response.json();
console.log(data);
};Python (Requests)
import requests
url = "http://localhost:3000/api/send"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer tu-token-secreto-1234"
}
payload = {
"recipient": "+5491122334455",
"message": "Hola, este es un mensaje automático de prueba."
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())Respuestas Exitosas (200)
Retorna un JSON confirmando el encolamiento e ID del registro:
{
"success": true,
"messageId": "uuid-del-log",
"status": "sent"
}Respuestas de Error
- 401 Unauthorized: Token incorrecto o cabecera ausente.
- 400 Bad Request: Datos JSON faltantes o con formato incorrecto.
- 530 Service Unavailable: Si el emulador no está conectado.