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.

SMS Flowchart

You will only receive updates for status reports that are not internal (Created, Queued, Processed) but have been sent by the network operator:

Status reportExplanationFinal status
DELIVEREDThe SMS was successfully delivered.
NOTDELIVEREDThe SMS could not be delivered. Please check the recipient number if necessary.
BUFFEREDThe SMS was sent successfully, but was temporarily stored by the SMSC because the recipient cannot be reached.
TRANSMITTEDThe SMS has been sent by the SMSC and should arrive soon.
ACCEPTEDThe SMS has been accepted by the SMSC.
EXPIREDThe SMS was not received before the validity period expired.
REJECTEDThe SMS was rejected by the operator.
FAILEDAn error occurred while sending.

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.


GET/api/statusDeprecated

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

GET
/api/status
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"
  }
]