Zaptickdocs
Resource

Campaigns

Send bulk WhatsApp outreach with audience filters, scheduling and live progress metrics.

#About

Campaigns are the right abstraction for bulk outbound (>100 recipients). They respect your Meta tier limits, retry failed sends, and give you a progress feed you can poll or subscribe to via webhooks.

#Endpoints

  • GET/campaignsList campaigns with status and metrics.
  • POST/campaignsCreate a draft campaign targeting a group or filter.
  • POST/campaigns/launchLaunch a draft campaign immediately or on its schedule.
  • PUT/campaignsUpdate a draft (can't edit campaigns after launch).
  • GET/campaigns/:id/progressLive progress of an in-flight campaign.
GET/campaigns

List campaigns with status and metrics.

SDK
TypeScript
const { campaigns } = await zaptick.campaigns.list({
  status: 'sent',
  limit: 20,
});
POST/campaigns

Create a draft campaign targeting a group or filter.

SDK
TypeScript
const { campaign } = await zaptick.campaigns.create({
  name: 'Diwali launch',
  templateName: 'diwali_launch_v2',
  audience: { groupIds: ['grp_premium'] },
  schedule: { sendAt: '2026-10-22T09:00:00.000Z', timezone: 'Asia/Kolkata' },
  variables: { '1': '{{contact.name}}' },
});
Request body
JSON
{
  "name": "Diwali launch",
  "templateName": "diwali_launch_v2",
  "audience": { "groupIds": ["grp_premium"] },
  "schedule": {
    "sendAt": "2026-10-22T09:00:00.000Z",
    "timezone": "Asia/Kolkata"
  },
  "variables": { "1": "{{contact.name}}" }
}
POST/campaigns/launch

Launch a draft campaign immediately or on its schedule.

SDK
TypeScript
await zaptick.campaigns.launch({ campaignId: 'cmp_01J3...' });
PUT/campaigns

Update a draft (can't edit campaigns after launch).

SDK
TypeScript
await zaptick.campaigns.update('cmp_01J3...', {
  name: 'Diwali launch (EN)',
});
GET/campaigns/:id/progress

Live progress of an in-flight campaign.

SDK
TypeScript
const progress = await zaptick.campaigns.getProgress('cmp_01J3...');
// progress.sent / delivered / failed / totalAudience
Response
JSON
{
  "campaignId": "cmp_01J3...",
  "totalAudience": 48120,
  "sent": 41280,
  "delivered": 38944,
  "read": 29110,
  "failed": 412,
  "costCredits": 28067.84,
  "completedAt": null
}