Get Delivery Report
Retrieve detailed email delivery reports with advanced filters, timezone support, and export in JSON or CSV from your SenderWiz account.
📋 Get Delivery Report
Retrieve a list of all campaign delivery logs and status events for each email sent from your SenderWiz account. This endpoint supports advanced filtering, timezone-aware date filters, pagination, and both JSON and CSV output formats.
🔹 HTTP Request
GET ADMIN-API-URL/deliveryreport🔸 Query Parameters (Optional)
customer_id
int
No
Filter by customer ID
campaign_id
int
No
Filter by campaign ID
date_from
string
No
Filter by sent date (start). Format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS with optional timezone
date_to
string
No
Filter by sent date (end). Format: YYYY-MM-DD or YYYY-MM-DD HH:MM:SS with optional timezone
opened
0/1
No
Filter by open status: 1=open, 0=not opened
clicked
0/1
No
Filter by click status: 1=clicked, 0=not clicked
bounced
0/1
No
Filter by bounce status: 1=bounced, 0=not bounced
unsubscribed
0/1
No
Filter by unsubscribe status: 1=unsubscribed, 0=not unsubscribed
complaint
0/1
No
Filter by complaint status: 1=complaint, 0=no complaint
server_name
string
No
Filter by delivery server name (exact match)
format
string
No
json or csv (default is json)
page
int
No
Results page number (default 1)
page_size
int
No
Records per page (default 100, max 500)
🔐 Authorization Header
Include your Admin API key:
Timezone-Aware Date Filtering
You can provide timezones in your date_from and date_to using ISO 8601 offset notation:
Use
+05:30for IST (India),-06:00for US Central,+00:00for UTC, etc.Example:
2025-07-30 10:00:00+05:30If no timezone is specified, UTC is assumed.
URL Encoding:
For
+, use%2Bin URLs:2025-07-01%2B05:30For
-, you can use as is:2025-07-01-06:00
Returned data times (like delivery_date_time, open_time) will also be shown in the requested timezone.
🔸 Quick Examples
All output in UTC-6:00 (US Central, no daylight savings):
All output in UTC+5:30 (India):
How Date Filters Work
Only a date?
2025-07-01→ treated as2025-07-01 00:00:002025-07-31→ treated as2025-07-31 00:00:00(midnight of that day, so doesn't include the full day)
To include the whole last day:
Use
date_to=2025-07-31 23:59:59
All times are either UTC or your requested timezone (see above).
💻 PHP Example
📦 Sample Dummy JSON Response
📄 Sample CSV Response
Add &format=csv to your request URL.
The response will be a CSV file with the same columns as above.
🔗 Request Examples
Replace ADMIN-API-URL with your actual API endpoint URL.
1. All activity for customer 1 (full date range, JSON)
2. All activity for customer 1 between July 1–31, 2025 (JSON)
3. Only opened emails for customer 1 in July 2025 (JSON)
4. Only NOT opened emails for customer 1 in July 2025 (JSON)
5. Opened AND clicked emails for customer 1 in July 2025 (JSON)
6. Opened but NOT clicked emails for customer 1 in July 2025 (JSON)
7. Neither opened NOR clicked emails for customer 1 in July 2025 (JSON)
8. Only unsubscribed for customer 1 in July 2025 (JSON)
9. Only bounced emails for customer 1 in July 2025 (JSON)
10. All activity for customer 1 in July 2025 as CSV
11. Only NOT opened emails for customer 1 in July 2025 as CSV
12. Opened AND clicked emails for customer 1 in July 2025 as CSV
Tip:
Use the
X-ADMIN-API-KEYheader for all requests.You can combine filters like
opened,clicked,bounced,unsubscribed,complaint, orserver_name.All date/time fields are returned in the timezone requested in your filter. If no timezone is given, UTC is used.
Last updated