Status reports
You can use status reports to track the successful delivery of an SMS and the respective time. There are basically two options: The much more efficient and faster method is a webhook directly to your server. As soon as a new status is available, your desired URL is automatically called up. The alternative method is to query the status of SMS directly via a request to the API. If there is no status yet, you may have to request it again later. Please use the webhooks at best. Both variants can also be combined, for example if the webhook fails.
You will only receive updates for status reports that are not internal (Created
, Queued
, Processed
) but have been sent by the network operator:
Status report | Explanation | Final status |
---|---|---|
DELIVERED | The SMS was successfully delivered. | |
NOTDELIVERED | The SMS could not be delivered. Please check the recipient number if necessary. | |
BUFFERED | The SMS was sent successfully, but was temporarily stored by the SMSC because the recipient cannot be reached. | |
TRANSMITTED | The SMS has been sent by the SMSC and should arrive soon. | |
ACCEPTED | The SMS has been accepted by the SMSC. | |
EXPIRED | The SMS was not received before the validity period expired. | |
REJECTED | The SMS was rejected by the operator. | |
FAILED | An error occurred while sending. |
BUFFERED
status. Technically speaking, the "DELIVERED" status is a direct response from the end device, but some target networks may send back incorrect status reports. Unfortunately, we have no influence on this.Status reports via webhook
Ideally, you should subscribe to SMS updates via Webhook. This is the best and fastest way to receive status reports. If this is not possible for technical reasons, for example because you do not have a publicly accessible server, you can request the status reports via API.
Query status reports
Query the status of an SMS. This query is possible for a maximum of 30 days after sending an SMS. Please note that this API is deprecated and may soon be switched off. Instead, use the Query logbook with the ID
of the message as a parameter.
Parameter
- Name
msg_id
- Type
- string
- Description
The ID of the SMS for which you want to query the status. Multiple IDs can be specified, each separated by a comma.
request
curl -G https://gateway.seven.io/api/analytics \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Accept: application/json"
-d "msg_id=77232007287,77232007195"
Reply
[
{
"id": "77232007287",
"status": "DELIVERED",
"status_time": "2024-02-16 15:43:16.905"
},
{
"id": "77232007195",
"status": "DELIVERED",
"status_time": "2024-02-16 15:42:19.989"
}
]