API Wazaut – Documentación

API Wazaut

La API REST de Wazaut te permite integrar las capacidades de WhatsApp Business directamente en tus sistemas. Envía mensajes, gestiona contactos, crea campañas y automatiza procesos desde cualquier lenguaje de programación que soporte peticiones HTTP.


Información General

La API de Wazaut sigue los principios REST y utiliza JSON para el intercambio de datos. Todos los endpoints están disponibles bajo HTTPS para garantizar la seguridad de las comunicaciones.

Base URL: https://api.wazaut.com/v1

Formato de datos: JSON (Content-Type: application/json)

Autenticación: Bearer Token en header Authorization

Versionado: Incluido en la URL (/v1, /v2)

Rate Limits: Varían según plan (ver tabla abajo)


Límites por Plan

|——|————–|————–|—————|

Los headers de respuesta incluyen información sobre tu uso actual de rate limit.


Autenticación

Todas las peticiones a la API requieren autenticación mediante Bearer Token. Obtén tu API Key desde el panel de configuración de Wazaut en Configuración → API → Generar Token.

<h1>Ejemplo de petición autenticada</h1>

curl -X GET "https://api.wazaut.com/v1/contacts" \ -H "Authorization: Bearer tu_api_key_aqui" \ -H "Content-Type: application/json"

Importante: Tu API Key es secreta y no debe compartirse ni exponerse en código cliente (frontend, apps móviles). Realiza las llamadas a la API siempre desde tu servidor backend.

Ver guía completa de autenticación →


Referencia de Endpoints

📨 Mensajes

Envía mensajes de texto, multimedia, plantillas y contenido interactivo a tus contactos.

|———-|——–|————-|

Documentación de Mensajes →


👥 Contactos

Gestiona tu base de contactos: crear, actualizar, etiquetar y consultar información.

|———-|——–|————-|

Documentación de Contactos →


💬 Conversaciones

Consulta y gestiona las conversaciones activas e históricas.

|———-|——–|————-|

Documentación de Conversaciones →


📢 Campañas

Crea y gestiona campañas de mensajería masiva.

|———-|——–|————-|

Documentación de Campañas →


📝 Plantillas

Gestiona tus plantillas de mensajes pre-aprobados por WhatsApp.

|———-|——–|————-|

Documentación de Plantillas →


🏷️ Etiquetas

Organiza contactos y conversaciones con etiquetas personalizadas.

|———-|——–|————-|

Documentación de Etiquetas →


Códigos de Respuesta

La API utiliza códigos HTTP estándar para indicar el resultado de las operaciones.

|——–|————-|————-|

Todas las respuestas de error incluyen un objeto JSON con detalles del problema.

{

"error": { "code": "VALIDATION_ERROR", "message": "El campo 'phone' es requerido", "details": [ { "field": "phone", "message": "Debe ser un número válido con código de país" } ] } }

Ver guía de manejo de errores →


Ejemplos de Código

Enviar mensaje de texto (Node.js)

const axios = require('axios');

const sendMessage = async () => { const response = await axios.post( 'https://api.wazaut.com/v1/messages/send', { to: '56912345678', // Número con código de país type: 'text', text: { body: 'Hola, este es un mensaje de prueba desde la API' } }, { headers: { 'Authorization': 'Bearer tu_api_key', 'Content-Type': 'application/json' } } );

console.log('Mensaje enviado:', response.data.message_id); };

Enviar mensaje con plantilla (Python)

import requests

url = "https://api.wazaut.com/v1/messages/send" headers = { "Authorization": "Bearer tu_api_key", "Content-Type": "application/json" }

payload = { "to": "56912345678", "type": "template", "template": { "name": "confirmacion_pedido", "language": {"code": "es"}, "components": [ { "type": "body", "parameters": [ {"type": "text", "text": "Juan"}, {"type": "text", "text": "ORD-12345"} ] } ] } }

response = requests.post(url, json=payload, headers=headers) print(f"Status: {response.status_code}") print(f"Response: {response.json()}")

Ver más ejemplos →


SDKs y Librerías

Ofrecemos SDKs oficiales para facilitar la integración en tu lenguaje preferido.

|———-|————-|————-|

PlanMensajes/minRequests/minContactos/día
Básico30601,000
Profesional601205,000
Enterprise150300Ilimitado
EndpointMétodoDescripción
/messages/sendPOSTEnviar mensaje a un contacto
/messages/{id}GETObtener detalle de mensaje
/messages/{id}/statusGETEstado de entrega del mensaje
EndpointMétodoDescripción
/contactsGETListar contactos
/contactsPOSTCrear nuevo contacto
/contacts/{id}GETObtener contacto
/contacts/{id}PUTActualizar contacto
/contacts/{id}DELETEEliminar contacto
/contacts/importPOSTImportación masiva
EndpointMétodoDescripción
/conversationsGETListar conversaciones
/conversations/{id}GETObtener conversación
/conversations/{id}/messagesGETMensajes de la conversación
/conversations/{id}/assignPOSTAsignar a agente
/conversations/{id}/closePOSTCerrar conversación
EndpointMétodoDescripción
/campaignsGETListar campañas
/campaignsPOSTCrear campaña
/campaigns/{id}GETDetalle de campaña
/campaigns/{id}/startPOSTIniciar envío
/campaigns/{id}/pausePOSTPausar campaña
/campaigns/{id}/statsGETEstadísticas
EndpointMétodoDescripción
/templatesGETListar plantillas
/templatesPOSTCrear plantilla
/templates/{id}GETDetalle de plantilla
/templates/{id}/statusGETEstado de aprobación
EndpointMétodoDescripción
/tagsGETListar etiquetas
/tagsPOSTCrear etiqueta
/tags/{id}PUTActualizar etiqueta
/tags/{id}DELETEEliminar etiqueta
CódigoSignificadoDescripción
200OKPetición exitosa
201CreatedRecurso creado correctamente
400Bad RequestError en los parámetros enviados
401UnauthorizedAPI Key inválida o expirada
403ForbiddenSin permisos para la operación
404Not FoundRecurso no encontrado
429Too Many RequestsRate limit excedido
500Server ErrorError interno del servidor
LenguajeInstalaciónRepositorio
Node.jsnpm install @wazaut/sdkGitHub
Pythonpip install wazautGitHub
PHPcomposer require wazaut/sdkGitHub

Los SDKs manejan automáticamente la autenticación, reintentos y parsing de respuestas.

Ver documentación de SDKs →


Casos de Uso Comunes

Sincronización con CRM: Mantén tu CRM actualizado en tiempo real cuando lleguen nuevos contactos o conversaciones a Wazaut.

Notificaciones transaccionales: Envía confirmaciones de pedido, actualizaciones de estado, recordatorios de citas desde tu sistema.

Chatbots externos: Conecta tu propio motor de chatbot para procesar mensajes y responder automáticamente.

Reportes personalizados: Extrae datos de conversaciones y métricas para dashboards personalizados.

Ver guías de casos de uso →


Preguntas Frecuentes

¿Puedo usar la API desde una app móvil?
No directamente. Las llamadas deben hacerse desde tu servidor backend para proteger tu API Key. Tu app móvil debe comunicarse con tu backend, y este con la API de Wazaut.

¿Hay un ambiente de pruebas (sandbox)?
Sí, proporcionamos un ambiente sandbox para desarrollo. Solicítalo a soporte@wazaut.app.

¿Qué pasa si excedo el rate limit?
Recibirás un error 429. Implementa exponential backoff en tu código para reintentar después de unos segundos.

¿Cómo pruebo la API rápidamente?
Usa herramientas como Postman o Insomnia. Tenemos una colección de Postman lista para importar.


Recursos Adicionales

Postman Collection: Descargar colección

OpenAPI Spec: Especificación Swagger

Changelog: Historial de cambios de la API


¿Esta documentación fue útil? 👍 Sí | 👎 No

Última actualización: Diciembre 2025

Compartir artículo

Etiquetas:

apidesarrolladordocumentacionintegracionrest