For the complete documentation index, see llms.txt. This page is also available as Markdown.

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)

Parameter
Type
Required
Description

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:30 for IST (India), -06:00 for US Central, +00:00 for UTC, etc.

  • Example: 2025-07-30 10:00:00+05:30

  • If no timezone is specified, UTC is assumed.

URL Encoding:

  • For +, use %2B in URLs: 2025-07-01%2B05:30

  • For -, 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 as 2025-07-01 00:00:00

    • 2025-07-31 → treated as 2025-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-KEY header for all requests.

  • You can combine filters like opened, clicked, bounced, unsubscribed, complaint, or server_name.

  • All date/time fields are returned in the timezone requested in your filter. If no timezone is given, UTC is used.

Last updated