Crea una campaña de mensajería masiva usando una plantilla aprobada por Meta y la encola para envío inmediato o programado.
Los destinatarios se especifican con recipients.type:
phones: lista de números de teléfono con código de país. Los que no se resuelvan a un contacto existente se reportan enrecipients.skipped.contact_ids: lista de IDs enteros de contactos de la cuenta.labels: IDs enteros de etiquetas; se envía a todos los contactos que tengan alguna.all: todos los contactos activos de la cuenta (valuesse ignora).
Si se omite scheduled_at, el envío comienza de inmediato. Si se especifica, usa el formato AAAA-MM-DD HH:mm (ej. 2026-12-01 09:00) en la zona horaria del usuario dueño del token, y debe ser una fecha futura (se retorna 422 si ya pasó).
Nota: el objeto data de la respuesta no incluye template_id porque ese dato no se persiste en la campaña.
Guía de integración
Para crear una campaña siga esta secuencia típica.
Pasos 1-7 — Preparación (endpoints auxiliares): reúnen los datos que necesita para armar el envío (línea, plantilla, variables, multimedia y destinatarios). No envían nada todavía.
GET /whatsapp-numbers— obtenga elidde la línea de WhatsApp (phone_id).GET /whatsapp-templates— liste las plantillas aprobadas y tome eluuidde la plantilla deseada (template_uuid).GET /whatsapp-templates/{template_uuid}/variables— obtenga las variables (body/header/buttons) que requiere la plantilla para saber qué valores pasar envariables.body,variables.headeryvariables.buttons.POST /whatsapp-messages/attachment(solo si la plantilla usa header multimedia) — suba el archivo y use la URL resultante enmedia.url.GET /labels(si usarecipients.type: labels) — obtenga los IDs de etiquetas pararecipients.values.GET /contacts(si usarecipients.type: contact_idsophones) — obtenga los IDs o teléfonos de los destinatarios.GET /custom-fields(opcional) — obtenga los tokens de campos personalizados disponibles como variables dinámicas.
Pasos 8-10 — Envío y seguimiento (post-envío): el paso 8 crea y encola la campaña; los pasos 9-10 sirven para revisar y monitorear la entrega después del envío (no son necesarios para enviar).
POST /campaigns(este endpoint) — cree la campaña. La respuesta incluye eluuidpara el monitoreo posterior.GET /campaigns/{campaign_uuid}/stats— (post-envío) consulte los conteos de entrega por estado.GET /campaigns/{campaign_uuid}/logs— (post-envío) obtenga el detalle de entrega por contacto.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
