curl --request POST \
--url https://api.omni.z-api.io/whatsapp/businesses/{wabaId}/templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "actualizacion_pedido_v1",
"category": "UTILITY",
"language": "es_ES",
"components": [
{
"type": "BODY",
"text": "Hola {{1}}, tu pedido {{2}} se ha actualizado a {{3}}. ¡Hasta pronto!",
"example": {
"body_text": [
[
"Ana",
"PED-1024",
"em transporte"
]
]
}
}
]
}
'{
"id": "1613165359891625",
"status": "PENDING",
"category": "UTILITY"
}{
"error": "Newport request failed",
"value": {
"errors": [
{
"description": "",
"name": "META_WHATSAPP_ERROR",
"message": "Tu mensaje no se puede enviar porque incluye contenido que otras personas en Facebook denunciaron como abusivo.",
"code": "368"
}
]
}
}{
"error": 401,
"message": "Unauthorized"
}{
"error": {
"errors": [
{
"code": "100",
"name": "META_WHATSAPP_ERROR",
"subCode": "2388024",
"message": "Invalid parameter",
"description": "There is already Portuguese (BR) content for this template. You can create a new template and try again."
}
]
}
}Plantillas (WhatsApp)
Crear plantilla
Crea una plantilla nueva y envíala a la aprobación de Meta
POST
/
whatsapp
/
businesses
/
{wabaId}
/
templates
curl --request POST \
--url https://api.omni.z-api.io/whatsapp/businesses/{wabaId}/templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "actualizacion_pedido_v1",
"category": "UTILITY",
"language": "es_ES",
"components": [
{
"type": "BODY",
"text": "Hola {{1}}, tu pedido {{2}} se ha actualizado a {{3}}. ¡Hasta pronto!",
"example": {
"body_text": [
[
"Ana",
"PED-1024",
"em transporte"
]
]
}
}
]
}
'{
"id": "1613165359891625",
"status": "PENDING",
"category": "UTILITY"
}{
"error": "Newport request failed",
"value": {
"errors": [
{
"description": "",
"name": "META_WHATSAPP_ERROR",
"message": "Tu mensaje no se puede enviar porque incluye contenido que otras personas en Facebook denunciaron como abusivo.",
"code": "368"
}
]
}
}{
"error": 401,
"message": "Unauthorized"
}{
"error": {
"errors": [
{
"code": "100",
"name": "META_WHATSAPP_ERROR",
"subCode": "2388024",
"message": "Invalid parameter",
"description": "There is already Portuguese (BR) content for this template. You can create a new template and try again."
}
]
}
}Conceptos
Este endpoint está limitado por WABA, así que hoy cubre solo WhatsApp Oficial.Instagram y Messenger también tienen plantilla preaprobada: la Utility Template, con alcance de página. La compatibilidad con ellos en Omni Z-API está en implementación. Consulta la comparación de los tres tipos de plantilla.
PENDING y pasa a APPROVED o REJECTED tras la revisión.
Usa el endpoint Sincronizar plantillas para forzar la actualización del estado.
El nombre de la plantilla debe estar en
snake_case, sin espacios ni caracteres especiales. Una vez creada, el nombre no se puede cambiar.El
wabaId se obtiene a través del endpoint Listar WABAs.Autorizaciones
Secret Key generada en el panel de Seguridad de Omni Z-API
Parámetros de ruta
ID de la WABA (obtenido con Listar WABAs)
Ejemplo:
"428083093730937"
Cuerpo
application/json
Nombre de la plantilla (snake_case, sin espacios)
Categoría de la plantilla
Opciones disponibles:
UTILITY, MARKETING, AUTHENTICATION Idioma de la plantilla (p. ej.: es_ES, en_US)
Componentes de la plantilla (HEADER, BODY, FOOTER, BUTTONS)