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, y por eso se le exige la misma verificación que a SMS y a email: puede enrutar a cualquiera de los dos.

Qué bloquea un envío

Redactar es gratis. Enviar no.

La verificación bloquea el envío, nunca el borrador. Elige un canal y lee exactamente qué te pide, qué revisa el contenido y qué devuelve un envío bloqueado.

Canal
VerificaciónKYC + KYB

Las dos. Verificación de identidad (KYC) y de empresa (KYB), y pasar una no alcanza. smart no está exento: puede enrutar un contacto a SMS o a email, así que responde a la misma vara que ellos.

Revisión

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

Si está bloqueado

403 kyc_required o 403 kyb_required, nombrando la que falte.

Nada de esto toca un borrador. Crea la campaña, agrega a todos los destinatarios, reescribe el texto — sin verificación y sin cargo. 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