GET / email/status
Base URL: https://backend.easify.app/api/v3
This endpoint is used to retrieve email status.
The user can retrieve the status of the email sent by the user, based on the email_id (which will get the send email response) value.
There is a rate limit of 60 requests per minute. If you exceed this limit, you will receive a 429 Too Many Requests status, along with a message indicating when you can try again.
Authentication
The Easify API token used for authentication is passed in the header as a Bearer token, which can be obtained from the easify app under Settings > API Settings.
Headers
Authorization string required Bearer << YOUR_EASIFY_API_TOKEN_HERE >>
Query Parameters
email_id string | email_id is provided in the email/send API response | Required |
receiver string | Receiver email address to fetch the status of a particular receiver | Optional |
Sample Params and Success Response:
Request
{
"email_id": "675"
}
Success Response:
{
"status": true,
"message": "Email status successfully fetched",
"data": [
{
"email_item_id": "67908d04a22b44b431e5",
"email_id": 675,
"receiver": "easify@easify.app",
"recipient_type": "to",
"status": "Success",
"remarks": "success"
},
{
"email_item_id": "67908d04a22b44b431e6",
"email_id": 675,
"receiver": "cc@easify.app",
"recipient_type": "cc",
"status": "Success",
"remarks": "success"
},
{
"email_item_id": "67908d04a22b44b431e7",
"email_id": 675,
"receiver": "bcc@easify.app",
"recipient_type": "bcc",
"status": "Success",
"remarks": "success"
}
]
}
Response Explanation
- email_item_id: Single receiver email item id
- email_id: The email ID will be returned in the email/send API response
- recipient_type: TThe recipient type will indicate whether the recipient is in the 'To', 'CC', or 'BCC' address
Api Response Status
Case | Status Code | Response |
---|---|---|
If the user does not provide a token in the header or provides an invalid token | 401 |
{
"status":false,
"message":"Unauthenticated",
"errors":[]
}
|
If the user's subscription has ended | 402 |
{
"status":false,"message":"You need to recharge your account to proceed","errors":[]
}
|
If user provided invalid email_id | 400 |
{
"status": false,
"message": "Invalid email id",
"errors": []
}
|
If the user does not have an enterprise plan | 403 |
{
"status": false,
"message": "Access denied. Your current plan does not allow access to this feature. Please upgrade to the Enterprise plan.",
"errors": []
}
|
If the user passes an invalid receiver address that is not associated with a particular email_id | 400 |
{
"status":false,
"message":"No emails found",
"errors":[]
}
|
If the user exceeds the allowed rate limit for requests | 429 |
{
"status":false,
"message":"Too many requests. Try again in 59 seconds",
"errors":[]
}
|
Email Status
Status | Description |
---|---|
Processed | The email is prepared and ready to be delivered |
Failed | The Email delivery attempt failed. This could be due to a technical issue on the service provider's end |
Success | The Email has been successfully sent to the recipient |
Delivered | The Email has been accepted at the receiving server |
Open | The email has been opened by the receiver |
Bounce | The email cannot or will not be delivered by the server. Bounces are often caused by outdated or incorrectly entered email addresses |
Deferred | The email cannot be immediately delivered, but it hasn’t been completely rejected |
Dropped | There are several reasons the email will not be sent to a recipient for delivery. |
The Dropped, Processed, Deferred, Bounce, Delivered, and Open statuses are only applicable for the emails sent through Easify Email Gateway.
PHP-cURL
php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://easifyqc67.zinops.com/api/v3/email/status?email_id=675',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer 1955|43da5bb5-5c2b-4059-a4de-d44bf5*****'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;