Get Message Status
curl --request GET \
--url https://api.example.com/api/v2/MessageStatusimport requests
url = "https://api.example.com/api/v2/MessageStatus"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v2/MessageStatus', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"ErrorCode": 123,
"ErrorDescription": "<string>",
"Data": {},
"Data.MobileNumber": "<string>",
"Data.SenderId": "<string>",
"Data.Message": "<string>",
"Data.SubmitDate": "<string>",
"Data.MessageId": "<string>",
"Data.DoneDate": "<string>",
"Data.Status": "<string>"
}SMS Management
Get Message Status
Retrieve the delivery status of a specific SMS message
Get Message Status
curl --request GET \
--url https://api.example.com/api/v2/MessageStatusimport requests
url = "https://api.example.com/api/v2/MessageStatus"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v2/MessageStatus', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"ErrorCode": 123,
"ErrorDescription": "<string>",
"Data": {},
"Data.MobileNumber": "<string>",
"Data.SenderId": "<string>",
"Data.Message": "<string>",
"Data.SubmitDate": "<string>",
"Data.MessageId": "<string>",
"Data.DoneDate": "<string>",
"Data.Status": "<string>"
}Get Message Status
Retrieve the delivery status and details of a specific SMS message using its message ID.curl -X GET "https://app.notify.ng/api/v2/MessageStatus?ApiKey=YOUR_API_KEY&ClientId=YOUR_CLIENT_ID&MessageId=Smsc1603635" \
-H "Content-Type: application/json"
const params = new URLSearchParams({
ApiKey: 'YOUR_API_KEY',
ClientId: 'YOUR_CLIENT_ID',
MessageId: 'Smsc1603635'
});
const response = await fetch(`https://app.notify.ng/api/v2/MessageStatus?${params}`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);
import requests
url = "https://app.notify.ng/api/v2/MessageStatus"
params = {
"ApiKey": "YOUR_API_KEY",
"ClientId": "YOUR_CLIENT_ID",
"MessageId": "Smsc1603635"
}
response = requests.get(url, params=params)
data = response.json()
print(data)
Parameters
string
required
Your API key for authentication
string
required
Your client identifier for authentication
string
required
Message ID of the SMS to check (obtained from send response)
Response
number
Error code (0 for success)
string
Description of the result
object
Message status details
string
Mobile number that received the message
string
Sender ID used for the message
string
Original message content
string
Date and time when message was submitted
string
Unique message identifier
string
Date and time when message was processed
string
Current delivery status
Success Response
{
"ErrorCode": 0,
"ErrorDescription": "Success",
"Data": {
"MobileNumber": "9638812576",
"SenderId": "test",
"Message": "test message",
"SubmitDate": "16-Mar-2018 05:12:28 PM",
"MessageId": "Smsc1603635",
"DoneDate": "16-Mar-2018 05:11:00 PM",
"Status": "DELIVRD"
}
}
Error Response
{
"ErrorCode": 022,
"ErrorDescription": "Invalid jobid"
}
Message Status Values
| Status | Description |
|---|---|
| DELIVRD | Message successfully delivered to recipient |
| UNDELIV | Message failed to deliver |
| EXPIRED | Message expired before delivery |
| DELETED | Message was deleted |
| UNKNOWN | Status is unknown |
| ACCEPTD | Message accepted by carrier |
| REJECTD | Message rejected by carrier |
| BLACKLIST | Recipient number is blacklisted |
Use Cases
- Delivery confirmation: Check if a specific message was delivered
- Customer support: Help customers track their message status
- Analytics: Monitor delivery success rates
- Debugging: Troubleshoot delivery issues
- Compliance: Maintain delivery logs for regulatory requirements
Best Practices
- Store Message IDs: Always store message IDs returned from send operations
- Polling: Check status periodically for important messages
- Error handling: Handle different status values appropriately
- Timeouts: Set reasonable timeouts for status checks

