Las plantillas de WABA son una forma de iniciar una conversación con un cliente en el canal de WhatsApp Business API.
👉 Qué es una plantilla WABA, de qué se compone y cómo crearla en tu cuenta de Wazzup
Para obtener una lista de plantillas WABA creadas en Wazzup, envía:
GET https://api.wazzup24.com/v3/templates/whatsapp
Parámetros de la solicitud
| Nombre | Tipo | Descripción |
| limit | number | Límite de registros devueltos. Valor predeterminado: 100 |
| offset | number | Desde qué plantilla comenzar a enviar la lista. Útil si ya pediste una lista anteriormente, pero desde entonces se crearon nuevas plantillas y solo necesitas obtener las nuevas. Valor predeterminado: 0 |
Ejemplo de solicitud
curl --location --request GET 'https://api.wazzup24.com/v3/templates/whatsapp' \ --header 'Authorization: Bearer f6633fb8f4c648fasssf0e9f43a334c1b' \ --data-raw ''
Parámetros de la respuesta
| Nombre | Tipo | Descripción |
| templateGuid | string | ID de la plantilla |
| accountId | number | ID de la cuenta |
| title | string | Nombre de la plantilla en la cuenta de Wazzup (para buscarla más fácilmente) |
| name | string | Nombre de la plantilla que se enviará a Facebook |
| waba | object | Objeto con la información de la cuenta empresarial de Meta |
| waba.wabaId | string | ID de la cuenta empresarial de Meta |
| waba.wabaName | string | Nombre de la cuenta empresarial de Meta |
| channels | array | Lista de canales a los que están conectadas las plantillas |
| category | string | Categoría de la plantilla |
| language | string | Lenguaje de plantilla |
| status | string | Estado de moderación |
| rejected_reason | string | El motivo del rechazo si el estado es rechazado |
| namespace | string | Espacio de nombres de Facebook |
| components | Object (Array) | Lista de componentes de la plantilla |
| components.type | string | Tipo de componente de plantilla: ENCABEZADO, PIE DE PÁGINA, BOTONES, CUERPO |
| components.format | string | Formato. Solo para el componente ENCABEZADO: IMAGEN, DOCUMENTO, VÍDEO, TEXTO |
| components.text | string | Texto del componente, si hay algún texto |
| components.example | String (Array) | Lista de ejemplos de variables de llenado para el componente de plantilla correspondiente |
| components.buttons | Object (Array) | Lista de botones, si están en la plantilla |
| components.buttons.type | string | Tipo de botón: URL, RESPUESTA RÁPIDA, NÚMERO DE TELÉFONO |
| components.buttons.text | string | Texto del botón |
| components.buttons.url | string | El enlace que seguirá el botón si es un botón de tipo URL |
Ejemplos de respuestas
HTTP/1.1 200 OK
[
{
"templateGuid": "8d255e5d-aefd-44dc-8131-c3ad6c3ab28c",
"accountId": 70789196,
"title": "Template name",
"channels": ["e9a268e4-44af-41cd-9b63-2524a4ad653e"],
"order": 0,
"category": "MARKETING",
"language": "ru",
"components": [
{
"text": "Hi, !",
"type": "HEADER",
"format": "TEXT",
"example": {
"header_text": ["header-example-1"]
}
},
{
"text": "We have some news",
"type": "BODY",
"example": {
"body_text": [["body-example-1"]]
}
}
],
"waba": {
"wabaId": "194388939529290",
"wabaName": "Wazzup LLC"
},
"name": "Template name",
"namespace": "c8ae5f90_307a_ca4c_b8f6_d1e2a2573574",
"publishedAt": null,
"isTrickyTemplate": false,
"trickyTemplatesPriority": null,
"createdAt": "2023-12-31T23:55:42.504Z",
"updatedAt": "2023-12-31T23:55:08.857Z",
"componentsDefaults": {},
"tags": null,
"templateCode": "@template: fe03cddf-dec1-4c19-aede-e16190abca46 { [[headerVar1]]; [[bodyVar1]] }"
} Obtener un precio para una plantilla WABA
El método le permite obtener el precio de las plantillas WABA al momento de enviar la solicitud.
GET https://tech.wazzup24.com/channels/waba/pricing/{countryCode}
{countryCode} — Código de país. Norma ISO 3166-1 alfa-2
Solicitud de ejemplo
curl -X 'GET' \ 'https://tech.wazzup24.com/channels/waba/pricing/KA' \ --header 'Authorization: Bearer c8cf90554027882f912520f454468d27' \ --header 'Content-Type: application/json' \
Respuestas de muestra
Respuesta exitosa — 200, json
{ "timestamp": "2024-01-15T10:30:00Z", "pricing": { "marketing": { "USD": 0.0412, "EUR": 0.038, "RUB": 3.2, "KZT": 19.31 }, "utility": { "USD": 0.0206, "EUR": 0.019, "RUB": 1.6, "KZT": 9.65 }, "authentication": { "USD": 0.0103, "EUR": 0.0095, "RUB": 0.8, "KZT": 4.83 }, "service": { "USD": 0.0309, "EUR": 0.0285, "RUB": 2.4, "KZT": 12.96 } } }
Solicitud no autorizada — 401, json:
{ "statusCode": 401, "message": "Unauthorized" }
Acceso denegado — 403, json:
{ "statusCode": 403, "message": "Invalid account type" }
Demasiadas solicitudes. Inténtalo de nuevo más tarde — 429, json:
{ "statusCode": 429, "message": "Route rate limit exceeded", "error": "Too Many Requests", "retryAfter": 45 }
Error del servidor — 500, json:
{ "statusCode": 500, "message": "Internal server error" }
Recibir una lista de transacciones a través del canal WABA para el día
Este método devuelve todas las transacciones realizadas en el día especificado (UTC). La búsqueda se realiza en el rango de 00:00:00.000 a 23:59:59.999 UTC inclusive.
Este método permite obtener el precio de las plantillas WABA en el momento de la solicitud.
GET https://tech.wazzup24.com/channels/waba/{channelId}/transactions/{date}
Solicitud de ejemplo
curl -X 'GET' \ 'https://tech.wazzup24.com/channels/waba/069342f0-36c0-4496-13ed-e584d3f5bac2/transactions/2025-01-01' \ --header 'Authorization: Bearer c8cf90554027882f912520f454468d27' \ --header 'Content-Type: application/json' \
Respuestas de muestra
Success — 200, json:
{ "transactions": [ { "waba_id": "waba_id123", "channel_id": "069342f0-36c0-4496-13ed-e584d3f5bac2", "template_type": "MARKETING", "amount": -0.0412, "currency": "USD", "recipient_phone": "79123456789", "session_date": "2024-01-15T10:30:00Z", "billing_country": "US" } ], "count": 1 }
Solicitud no autorizada — 401, json:
{ "statusCode": 401, "message": "Unauthorized" }
Acceso denegado — 403, json:
{ "statusCode": 403, "message": "Invalid account type" }
Demasiadas solicitudes. Inténtalo de nuevo más tarde. — 429, json:
{ "statusCode": 429, "message": "Route rate limit exceeded", "error": "Too Many Requests", "retryAfter": 45 }
Error del servidor — 500, json:
{ "statusCode": 500, "message": "Internal server error" }