Skip to content

MessageBird

The MessageBird webhook receives SMS delivery status updates from MessageBird. These events track whether messages were delivered, failed, or expired.

POST /api/rpc/webhooks/messagebird

MessageBird signs webhook requests using HMAC-SHA256.

HeaderDescription
MessageBird-SignatureHMAC-SHA256 signature (hex)
MessageBird-Request-TimestampTimestamp used in signature

The signature is computed over timestamp.payload. The timestamp must be within 5 minutes of the current time. Configure the signing key using the MESSAGEBIRD_SIGNING_KEY environment variable.

MessageBird StatusPlatform EventDescription
sentsms_sentMessage sent to carrier
deliveredsms_deliveredMessage delivered to recipient
delivery_failedsms_failedDelivery failed
expiredsms_undeliveredMessage expired before delivery
scheduledSkipped
bufferedSkipped
FieldDescription
idMessageBird’s unique message ID
recipientRecipient phone number
statusDatetimeWhen the status changed (ISO 8601)
referenceYour custom reference
datacodingMessage encoding
mccmncMobile country/network codes
statusErrorCodeError code (if delivery failed)
statusReasonError description (if delivery failed)
{
"success": true,
"processed": 1
}
  1. In your MessageBird dashboard, configure a webhook on your messaging channel.
  2. Set the URL to your platform’s MessageBird webhook endpoint.
  3. Set the MESSAGEBIRD_SIGNING_KEY environment variable to your MessageBird signing key.