1) Crear campaña
Envía tu lista de items
. Controla el throughput con rateLimitPerMinute
(default 600) y parallelism
(default 5). Usa dryRun
para validar sin enviar.
POST /api/bulk Content-Type: application/json Idempotency-Key: camp-julio-001 { "instanceId": 123, "token": "TOKEN", "items": [ { "to": "573001112233", "type": "text", "message": "¡Promo de julio! 🎉" }, { "to": "573009998877", "type": "text", "message": "Envío gratis hoy 🚚" } ], "rateLimitPerMinute": 900, "parallelism": 8, "skipOptOut": false, "dryRun": false }
2) Estado del job y control
Consultar estado
GET /api/bulk/BULK_JOB_ID
Respuesta incluye status
, counts
(total, sent, failed, pending).
Pausar / Reanudar / Cancelar
POST /api/bulk/BULK_JOB_ID/pause POST /api/bulk/BULK_JOB_ID/resume POST /api/bulk/BULK_JOB_ID/cancel
3) Opt-out
Si el número existe en la tabla optouts
, el ítem se marcará skipped
. Puedes forzar envío con skipOptOut: true
(no recomendado).