GET /messaging/v1/sms/messages/{messageKey}

Retrieves the send status for an SMS message.

Requests to this endpoint are rate limited. To monitor message statuses in real time, subscribe to transactional send events using the Event Notification Service.

messageKeystringRequired. The unique identifier for the message.

When you send a message, you must provide a messageKey that’s unique among all of the keys used in your business unit over the last 2 days.

You can use this GET request to retrieve statuses for messages that are up to 3 days old. If more than one message was sent using the same message key, the API returns the status of the message that was sent most recently.

For real-time tracking of message statuses and other events, we recommend that you subscribe to transactional send events using Event Notification Service.

200  OK
 requestIdstringThe unique identifier of the request.
 eventCategoryTypestringThe status of the message. A status of SMSSent indicates that the SMS was sent to the SMS provider. SMSNotSent indicates that the message wasn’t sent and includes the reason. SMSQueued indicates that the message hasn’t yet been processed for sending.
 timestampstringThe time the event occurred in Central Standard Time. Daylight saving time (DST) isn’t applied.
 messageKeystringA unique identifier to track the status of the message.
 compositeIdstringAn internal ID. If you contact Salesforce Support to troubleshoot SMS delivery issues, provide this ID.
 contactKeystringThe unique Marketing Cloud Engagement identifier for the subscriber.
 tostringThe recipient's mobile number.

The response includes an ID for the request. The eventCategoryType property indicates whether the message was sent to the outbound SMS service for delivery. If the message was sent, this property has a value of TransactionalSendEvents.SMSSent.

If the message is queued for processing, the eventCategoryType property has a value of TransactionalSendEvents.SMSQueued.

If the message wasn't sent, the eventCategoryType property has a value of TransactionalSendEvents.SMSNotSent. The statusMessage property in the info object provides the reason that the message wasn't sent.