Skip to main content
Campaigns let you send one message to one or more recipients. Phonovation validates the request, queues accepted recipients, and returns a campaign ID for delivery tracking.
A successful campaign request can send SMS and consume message credits.

How sending works

  1. Phonovation validates the message, Sender ID, and recipients.
  2. Valid recipients are normalized and queued.
  3. Invalid, duplicate, or unpermitted recipients can be skipped while the rest continue.
  4. The API returns 202 Accepted with a campaign ID.
  5. Campaign totals and delivery receipts report what happens next.
202 Accepted means the campaign was queued. It does not confirm handset delivery.

Core request concepts

Recipients

Every recipient msisdn must use the full international format: country code followed by the subscriber number, using digits only and no leading +. For example, use 353871234567 instead of 0871234567 or +353871234567. Do not include spaces, brackets, or hyphens. Duplicate detection runs after normalization. The first occurrence and its Client Reference are kept.

Message encoding and parts

Phonovation detects the encoding and calculates the SMS parts that are sent and billed. GSM-7 extended characters count as two units. Before sending, the API replaces typographic quotes, en/em dashes, ellipses, and bullets with handset-compatible equivalents.
The API does not add opt-out or footer text. Include any wording required for your use case before you calculate the final message length.

SMS Message Lab

Preview GSM-7 or UTF-16 encoding, character units, compatibility replacements, and SMS parts without sending anything.

Send now or schedule

sendAt always means Irish local time, regardless of where your request, server, account, or recipient is located. Do not include Z, another timezone designator, or a numeric UTC offset.
Phonovation reads the date and clock time as a wall-clock time in the IANA timezone Europe/Dublin. For example, 2030-07-08T15:00 sends at 15:00 in Ireland. If a system in China submits that value, the campaign still sends at 15:00 Irish time, not 15:00 China time. For international scheduling:
  1. Start with the date and time when the recipient should receive the message.
  2. Convert that instant to Europe/Dublin with a timezone-aware date-time library.
  3. Format the resulting Irish date and clock time as yyyy-MM-ddTHH:mm.
The API also accepts a space instead of T and optional seconds. If you supply seconds, Phonovation ignores them and schedules the campaign at the start of the minute. Ireland changes between GMT (UTC+0) and Irish Standard Time (UTC+1). Other countries may change clocks on different dates. Always perform a date-specific conversion with named timezones rather than hard-coding an offset. Omit sendAt or send null to send immediately. Empty and whitespace-only strings are invalid. Past dates are accepted, and the API does not publish a maximum scheduling horizon.

Delivery and retries

Use the returned campaign ID to retrieve aggregate sent, delivered, undelivered, and pending totals. Use delivery receipt webhooks with a Client Reference when you need recipient-level status. A 404 immediately after submission can mean the campaign is still processing or does not yet have a summary. Retry later with backoff. The current OpenAPI contract does not publish a fixed rate limit or a throttling response. Control concurrency in your client and follow any account-specific limits supplied by Phonovation. Do not blindly retry after an unknown network outcome: the original request might already be queued. Store every campaign ID returned with a 202 response.

Errors

Campaign API Reference

Review the complete request and response schema.

Campaign summary reference

Review delivery-total fields and errors.