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" }