Introduccion
Esta API permite la integracion con WhatsApp mediante la libreria Baileys, proporcionando endpoints para:
- Crear y gestionar sesiones de WhatsApp
- Enviar mensajes de texto, imagenes, documentos, ubicaciones y contactos
- Recibir y consultar mensajes
- Gestionar el estado de conexion
Autenticacion
Esta API es de acceso publico y gratuito. No requiere autenticacion para realizar peticiones.
Gestion de Sesiones
Parametros del body (JSON):
Identificador unico para la sesion
Ejemplo de solicitud:
{
"sessionId": "rest_1_ejemplo"
}
Respuesta exitosa:
{
"success": true,
"message": "Sesion creada exitosamente",
"sessionId": "rest_1_ejemplo"
}
Parametros de ruta:
ID de la sesion
Posibles respuestas:
Estado: Requiere QR (qr_required)
{
"success": true,
"sessionId": "rest_1_ejemplo",
"status": "qr_required",
"qrCode": "data:image/png;base64,iVBOR...",
"connection": "close"
}
Estado: Conectado (connected)
{
"success": true,
"sessionId": "rest_1_ejemplo",
"status": "connected",
"phoneNumber": "521234567890",
"connection": "open"
}
Estado: Conectando (connecting)
{
"success": true,
"sessionId": "rest_1_ejemplo",
"status": "connecting",
"connection": "connecting"
}
Parametros de ruta:
ID de la sesion a reconectar
Envio de Mensajes
Parametros del body (JSON):
Numero de telefono del destinatario (formato: 521234567890@s.whatsapp.net)
Contenido del mensaje
URL de la imagen o archivo multimedia (opcional)
Ejemplo para mensaje de texto:
{
"to": "521234567890@s.whatsapp.net",
"message": "Hola, este es un mensaje de prueba"
}
Ejemplo con imagen:
{
"to": "521234567890@s.whatsapp.net",
"message": "Mira esta imagen",
"mediaUrl": "https://ejemplo.com/imagen.jpg"
}
Parametros del body (JSON):
Numero del destinatario
Latitud de la ubicacion
Longitud de la ubicacion
Ejemplo:
{
"to": "521234567890@s.whatsapp.net",
"latitude": 19.4326,
"longitude": -99.1332
}
Parametros del body (JSON):
Numero del destinatario
URL del documento a enviar
Nombre del archivo con extension
Ejemplo:
{
"to": "521234567890@s.whatsapp.net",
"url": "https://ejemplo.com/documento.pdf",
"filename": "Contrato.pdf"
}
Parametros del body (JSON):
Numero del destinatario
Nombre del contacto
Numero del contacto
Ejemplo:
{
"to": "521234567890@s.whatsapp.net",
"name": "Juan Perez",
"number": "521234567890"
}
Consulta de Mensajes
Parametros de ruta:
ID de la sesion
Respuesta exitosa:
{
"success": true,
"messages": [
{
"id": "message_id",
"from": "521234567890@s.whatsapp.net",
"message": "Hola",
"timestamp": "2025-11-01T10:30:00Z"
}
]
}
Codigos de Respuesta
Ejemplos de Uso con URLs Completas
Ejemplo 1: POST - Crear Sesion (cURL)
curl -X POST https://whatsapp.qway.pe/api/baileys/sessions \
-H "Content-Type: application/json" \
-d '{"sessionId": "rest_1_ejemplo"}'
Ejemplo 2: GET - Verificar Estado de Sesion (cURL)
curl -X GET https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/status
Ejemplo 3: POST - Enviar Mensaje de Texto (cURL)
curl -X POST https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/send \
-H "Content-Type: application/json" \
-d '{
"to": "521234567890@s.whatsapp.net",
"message": "Hola, este es un mensaje de prueba"
}'
Ejemplo 4: GET - Obtener Mensajes (cURL)
curl -X GET https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/messages
Ejemplo 5: POST - Crear Sesion (JavaScript/Fetch)
fetch('https://whatsapp.qway.pe/api/baileys/sessions', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
sessionId: 'rest_1_ejemplo'
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Ejemplo 6: GET - Verificar Estado (JavaScript/Fetch)
fetch('https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/status')
.then(response => response.json())
.then(data => {
console.log('Estado:', data.status);
if (data.qrCode) {
console.log('QR disponible');
}
})
.catch(error => console.error('Error:', error));
Ejemplo 7: POST - Enviar Mensaje (JavaScript/Fetch)
fetch('https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/send', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: '521234567890@s.whatsapp.net',
message: 'Hola desde mi aplicacion'
})
})
.then(response => response.json())
.then(data => console.log('Mensaje enviado:', data))
.catch(error => console.error('Error:', error));
Ejemplo 8: POST - Crear Sesion (Python/requests)
import requests
url = 'https://whatsapp.qway.pe/api/baileys/sessions'
data = {'sessionId': 'rest_1_ejemplo'}
response = requests.post(url, json=data)
print(response.json())
Ejemplo 9: GET - Verificar Estado (Python/requests)
import requests
url = 'https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/status'
response = requests.get(url)
data = response.json()
print('Estado:', data['status'])
if 'qrCode' in data:
print('QR Code disponible')
Ejemplo 10: POST - Enviar Mensaje (Python/requests)
import requests
url = 'https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/send'
data = {
'to': '521234567890@s.whatsapp.net',
'message': 'Hola desde Python'
}
response = requests.post(url, json=data)
print(response.json())
Ejemplo 11: POST - Enviar Imagen (Python/requests)
import requests
url = 'https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/send'
data = {
'to': '521234567890@s.whatsapp.net',
'message': 'Mira esta imagen',
'mediaUrl': 'https://ejemplo.com/imagen.jpg'
}
response = requests.post(url, json=data)
print(response.json())
Ejemplo 12: POST - Enviar Ubicacion (cURL)
curl -X POST https://whatsapp.qway.pe/api/baileys/sessions/rest_1_ejemplo/sendubicacion \
-H "Content-Type: application/json" \
-d '{
"to": "521234567890@s.whatsapp.net",
"latitude": 19.4326,
"longitude": -99.1332
}'