When it fires
Webhooks fire once per recipient, not once per API call.| Recipients in campaign | Webhook requests |
|---|---|
| 1 | 1 |
| 5 | 5 |
| 100 | 100 |
Configure your endpoint
Contact bulktext.ie@vodafone.com with your webhook URL. Your endpoint must:- Accept
HTTP POSTrequests - Accept a JSON request body
- Return
200 OKafter receiving the payload
Payload examples
Fields
| Field | Type | Description |
|---|---|---|
Status | string | Processing outcome for the recipient or campaign. |
FinishedAt | string | ISO 8601 timestamp in UTC for when processing completed. |
Message | string | Human-readable processing result. |
NotifyId | string | The recipient notifyId from the campaign request. Empty when no notifyId was set. Not included in CAMPAIGN_ERROR payloads. |
Status values
| Status | Scope | Meaning |
|---|---|---|
MESSAGE_SUCCESS | Per recipient | The message was accepted and queued for delivery. |
MESSAGE_ERROR | Per recipient | The message could not be processed for this recipient. |
CAMPAIGN_ERROR | Per recipient | The campaign was rejected before messages were queued. One payload still fires per recipient. |
Common messages
| Message | Status | What it means |
|---|---|---|
Your message has been queued. | MESSAGE_SUCCESS | Recipient accepted, message in queue. |
Sender is not valid | CAMPAIGN_ERROR | The from value is not an approved sender ID. |
Error trying to add a new message. No credits available | MESSAGE_ERROR | The account has insufficient SMS credit. |
null/empty MSISDN | MESSAGE_ERROR | The recipient number was blank or missing. |
Correlate with notifyId
SetrecipientInfo[].notifyId when sending a campaign. Vodafone echoes it back in NotifyId for MESSAGE_SUCCESS and MESSAGE_ERROR payloads.
Campaign recipient with notifyId
Webhooks vs DLRs
| SMS Processing Result webhook | Delivery Receipt | |
|---|---|---|
| Trigger | API message processing completes | Mobile network confirms delivery |
| Timing | Immediate after campaign processing | Seconds to hours later |
| Scope | V2 OAuth API sends | All send methods |
| Use it for | Queue or rejection status | Handset delivery status |