Endpoint
| Header | Valor |
|---|
X-API-Key | Tu API key |
Content-Type | application/json |
Body
{
"phone_number": "521234567890",
"template_id": "nombre_template_meta",
"language_code": "es",
"params": ["valor1", "valor2"]
}
Campos
| Campo | Tipo | Requerido | Descripción |
|---|
phone_number | string | ✅ | Número en formato internacional sin + (ej. 521234567890) |
template_id | string | ✅ | Alias amigable registrado en el dashboard (ej. confirmacion) o el nombre completo del template en Meta. Si el alias existe en tu tenant, Axelo lo traduce automáticamente; si no, se pasa tal cual a Meta |
language_code | string | — | Código de idioma del template. Si usas alias y omites este campo, se toma del registro. Default global: es |
params | array | — | Valores posicionales para {{1}}, {{2}}, etc. del template |
Ejemplo
curl -X POST https://api.axelo.mx/v1/send/whatsapp \
-H "Content-Type: application/json" \
-H "X-API-Key: TU_API_KEY" \
-d '{
"phone_number": "521234567890",
"template_id": "confirmacion_reserva",
"language_code": "es",
"params": ["Carlos Mendoza", "30 de marzo", "3:00 PM", "Sala Norte"]
}'
confirmacion_reserva puede ser un alias amigable que registraste en el dashboard (mapeado a un template real de Meta), o directamente el nombre exacto que ves en Meta Business Manager. Los aliases simplifican las integraciones porque los templates con header media de Meta llevan un sufijo _hxXXXX... largo que es feo en el código del cliente.
Si el template es:
"Hola {{1}}, tu reserva del {{2}} a las {{3}} en {{4}} está confirmada."
El mensaje enviado sería:
"Hola Carlos Mendoza, tu reserva del 30 de marzo a las 3:00 PM en Sala Norte está confirmada."
Respuesta 202
{
"job_id": "d4e5f6a1-b2c3-...",
"status": "pending"
}
Errores
| Código | Causa |
|---|
400 | phone_number o template_id vacíos |
401 | API key inválida |
403 | Canal WhatsApp no habilitado para tu tenant |
500 | Error al encolar o credenciales Meta no configuradas |
Los templates deben estar aprobados en tu cuenta de Meta Business antes de poder enviarlos. El proceso de aprobación toma 24–48 horas.