logo
enes

Crear plantilla

Last update: 4 days ago by Irais Aguirre

Crea plantillas de mensajes de WhatsApp.

Resumen para integración

  • URL base: https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services
  • Token: de administración, en el encabezado Authorization: Bearer {{admin-token}} (cómo generarlo)
  • Endpoints en esta página:
    • POST /v1/template: Crear Template

Crear Template

Petición

Petición de Crear Template:

URLhttps://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/template
MétodoPOST
Tipoapplication/json

Encabezados

Encabezados de Crear Template:

NombreDescripciónTipoRequerimientos
Content-Typeapplication/jsonStringObligatorio
AuthorizationToken de administración. Consulta Generar Token de Autenticación.StringObligatorio

Cuerpo

Campos del cuerpo de Crear Template:

NombreDescripciónTipoRequerimientos
wba_idID de la cuenta de WhatsApp Business (WABA). Debe ser la WABA asociada a tu token. Solo admite dígitos.StringObligatorio
nameNombre del template. Solo admite letras, números y guion bajo (_).StringObligatorio
languageCódigo de idioma y configuración regional de la plantilla. Ejemplo: es, es_MX, en_US. Consulta los idiomas admitidos por Meta.StringObligatorio
categoryCategoría de la plantilla:
  • AUTHENTICATION
  • MARKETING
  • UTILITY
StringObligatorio
allowCategoryChangeSi el valor es true, Meta puede asignar automáticamente la categoría que corresponda a la plantilla. El valor por defecto es true. Envía este campo como allowCategoryChange (camelCase).BooleanOpcional
message_send_ttl_secondsTiempo de vida (TTL) en segundos. Es el tiempo máximo durante el cual WhatsApp intentará entregar un mensaje enviado con esta plantilla. Rangos permitidos por categoría:
  • MARKETING: 43200 a 2592000 (12 horas a 30 días).
  • UTILITY: 30 a 43200 (30 segundos a 12 horas).
  • AUTHENTICATION: 30 a 900 (30 segundos a 15 minutos).
Solo se aplica en plantillas MARKETING de WABAs con MM Lite activo.
IntegerOpcional
degrees_of_freedom_specObjeto de paso (pass-through) que se reenvía a Meta para controlar las opciones de flexibilidad de la plantilla. Opcional; se usa en configuraciones avanzadas de plantillas.ObjetoOpcional
optimization_specObjeto de paso (pass-through) que se reenvía a Meta para controlar la optimización de la plantilla. Opcional; se usa en configuraciones avanzadas de plantillas.ObjetoOpcional
structureEstructura de la plantillaObjeto structureObligatorio

Objeto structure

NombreDescripciónTipoRequerimientos
headerEncabezado de la plantillaObjeto headerOpcional
bodyCuerpo de la plantillaObjeto bodyObligatorio
footerPie de página de la plantilla. No se utiliza en plantillas AUTHENTICATION.StringOpcional
footer_code_expiration_minutesMinutos de vigencia del código que se muestran en el pie de página. Solo para plantillas AUTHENTICATION. Mínimo 1, máximo 90.IntegerOpcional
buttonsBotones que puede contener la plantillaLista de objetos buttonsOpcional
limited_time_offerComponente para mostrar oferta por tiempo limitado, permiten mostrar fechas de caducidad y temporizadores de cuenta regresiva para códigos de oferta en los mensajes de plantilla.Objeto limited_time_offerOpcional
carouselComponente de secuencia que permite enviar un mensaje de texto único acompañado por un conjunto de hasta 10 tarjetas de secuencia en una vista desplazable horizontalmenteObjeto carouselOpcional
call_permission_requestSi el valor es true, agrega a la plantilla un botón para que el usuario conceda permiso de llamada. Consulta Crear template con solicitud de permiso de llamada. El valor por defecto es false.BooleanOpcional

Objeto header

NombreDescripciónTipoRequerimientos
formatFormato del encabezado. Valores aceptados:
  • TEXT
  • IMAGE
  • DOCUMENT
  • VIDEO
  • LOCATION
  • GIF
El encabezado de las tarjetas del carrusel solo acepta IMAGE y VIDEO. GIF solo aplica en plantillas MARKETING de WABAs con MM Lite activo; en otro caso se envía como VIDEO.
StringObligatorio
textTexto del encabezadoStringObligatorio si format es TEXT
exampleEjemplos de los posibles datos de las variables o del contenido multimedia del encabezadoObjeto header exampleObligatorio si format es IMAGE, DOCUMENT, VIDEO o GIF

Objeto header example

NombreDescripciónTipoRequerimientos
header_handleContenido multimedia de ejemplo del encabezado (imagen, video o documento). Puedes enviarlo de dos formas:Para plantillas de tipo carrusel se recomienda utilizar el ID para reducir la probabilidad de errores por tiempo de espera al crear la plantilla. Para el formato GIF solo se aceptan URLs de archivos MP4.Lista de stringsCondicional
header_textEjemplos de posibles datos de variables del texto del encabezadoLista de stringsOpcional

Objeto body

NombreDescripciónTipoRequerimientos
textTexto del cuerpo. No puede contener variables al inicio o al final del texto. En plantillas AUTHENTICATION no se utiliza, ya que Meta define el texto.StringObligatorio, excepto en plantillas AUTHENTICATION
add_security_recommendationSi el valor es true, se agrega al cuerpo el texto de recomendación de seguridad. Solo para plantillas AUTHENTICATION.BooleanOpcional
exampleEjemplos de los posibles datos de las variables de la plantillaObjeto body exampleOpcional

Objeto body example

NombreDescripciónTipoRequerimientos
body_textEjemplos de posibles datos de variables. Incluye un valor por cada variable del texto del cuerpo.Lista de listas de stringsOpcional

Objeto buttons

NombreDescripciónTipoRequerimientos
typeTipo de botón. Valores aceptados:
  • PHONE_NUMBER
  • URL
  • QUICK_REPLY
  • COPY_CODE
  • OTP: botón de contraseña de un solo uso para plantillas AUTHENTICATION.
  • FLOW
  • REQUEST_CONTACT_INFO: solicita al usuario que comparta su número de teléfono.
  • CATALOG: abre el catálogo del negocio.
  • SEND_LOCATION: solicita al usuario de WhatsApp que comparta su ubicación.
  • ORDER_DETAILS: inicia un flujo de pedido y pago. Consulta Plantillas de Payments Brasil.
  • PAYMENT_REQUEST: consulta Crear plantilla de solicitud de pago.
StringObligatorio
textTexto del botón. No se utiliza en botones COPY_CODE.StringObligatorio para PHONE_NUMBER, URL, QUICK_REPLY, FLOW y ORDER_DETAILS.
urlURL que será redireccionado cuando de click en el botón. Debe ser una URL válida.StringObligatorio para URL.
phone_numberNúmero que será marcado cuando de click en el botón.StringObligatorio para PHONE_NUMBER.
example
  • Para botones URL: ejemplo de URL dinámica.
  • Para botones COPY_CODE: código del cupón que se copiará cuando se toque el botón. Máximo 15 caracteres.
Lista de stringsOpcional para URL.
Obligatorio para COPY_CODE.
otp_typeTipo de contraseña de un solo uso. Valores aceptados:
  • copy_code: copiar código.
  • one_tap: autocompletar con un toque.
  • zero_tap: autocompletar sin toques.
StringObligatorio para OTP.
autofill_textTexto del botón de autocompletar con un toque.StringOpcional
package_nameNombre del paquete de tu aplicación Android. Puedes usar supported_apps en su lugar.StringOpcional
signature_hashHash de la clave de firma de tu aplicación. Puedes usar supported_apps en su lugar.StringOpcional
zero_tap_terms_acceptedConfigurar como true indica que comprendes que el uso de la autenticación sin toques está sujeto a las Condiciones de Servicio de WhatsApp Business y que es tu responsabilidad garantizar que tus clientes esperen que el código se complete automáticamente cuando elijan recibirlo a través de WhatsApp. Si se configura como false, la plantilla no se creará.BooleanObligatorio si otp_type es zero_tap.
supported_appsPares de nombre de paquete y hash de la clave de firma, hasta para cinco aplicaciones. Es útil si tienes diferentes compilaciones de tu aplicación y quieres que cada una pueda iniciar el protocolo de enlace.Lista de objetos supported_appsObligatorio si otp_type es zero_tap.
flow_idIdentificador único del Flow proporcionado por WhatsApp.StringObligatorio para FLOW.
flow_action
  • navigate: para predefinir la primera pantalla como parte del mensaje de plantilla.
  • data_exchange: para los casos de uso avanzados en los que tu punto de conexión proporciona la primera plantilla.
StringObligatorio para FLOW.
navigate_screenEl id de la primera pantalla del proceso.StringObligatorio para FLOW solo si flow_action es navigate.
payment_settingMétodo de pago del botón. Consulta Crear plantilla de solicitud de pago.ObjetoObligatorio para PAYMENT_REQUEST.

Objeto supported_apps

NombreDescripciónTipoRequerimientos
package_nameNombre del paquete de tu aplicación Android. Debe tener al menos dos segmentos separados por puntos y cada segmento debe comenzar con una letra. Solo admite caracteres alfanuméricos y guion bajo (a-zA-Z0-9_). Máximo 224 caracteres.StringObligatorio
signature_hashHash de la clave de firma de tu aplicación. Solo admite caracteres alfanuméricos, +, / o = (a-zA-Z0-9+/=). Debe tener exactamente 11 caracteres. Consulta cómo obtenerlo en la documentación de Meta.StringObligatorio

Objeto limited_time_offer

NombreDescripciónTipoRequerimientos
textTexto de detalles de la oferta. Máximo de 16 caracteres.StringObligatorio
has_expirationSi el valor es true, los detalles de caducidad de la oferta aparecerán en el mensaje enviado. Si el valor es false, los detalles de caducidad de la oferta no aparecerán en el mensaje enviado y el componente de "botón copiar código" será opcional.
Si se incluye el botón de copiar código, deberá aparecer primero en la matriz buttons.
BooleanObligatorio

Objeto carousel

El componente de carrusel puede enviarse bajo la clave carousel o bajo la clave carousel_cards. Ambas se aceptan y corresponden al mismo componente.

NombreDescripciónTipoRequerimientos
cardsTarjetas del carrusel. Máximo 10 tarjetas.Lista de objetos cardsObligatorio

Objeto cards

NombreDescripciónTipoRequerimientos
headerEncabezado de la tarjeta. Solo acepta los formatos IMAGE y VIDEO, y todas las tarjetas deben tener el mismo formato.Objeto headerObligatorio
bodyCuerpo de la tarjeta. Máximo 160 caracteres.Objeto bodyObligatorio
buttonsBotones de la tarjeta. Mínimo 1 y máximo 2 botones de tipo PHONE_NUMBER, URL o QUICK_REPLY. Todas las tarjetas deben tener la misma cantidad y el mismo tipo de botones.Lista de objetos buttonsObligatorio

Ejemplo

Ejemplos completos de Crear Template. Cada body de abajo es un payload -d válido para la petición anterior; envía uno de ellos en lugar del Body general.

Body general

curl -X POST "https://{{url}}/whatsapp-bsp-admin-ext-endpoint-ws/services/v1/template" \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {{admin-token}}' \
-d '{
"wba_id": "1234567899870",
"name": "notificacion_de_pedido",
"language": "es_MX",
"category": "AUTHENTICATION|MARKETING|UTILITY",
"structure":
{
"header":
{
"format": "TEXT|IMAGE|DOCUMENT|VIDEO|LOCATION|GIF",
"text": "PEDIDO: {{1}}",
"example":
{
"header_handle":
[
"file-handle"
],
"header_text":
[
"header-example"
]
}
},
"body":
{
"text": "Tu pedido {{1}} está por llegar",
"example":
{
"body_text":
[
[ "123"]
]
}
},
"footer": "Mi empresa",
"buttons":
[
{
"type": "PHONE_NUMBER|URL|QUICK_REPLY|COPY_CODE|FLOW",
"text": "phone-button-text|url-button-text",
"url": "https://www.website.com/{{1}}",
"phone_number": "+52(1) 555-1111",
"example":
[
"https://www.website.com/dynamic-url-example"
]
}
]
}
}'

Body de encabezado de texto personalizado

Una plantilla MARKETING con encabezado TEXT, un cuerpo con parámetros, un pie de página y botones QUICK_REPLY + URL.

{
"wba_id": "1234567899870",
"name": "marketing_custom_text",
"language": "es_MX",
"category": "MARKETING",
"structure": {
"header": {
"format": "TEXT",
"text": "Big sale, {{1}}!",
"example": {
"header_text": [
"Ana"
]
}
},
"body": {
"text": "Hi {{1}}, enjoy {{2}} off your next order this weekend only.",
"example": {
"body_text": [
[
"Ana",
"20%"
]
]
}
},
"footer": "My Company",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Stop promotions"
},
{
"type": "URL",
"text": "Shop now",
"url": "https://www.website.com/{{1}}",
"example": [
"https://www.website.com/sale"
]
}
]
}
}

Body flows

{
"name": "lead_cj_cm_dudas",
"language": "es_MX",
"category": "MARKETING",
"structure":
{
"body":
{
"text": "Conecta con tus clientes interactuando por el canal y momento correcto. SMS, RCS, WhatsApp, Messenger, Email, Voz, Chatbot y muchos más."
},
"buttons":
[
{
"type": "FLOW",
"text": "Registrate",
"flow_id": "1636507303762565",
"navigate_screen": "CONTACT_INFO",
"flow_action": "navigate"
}
]
},
"wba_id": "1234567899870",
"allowCategoryChange": false
}

Body carrusel con multimedia por URL

{
"wba_id": "1234567899870",
"allowCategoryChange": false,
"name": "ejemplo_plantilla_carrusel",
"language": "es_MX",
"category": "MARKETING",
"structure":
{
"body":
{
"text": "Proporciona la mejor experiencia a tus clientes a través de sus canales favoritos. Usa el código {{1}} para obtener un descuento del {{2}} al registrarte.",
"example":
{
"body_text":
[
[
"DESCUENTO2024",
"25%"
]
]
}
},
"carousel":
{
"cards":
[
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"https://iili.io/HDQOyc7.jpg"
]
}
},
"body":
{
"text": "Conecta con tus clientes interactuando por el canal y momento correcto. SMS, RCS..."
},
"buttons":
[
{
"type": "URL",
"text": "Regístrate",
"url": "https://www.conceptomovil.com/producto_broadcastermobile.html"
}
]
},
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"https://iili.io/HDQOyc7.jpg"
]
}
},
"body":
{
"text": "Atiende a tus clientes con Chatbots y Agentes mediante Conversaciones en WhatsApp"
},
"buttons":
[
{
"type": "URL",
"text": "Regístrate",
"url": "https://www.conceptomovil.com/producto_broadcasterbot.html"
}
]
}
]
}
}
}

Body carrusel con multimedia por ID

El valor de header_handle es el ID que obtienes con Cargar contenido multimedia del encabezado.

{
"wba_id": "1234567899870",
"allowCategoryChange": false,
"name": "coupon_code_fall2023_25off_02",
"language": "en_US",
"category": "MARKETING",
"structure":
{
"body":
{
"text": "Proporciona la mejor experiencia a tus clientes a través de sus canales favoritos. Use el código {{1}} para obtener un descuento del {{2}} al registrarte.",
"example":
{
"body_text":
[
[
"Juan Pablo",
"25OFF"
]
]
}
},
"carousel":
{
"cards":
[
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"4::aW1hZ2UvcG5n:ARZExampleHandle1:e:1771350704:1234567890:1234567890:ARZExample"
]
}
},
"body":
{
"text": "Conecta con tus clientes interactuando por el canal y momento correcto. SMS, RCS..."
},
"buttons":
[
{
"type": "URL",
"text": "Registrate",
"url": "https://www.conceptomovil.com/producto_broadcastermobile.html",
"example":
[
"https://www.conceptomovil.com/producto_broadcastermobile.html"
]
}
]
},
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"4::aW1hZ2UvcG5n:ARZExampleHandle2:e:1771350704:1234567890:1234567890:ARZExample"
]
}
},
"body":
{
"text": "Atiende a tus clientes con Chatbots y Agentes mediante Conversaciones en WhatsApp"
},
"buttons":
[
{
"type": "URL",
"text": "Registrate",
"url": "https://www.conceptomovil.com/producto_broadcasterbot.html",
"example":
[
"https://www.conceptomovil.com/producto_broadcasterbot.html"
]
}
]
},
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"4::aW1hZ2UvcG5n:ARZExampleHandle3:e:1771350704:1234567890:1234567890:ARZExample"
]
}
},
"body":
{
"text": "La plataforma inteligente para gestionar tus dinámicas promocionales"
},
"buttons":
[
{
"type": "URL",
"text": "Registrate",
"url": "https://www.conceptomovil.com/producto_cmmkt.html",
"example":
[
"https://www.conceptomovil.com/producto_cmmkt.html"
]
}
]
}
]
}
}
}

Body de carrusel con multimedia (carousel_cards)

Hasta 10 tarjetas. Todas las tarjetas deben usar el mismo formato de encabezado (IMAGE o VIDEO) y la misma lista de botones (cantidad, tipos y orden). Cada tarjeta admite un máximo de 2 botones de tipo PHONE_NUMBER, URL o QUICK_REPLY. Este ejemplo usa el alias carousel_cards del componente de carrusel.

{
"wba_id": "1234567899870",
"name": "marketing_media_carousel",
"language": "es_MX",
"category": "MARKETING",
"structure": {
"body": {
"text": "Hi {{1}}, check out this week's featured deals!",
"example": {
"body_text": [
[
"Ana"
]
]
}
},
"carousel_cards": {
"cards": [
{
"header": {
"format": "IMAGE",
"example": {
"header_handle": [
"https://www.website.com/card1.jpg"
]
}
},
"body": {
"text": "Summer jacket, now {{1}} off.",
"example": {
"body_text": [
[
"30%"
]
]
}
},
"buttons": [
{
"type": "QUICK_REPLY",
"text": "More info"
},
{
"type": "URL",
"text": "Buy now",
"url": "https://www.website.com/jacket"
}
]
},
{
"header": {
"format": "IMAGE",
"example": {
"header_handle": [
"https://www.website.com/card2.jpg"
]
}
},
"body": {
"text": "Running shoes, now {{1}} off.",
"example": {
"body_text": [
[
"25%"
]
]
}
},
"buttons": [
{
"type": "QUICK_REPLY",
"text": "More info"
},
{
"type": "URL",
"text": "Buy now",
"url": "https://www.website.com/shoes"
}
]
}
]
}
}
}

Body oferta por tiempo limitado

{
"wba_id": "1234567899870",
"allowCategoryChange": false,
"name": "coupon_code_fall2023_25off_02",
"language": "en_US",
"category": "MARKETING",
"structure":
{
"header":
{
"format": "IMAGE",
"example":
{
"header_handle":
[
"https://iili.io/HDQOyc7.jpg"
]
}
},
"limited_time_offer":
{
"text": "Fecha límite!",
"has_expiration": true
},
"body":
{
"text": "Solo hoy, {{1}}! usa el código {{2}} para obtener un gran descuento al registrarte!",
"example":
{
"body_text":
[
[
"Juan Pablo",
"25OFF"
]
]
}
},
"buttons":
[
{
"type": "COPY_CODE",
"example":
[
"1234"
]
},
{
"type": "URL",
"text": "Registrate!",
"url": "https://www.conceptomovil.com/producto_broadcasterdata.html"
}
]
}
}

Body autenticación zero tap

Para implementar la autenticación sin toques en tu aplicación Android, consulta la documentación de Meta.

{
"wba_id": "1234567899870",
"allowCategoryChange": true,
"name": "zero_tap_example",
"language": "en_US",
"category": "AUTHENTICATION",
"structure":
{
"body":
{
"add_security_recommendation": true
},
"footer_code_expiration_minutes": 5,
"buttons":
[
{
"type": "OTP",
"otp_type": "zero_tap",
"text": "Copy Code",
"autofill_text": "Autofill",
"zero_tap_terms_accepted": true,
"supported_apps":
[
{
"package_name": "com.example.luckyshrub",
"signature_hash": "K8a/AINcGX7"
}
]
}
]
}
}

Body solicitud de información de contacto

Solicita el número de teléfono a los usuarios de WhatsApp que tienen activo un nombre de usuario.

{
"wba_id": "1234567899870",
"name": "request_contact_template",
"language": "es_MX",
"category": "MARKETING",
"structure":
{
"body":
{
"text": "Nos gustaría tener tu contacto para mantenerte al tanto de las últimas novedades. Si deseas recibir actualizaciones y promociones, compártenos tus datos de contacto."
},
"buttons":
[
{
"type": "REQUEST_CONTACT_INFO"
}
]
}
}

Body personalizado con encabezado multimedia (IMAGE)

El endpoint descarga la URL de header_handle y la carga a Meta, reemplazándola por el ID de medio devuelto. Los encabezados VIDEO, DOCUMENT y GIF funcionan de la misma forma (GIF se envía como VIDEO cuando MM Lite no es aplicable).

{
"wba_id": "1234567899870",
"name": "marketing_custom_image",
"language": "es_MX",
"category": "MARKETING",
"structure": {
"header": {
"format": "IMAGE",
"example": {
"header_handle": [
"https://www.website.com/promo-banner.jpg"
]
}
},
"body": {
"text": "Hi {{1}}, our new collection is here. Tap below to explore.",
"example": {
"body_text": [
[
"Ana"
]
]
}
},
"footer": "My Company",
"buttons": [
{
"type": "URL",
"text": "View collection",
"url": "https://www.website.com/collection"
}
]
}
}

Body con código de cupón (COPY_CODE)

El botón COPY_CODE copia el código de example[0] al portapapeles del cliente cuando se toca.

{
"wba_id": "1234567899870",
"name": "marketing_coupon_code",
"language": "es_MX",
"category": "MARKETING",
"structure": {
"body": {
"text": "Hi {{1}}, use the code below to get 25% off your next purchase.",
"example": {
"body_text": [
[
"Ana"
]
]
}
},
"footer": "Offer valid until stock lasts",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Stop promotions"
},
{
"type": "COPY_CODE",
"example": [
"SAVE25"
]
}
]
}
}

Body con encabezado de ubicación

Una plantilla UTILITY con encabezado LOCATION. El marcador de ubicación se completa al enviar el mensaje de plantilla.

{
"wba_id": "1234567899870",
"name": "utility_order_delivery_update",
"language": "en_US",
"category": "UTILITY",
"structure": {
"header": {
"format": "LOCATION"
},
"body": {
"text": "Good news {{1}}! Your order #{{2}} is on its way to the location above. Thank you for your order!",
"example": {
"body_text": [
[
"Mark",
"566701"
]
]
}
},
"footer": "To stop receiving delivery updates, tap the button below.",
"buttons": [
{
"type": "QUICK_REPLY",
"text": "Stop Delivery Updates"
}
]
}
}

Body de autenticación con copiar código

{
"wba_id": "1234567899870",
"name": "authentication_code_copy_code_button",
"language": "en_US",
"category": "AUTHENTICATION",
"structure": {
"body": {
"add_security_recommendation": true
},
"footer_code_expiration_minutes": 10,
"buttons": [
{
"type": "OTP",
"otp_type": "copy_code",
"text": "Copy Code"
}
]
}
}

Body de autenticación con un toque

{
"wba_id": "1234567899870",
"name": "authentication_code_autofill_button",
"language": "en_US",
"category": "AUTHENTICATION",
"structure": {
"body": {
"add_security_recommendation": true
},
"footer_code_expiration_minutes": 15,
"buttons": [
{
"type": "OTP",
"otp_type": "one_tap",
"text": "Copy Code",
"autofill_text": "Autofill",
"supported_apps": [
{
"package_name": "com.example.luckyshrub",
"signature_hash": "K8a/AINcGX7"
}
]
}
]
}
}

Body con botón de enviar ubicación

El botón SEND_LOCATION solicita al usuario de WhatsApp que comparta su ubicación.

{
"wba_id": "1234567899870",
"name": "marketing_send_location_button",
"language": "es_MX",
"category": "MARKETING",
"structure": {
"body": {
"text": "Hi {{1}}, share your location so we can find the nearest store for you.",
"example": {
"body_text": [
[
"Ana"
]
]
}
},
"buttons": [
{
"type": "SEND_LOCATION"
}
]
}
}

Body con botón de detalles del pedido

El botón ORDER_DETAILS inicia un flujo de pedido y pago. Consulta Plantillas de Payments Brasil.

{
"wba_id": "1234567899870",
"name": "order_details_template",
"language": "es_MX",
"category": "UTILITY",
"structure": {
"body": {
"text": "Review the details of your order and pay."
},
"buttons": [
{
"type": "ORDER_DETAILS",
"text": "Review and pay"
}
]
}
}

Respuesta

Respuesta de Crear Template:

Si la plantilla se crea correctamente, el servicio responde con el código HTTP 201 y los datos de la plantilla.

NombreDescripciónTipo
idID de la plantilla.String
nameNombre del template.String
languageCódigo de idioma y configuración regional de la plantilla.String
statusEstatus de la plantilla. Al crearse suele ser PENDING mientras Meta la revisa.String
namespaceEspacio de nombres de las plantillas de la WABA.String
wba_idID de la cuenta de WhatsApp Business (WABA).String
categoryCategoría asignada a la plantilla.String
allowCategoryChangeIndica si Meta puede asignar automáticamente la categoría de la plantilla.Boolean
message_send_ttl_secondsTTL en segundos. Solo se incluye si se envió en la petición.Integer

Nota: la respuesta puede incluir otros campos opcionales (por ejemplo message_send_ttl_seconds) cuando se enviaron en la petición.


{
"id": "572279198452421",
"name": "ejemplo_respuesta",
"language": "es_MX",
"status": "PENDING",
"namespace": "2d2354d2_54fd_123r_842f_2d5b215188fa",
"wba_id": "1234567899870",
"category": "MARKETING",
"allowCategoryChange": true
}


Whatsapp — Anterior
Gestión de plantillas
Siguiente
Consultar y eliminar plantillas