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