What is a campaign?
Batch send to an audience using a multi-channel template. Dashboard and API share the same queue, credits, and status. Analogy: template is the letter. Segment is the address list. Campaign is stamp and drop in the mailbox.Campaign × segment × direct send
When to use?
Great for newsletters, promotions to filtered audiences, and testing with few IDs before the full base. For a single alert via script, use direct channel or template send.Campaign channels
channels accepts: whatsapp, sms, email, telegram.
Each listed channel must be enabled on the template.
Missing phone, email, or peer → contact skipped for that channel (no per-person error).
Marketing: contact needs
receiveMarketing and topic subscription when template is linked. Others do not enter the queue.How it works in practice
- Template with active channels and content
- New campaign, name, template, channels, audience (segment or IDs)
- Routing per channel table above
- Optional: schedule (
scheduledFor) → SCHEDULED - Preview segment if used
- Run → RUNNING → COMPLETED or FAILED
Status
In the API
Run returns
sent and runId. Short links get utm_campaign and utm_content automatically.
Checklist before Run
- Campaign channels enabled on template?
- Segment Preview makes sense?
- Telegram peers on correct instance?
- Tested with few IDs?
- Credits, instances, and email sender OK?

