Campaigns
Schedule and run bulk WhatsApp template message campaigns to contact segments. Base route: /api/v1/WhatsappCampaign
When to use this module
- Send a template message to a filtered list of contacts in bulk.
- Schedule a campaign to fire at a later date/time.
- View delivery stats and button click analytics per campaign.
Endpoints
| Method | Route | Permission | Description |
|---|---|---|---|
| POST | /api/v1/WhatsappCampaign | WhatsappCampaign:Create | Create campaign |
| PUT | /api/v1/WhatsappCampaign/{id} | WhatsappCampaign:Edit | Update campaign |
| DEL | /api/v1/WhatsappCampaign/{id} | WhatsappCampaign:Delete | Delete campaign |
| GET | /api/v1/WhatsappCampaign/{id} | WhatsappCampaign:View | Get campaign detail |
| POST | /api/v1/WhatsappCampaign/getall | WhatsappCampaign:View | Paginated campaign list |
| GET | /api/v1/WhatsappCampaign/status-counts | WhatsappCampaign:View | Counts by status for tabs |
| POST | /api/v1/WhatsappCampaign/{id}/quick-run | WhatsappCampaign:Execute | Immediately dispatch campaign |
| GET | /api/v1/WhatsappCampaign/dashboard/main | WhatsappCampaign:View | Campaign dashboard overview |
| GET | /api/v1/WhatsappCampaign/{id}/contacts | WhatsappCampaign:View | Campaign contact delivery list |
| GET | /api/v1/WhatsappCampaign/{id}/button-clicks | WhatsappCampaign:View | Button click analytics |
POST
/api/v1/WhatsappCampaign
JSON Request
{
"name": "May Promo",
"templateId": "guid-of-template",
"scheduledAt": "2026-05-28T09:00:00Z",
"contactFilter": {
"tags": ["VIP", "Returning"],
"isActive": true
}
}POST
/api/v1/WhatsappCampaign/getall
JSON Request
{
"pageNumber": 1,
"pageSize": 10,
"sortBy": "createddate desc",
"status": "Draft",
"nameFilter": "promo"
}GET
/api/v1/WhatsappCampaign/{id}/contacts
Query Parameters
| Parameter | Type | Description |
|---|---|---|
page | int | Page number (default: 1) |
pageSize | int | Page size (default: 20) |
searchTerm | string? | Filter by contact name or phone |
statusFilter | string? | Pending / Sent / Delivered / Read / Failed |
Campaign Statuses
| Status | Description |
|---|---|
Draft | Created but not yet dispatched |
Scheduled | Will auto-dispatch at scheduledAt time |
Running | Currently being dispatched in batches |
Completed | All messages dispatched |
Failed | Dispatch error occurred |
Cancelled | Manually cancelled before dispatch |
