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

smartsmssms_onewaywhatsapptelegramemail

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.

Canal
Qué te pideKYC + KYB

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á.

Revisión

Primero revisión automática de contenido, y después una persona la aprueba antes de que salga nada.

Si la rechazan

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.

BroadcastStatus
Actualdraft

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.

contacts[]
01

added

+14155551234

Hi John, order ORD-001 shipped today.

02

added

+5491133445566

Hi Lucía, order ORD-002 shipped today.

03

added

mara@example.com

Hi Mara, order ORD-003 shipped today.

Respuesta

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.

status sending

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.

create.ts
npm add @zavudev/sdk
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.

Broadcasts | Campañas a miles de contactos — Zavu | Zavu