Prelude can notify your application about events using webhooks. You can configure a webhook URL using the callback_url parameter of your request.

The event object

id
string

The unique identifier of the event.

type
string

The type of the event, possible values are:

TypeDescription
transactional.message.createdThe message was sent successfully
transactional.message.pending_deliveryThe message is pending delivery
transactional.message.deliveredDelivery succeeded
transactional.message.failedDelivery failed, see status and reason.
payload
object

The payload of the event, whose structure depends on the event type.

created_at
RFC3339 date string

The timestamp of the event creation.

correlation_id
string

A user-defined identifier to correlate the event with your internal system.


Delivery Statuses

Failed delivery statuses come with a status field which can have two values: failed or expired.

An additional reason provides more information about the failure. Some of these may be retriable until we reach the expiry window defined in the expires_at field of the Send Message request.

Here are the possible reason values:

ReasonCodeDescriptionRetriable
Unavailable RecipientunavailableThe recipient is unavailable due to a temporary problem (e.g. no cell network).

Generic ReasongenericNo detailed information has been received from the underlying carrier.

Network IssuenetworkThe recipient’s carrier network is temporary unreachable.

Unknown Recipientunknown_recipientThe number is not associated with an active line.
Insufficient Balanceinsufficient_balanceYour balance is insufficient to make an attempt.
Carrier Rejectedcarrier_rejectedThe recipient’s mobile carrier blocked the message (e.g. lack of registration, invalid content or local traffic restrictions).