POST /v1/messages/send-bulk-template envía una plantilla aprobada de WhatsApp a una lista de
contactos de una sola vez. Por ser plantillas, estos envíos valen fuera de la ventana de 24
horas: esta es la forma de iniciar una conversación con quien no ha hablado con usted recientemente.
Scope: messages:create.
La plantilla debe estar aprobada en Meta de antemano. Esta llamada dispara una plantilla
existente; no crea ni envía plantillas para aprobación.
Campos de la solicitud
phone necesita el código del país, sin símbolos: 5511999999999. name no puede estar vacío.
Enviar a una lista de contactos
cURL
multipart/form-data con el CSV o XLSX
en el campo file y los demás campos en el formulario. El archivo necesita las columnas name y
phone:
Combinar archivo con
components de parámetros dinámicos es un caso que vale la pena probar
con pocos contactos antes de usarlo en producción. Si los parámetros no se aplican como usted
espera, contacte al soporte.Parámetros de la plantilla
Una plantilla aprobada tiene marcadores ({{1}}, {{2}}) y bloques: encabezado, cuerpo y botones.
Esto se completa en components, y el número y el tipo de parámetros deben coincidir
exactamente con la plantilla aprobada, de lo contrario Meta rechaza el envío.
Tipos de parámetro:
Ejemplos por tipo de plantilla
Encabezado con imagen
Encabezado con imagen
Plantilla: encabezado de imagen +
¡Hola {{1}}! Descubre nuestra promoción de {{2}}.Botón con URL dinámica
Botón con URL dinámica
Plantilla:
Su pedido #{{1}} ha sido confirmado. + botón que apunta a .../track/{{1}}.El index del botón es una string y comienza en "0":Documento en el encabezado
Documento en el encabezado
Plantilla: encabezado de documento +
Hola {{1}}, aquí está su factura.Importe monetario y fecha
Importe monetario y fecha
Plantilla: El formato final (
Su factura de {{1}} por un valor de {{2}} vence el {{3}}.R$ 150,50, 31/01/2026) lo aplica WhatsApp, según el idioma del
dispositivo de quien recibe el mensaje.La respuesta es parcial
El procesamiento es síncrono y un contacto con error no interrumpe a los demás. La respuesta trae el resultado consolidado:Límites que vale la pena conocer
- Tier de la cuenta en WhatsApp: Meta limita el número de conversaciones únicas iniciadas por día (1.000, 10.000 o 100.000, según el tier de su cuenta). El envío respeta ese tope: por encima de él, los envíos empiezan a fallar.
- Tamaño de medios: imagen hasta 5 MB (JPG, PNG), video hasta 16 MB (MP4, 3GPP), documento hasta 100 MB (PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, TXT), audio hasta 16 MB.
- Enlaces de medios: deben ser URLs HTTPS públicas, accesibles por Meta. Una URL detrás de un login o de una red interna falla.
- Tamaño del lote: envíe en bloques de hasta 1.000 contactos por solicitud.
Buenas prácticas
1
Pruebe con un solo contacto
Envíe primero a su propio número y verifique el resultado en el dispositivo. Un parámetro
fuera de orden solo aparece en el mensaje final.
2
Normalice los teléfonos antes
Use el formato internacional sin símbolos (
5511999999999). Un número inválido se convierte
en una línea en errors, no en una excepción.3
Guarde los conversationId
sentContacts devuelve la conversación creada para cada contacto: es por ella que se hace
seguimiento de la respuesta, vía webhooks o
GET /v1/messages/conversation/{id}.4
Trate los errores como cola de reprocesamiento
Reenvíe solo las líneas de
errors, después de corregir el motivo.Próximos pasos
Webhooks
Reciba las respuestas de quienes fueron impactados por el envío.
Referencia de la API
Contrato completo del endpoint y de los demás envíos.