Miira · leads y WhatsApp v1 vigente
miira. broadcast_ sent
Envía la difusión de WhatsApp presupuestada por miira.broadcast_quoted, exactamente a quienes y como dijo el presupuesto. Si algo cambió (ventana, consentimiento, tarifa) se niega con el presupuesto nuevo para confirmarlo otra vez. Cuesta dinero cuando hay plantillas: no lo llames sin que la persona haya visto el coste.
Última actualización
POST /api/v1/actions/miira.broadcast_sent- Alcance de la llave
miira.broadcast_sent@1- Permiso del workspace
api.miira.broadcast_sentapagado por defecto- Vigilada
- Sí — el coste de la petición se registra y puede tener tope por workspace.
Hacen falta las dos cosas: una llave con ese alcance, y que el dueño del workspace haya encendido el permiso. Tener la llave no basta — son dos decisiones de personas distintas.
Petición
| campo | tipo | reglas | |
|---|---|---|---|
quote | string | obligatorio | min 1 · max 65536 |
Respuesta — output cuando status es done
| campo | tipo | reglas | |
|---|---|---|---|
queued | object[] | obligatorio | |
costUsd | string | obligatorio |
queued[]
| campo | tipo | reglas | |
|---|---|---|---|
clientId | string | obligatorio | |
clientName | string | obligatorio | |
mode | "free_text" | "template" | obligatorio | |
outboxId | string | obligatorio |
Ejemplo
# One request, one idempotency key: retrying with the same key never runs twice.
curl -X POST https://niiko.org/api/v1/actions/miira.broadcast_sent \
-H "Authorization: Bearer nk_…" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"quote": "…"
}'
# 200 → done · 202 → pending_approval (a person signs later) · 4xx → refused, with a named reasonPor qué puede negarse
Cada motivo dice quién puede arreglarlo y cómo. Con motivo stale, detail.message dice qué hacer.
presupuesto_invalidopresupuesto_vencidopresupuesto_cambiadoplantilla_invalidatarifas_vencidassin_permiso
En los clientes
| @vorluno/niiko-sdk | niiko.sentBroadcast() |
| niiko (Python) | niiko.sent_broadcast() |
| niiko-cli | niiko run miira.broadcast_sent |
| n8n-nodes-niiko | miiraBroadcastSent |
| niiko-mcp-server | miira_broadcast_sent |
Historial
- Una difusión puede declararse promoción
miira.broadcast_quotedacepta unpurposeopcional:notice(el de siempre, sin cambios) opromotion. Una promoción nunca sale como texto libre, ni con la ventana de 24 horas abierta: exige una plantilla de marketing aprobada (si no,plantilla_invalida) y solo llega a quien dio su consentimiento de marketing (si no,no_marketing_consent). Los números de EE. UU. quedan fuera con el nuevo desenlace de filaus_moratorium, que solo se emite en una promoción, así que las integraciones existentes nunca lo ven. El propósito va firmado en el presupuesto. - Las difusiones ya no esperan a las horas de silencioniiko ya no difiere ni excluye envíos por la hora del día. Las filas de una difusión dejan de salir como
quiet_hours(el valor sigue en el enum de desenlaces, pero nunca se emite), y los mensajes que encolamiira.broadcast_sentsalen enseguida, a cualquier hora. La ventana de servicio de 24 horas de Meta y las reglas de consentimiento no cambian. - Difusión por WhatsApp, en dos pasos
miira.broadcast_quotedcotiza el mismo mensaje a hasta 50 clientes (gratis dentro de la ventana de 24 horas, plantilla aprobada y tarifa fuera de ella) y devuelve una cotización firmada válida 15 minutos;miira.broadcast_sentmanda exactamente lo cotizado, o se niega con una cotización nueva si algo cambió.