SMS campaigns
Run spreadsheet-driven SMS campaigns in two steps: create the campaign from an uploaded file, then launch it.
Create a campaign
POST /api/apikey/v1/SMSCampaignApi/campaign-file
Send as multipart/form-data.
| Field | Type | Description |
|---|---|---|
file | File | Recipients spreadsheet (e.g. .xlsx) with headers. |
countryCode | Text | Default country code, e.g. 961. |
Campaign | Text (JSON) | { "Name", "Content", "SenderId", "HasShortUrl", "Variables": [], "HasBlacklistShortUrl" } |
LongUrlFromFile | Text | Optional. true to read long URLs from the file. |
bash
curl -X POST "https://omni-apis.montymobile.com/notification/api/apikey/v1/SMSCampaignApi/campaign-file" \
-H "api-key: <Your_API_Key>" \
-H "Tenant: <Tenant_ID>" \
-F "file=@recipients.xlsx" \
-F "countryCode=961" \
-F 'Campaign={"Name":"Spring sale","Content":"Hello!","SenderId":"<Source_Number>","HasShortUrl":false,"Variables":[],"HasBlacklistShortUrl":false}'
Launch a campaign
PUT /api/apikey/v1/SMSCampaignApi/campaign-launch
bash
curl -X PUT "https://omni-apis.montymobile.com/notification/api/apikey/v1/SMSCampaignApi/campaign-launch" \
-H "api-key: <Your_API_Key>" \
-H "Tenant: <Tenant_ID>" \
-H "Content-Type: application/json" \
-d '{ "CampaignId": "<Campaign_Id>" }'
Responses
The success bodies for both campaign endpoints — including the returned CampaignId and the campaign variable syntax — are being confirmed with our team. Coming soon