Send a campaign
Use POST /api/v2/Campaign to send a message to one or more recipients.
curl -X POST https://api.interactsms.com/api/v2/Campaign \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"text": "Hello from Phonovation!",
"from": "Phonovation",
"recipientInfo": [
{ "msisdn": "353861234567" }
]
}'
Response:
{
"success": true,
"message": "Campaign scheduled",
"errors": []
}
Multiple recipients
{
"text": "Your order is on the way!",
"from": "Phonovation",
"campaignName": "Order Notifications",
"recipientInfo": [
{ "msisdn": "353861234567", "notifyId": "order-001" },
{ "msisdn": "353871234567", "notifyId": "order-002" }
]
}
The notifyId field is echoed back in webhooks and DLRs, letting you match every callback to the right record in your system. See notifyId for use cases and full flow examples.
Partial delivery
If a campaign contains a mix of valid and invalid numbers, the valid numbers will still be sent to — the request is not rejected as a whole. Invalid numbers are skipped and reported in the errors array of the response. Always check the response payload to identify any numbers that failed validation.
Recipient limit
A single campaign request supports up to approximately 400,000 recipients. For very large sends, split your audience into batches below this limit.
Schedule for later
Add a sendAt timestamp (UTC) to schedule the campaign:
{
"text": "Don't miss our sale tomorrow!",
"from": "Phonovation",
"recipientInfo": [
{ "msisdn": "353861234567" }
],
"sendAt": "2030-06-01T09:00Z"
}
| Format | Accepted |
|---|
| Irish with prefix | 353871234567 ✓ |
| Irish with leading zero | 0871234567 ✓ |
| UK | 447911123456 ✓ |
| Other international | Must include country code ✓ |
Message length & credits
SMS messages are billed per message part. Understanding how parts work helps avoid unexpected credit usage.
Standard GSM characters (recommended)
| Length | Parts |
|---|
| 1–160 chars | 1 part |
| 161–306 chars | 2 parts |
| 307–459 chars | 3 parts |
| 460–612 chars | 4 parts |
Messages longer than 4 parts are not supported.
Long messages are delivered as a single seamless message on the recipient’s device — they will not see separate parts.
Unicode characters
The API supports Unicode, which includes characters outside the standard GSM alphabet — accented characters (é, ü, ñ), non-Latin scripts, and emojis.
Unicode reduces the characters per part. A standard SMS holds 160 GSM characters, but only 70 Unicode characters per part. A short message with a single emoji can consume 2–4 credits.Additionally, some Unicode characters — particularly emojis — may not display correctly on all handsets. For reliable delivery, stick to standard GSM characters where possible.
Sending hours
There are no system-enforced sending hour restrictions. However, you are responsible for adhering to Irish marketing regulations — see Compliance for details.
Limits & billing
There are no rate limits on API calls themselves. Throughput is governed by:
- Payload size — very large batches may take longer to process
- Account credits — messages will not be sent if your account has insufficient credit
- Billing tier — contact support@phonovation.com for details on your account limits