Broadcasts
Una campaña.Miles de contactos.
Arma la lista en lotes de mil, dale a cada destinatario sus propias variables y envía por el canal que corresponda — o deja que a cada contacto se le llegue por donde le funciona. El costo se reserva antes de que salga el primer mensaje, y el envío se lee mientras ocurre.
Canales que puede tomar una campaña
Seis valores, y ninguno más. smart decide contacto por contacto, así que responde a lo que pida el canal que elija: puede enrutar a SMS o a email.
Qué bloquea un envío
Redactar es gratis. Enviar se lee.
Ninguna verificación se interpone entre tú y un envío. Lo que se interpone es el contenido: toda campaña se lee antes de salir. Elige un canal y lee qué te pide, qué revisa el contenido y qué devuelve un envío rechazado.
Ninguna. Cada contacto se envía después como un mensaje normal, así que el techo diario aplica por destinatario — y también la campaña 10DLC que los carriers exigen en números de Estados Unidos y Canadá.
Primero revisión automática de contenido, y después una persona la aprueba antes de que salga nada.
La revisión la rechaza, la campaña queda en rejected y el motivo queda en ella. Edita el texto y reintenta la revisión, o escálala a una persona.
Nada de esto toca un borrador. Crea la campaña, agrega a todos los destinatarios, reescribe el texto — nada se lee y nada se cobra. Los controles corren al enviar.
La máquina de estados
Doce estados. Recórrelos.
Cada estado que una campaña puede reportar, y cada movimiento entre ellos. Haz clic en un estado para leerlo; presiona una transición para tomarla.
Borrador
Creada, no enviada. No cuesta nada, no pide verificación, y se puede editar y rellenar todo el tiempo que quieras.
Qué acepta
- PATCH /v1/broadcasts/{id} — reescribe el texto
- POST /v1/broadcasts/{id}/contacts — agrega hasta 1.000 destinatarios por llamada
- DELETE /v1/broadcasts/{id} — descártala
- POST /v1/broadcasts/{id}/send — envíala a revisión
Cada movimiento de arriba dispara el webhook broadcast.status_changed, así que nada de esto hay que consultarlo para enterarse.
Una campaña, un mensaje para cada uno
Cada destinatario lleva sus propias variables.
Un lote es una lista de destinatarios, cada uno con su propio objeto templateVariables. Edita el cuerpo o cualquier fila y mira qué recibe realmente esa persona — y qué respondería el endpoint.
added
+14155551234
Hi John, order ORD-001 shipped today.
added
+5491133445566
Hi Lucía, order ORD-002 shipped today.
added
mara@example.com
Hi Mara, order ORD-003 shipped today.
3
added
0
duplicates
0
invalid
Hasta 1.000 destinatarios por petición, llamada tantas veces como necesite la lista. Los duplicados y los inválidos vuelven contados, con una razón cada uno, en vez de descartarse en silencio. Las plantillas de WhatsApp aceptan dos objetos más por destinatario: templateButtonVariables, indexado por botón, y templateHeaderVariables, indexado por 1.
Mientras corre
Conteos, costo y una hora de término.
Una sola llamada responde con el cuadro completo. Arrastra el envío hacia adelante, o cancélalo en pleno vuelo y mira qué pasa con los destinatarios que aún no habían salido.
48%
percentComplete
5,000 destinatarios
startedAt 10:30 · eta 10:45
2,500
pending
100
sending
2,352
delivered
48
failed
0
skipped
$75.00
estimatedCost
$75.00
reservedAmount
$35.28
actualCost
El costo estimado se reserva de tu balance al arrancar el envío, para que una campaña no quede a medias por quedarse sin fondos. actualCost se acumula sobre lo entregado, y la diferencia vuelve.
Cuatro llamadas
Broadcasts está en el SDK.
Créala, llénala, envíala, mírala. Métodos reales en TypeScript y Python, y los mismos cuatro pasos sobre HTTP plano.
import Zavudev from '@zavudev/sdk';
const zavu = new Zavudev({ apiKey: process.env['ZAVUDEV_API_KEY'] });
// channel: smart | sms | sms_oneway | whatsapp | telegram | email
const broadcast = await zavu.broadcasts.create({
name: 'October update',
channel: 'smart',
text: 'Hi {{name}}, order {{order_id}} shipped today.',
});
console.log(broadcast.id, broadcast.status); // -> "draft"Escríbelo una vez. Llega a todos.
Empieza gratis, sin tarjeta. Los borradores no cuestan — la verificación solo se pide al enviar, y nunca en WhatsApp.