Skip to content

Reports – Web push – channel summary

This method returns a summary of Web Push channel performance for a selected date range. It includes key delivery, engagement, and revenue metrics, grouped in a way that supports your analysis.

You can use this data to understand how your Web Push channel performs over time, compare results across different websites, or see which types of messages generate the most clicks and revenue.

Endpoint

GET /reports/webpush/channel-summary

Host: https://api.ecdp.app

Request parameters

ParameterLocationTypeRequiredDescriptionAllowed values / Notes
x-api-keyheaderstringyesAPI key for authentication.Obtain from Settings > API.
startDatequerystringyesStart of the reporting window (inclusive).Format: YYYY-MM-DD.
endDatequerystringyesEnd of the reporting window (inclusive).Format: YYYY-MM-DD. Must be ≥ startDate.
groupingquerystringnoAggregation level for results.One of: Date, Month, Website, Message, MessageType. Default: Date.
websiteIdqueryinteger or stringnoNarrows results to a specific website.Website ID (e.g., 123) or name (e.g., “MyWebsite”).
messageTypequerystringnoNarrows results to a single message type.Newsletter, Scenario.

Filters

Use filters to narrow the result set to a specific subset of data.

  • Only one filter type per request is allowed.
  • Each filter accepts exactly one value.
  • Sending multiple filters or multiple values returns 400 Bad Request.
FilterTypeMulti-valueDescription
websiteIdinteger or stringNoReturns data for the specified website only.
messageTypestringNoReturns data for the specified message type only.

Grouping options

Exactly one grouping value is allowed per request. If omitted, results are grouped by date.

Default: grouping=Date

Grouping valueGrouping column(s) in response
Datedate (format: YYYY-MM-DD)
Monthmonth (format: YYYY-MM)
WebsitewebsiteId, websiteName
MessagemessageId, messageSubject
MessageTypemessageType

Response

Each row in the response array contains exactly one grouping column (determined by the grouping parameter) and the following KPIs:

FieldTypeDescription
sentintegerTotal number of Web Push notifications sent.
bouncedintegerNumber of notifications that could not be delivered.
bouncedPercentnumberBounced as a percentage of sent. Returns 0.0 if sent = 0.
viewsintegerNumber of notifications seen by recipients (impressions).
viewsPercentnumberViews as a percentage of sent. Returns 0.0 if sent = 0.
clicksintegerNumber of clicks on delivered notifications.
clicksPercentnumberClicks as a percentage of sent. Returns 0.0 if sent = 0.
revenuenumberTotal revenue attributed to this group.
currencystringCurrency code for the revenue value (ISO 4217, e.g., EUR).

Example requests and responses

Get summary report with default grouping by date

GET /reports/webpush/channel-summary?startDate=2025-09-01&endDate=2025-09-07

Response (200 OK):

{
  "data": [
    {
      "date": "2025-09-01",
      "sent": 52000,
      "bounced": 1500,
      "bouncedPercent": 2.88,
      "views": 43000,
      "viewsPercent": 82.69,
      "clicks": 6200,
      "clicksPercent": 11.92,
      "revenue": 18250.00,
      "currency": "USD"
    },
    {
      "date": "2025-09-02",
      "sent": 48000,
      "bounced": 1200,
      "bouncedPercent": 2.50,
      "views": 40000,
      "viewsPercent": 83.33,
      "clicks": 5800,
      "clicksPercent": 12.08,
      "revenue": 16540.75,
      "currency": "USD"
    }
  ]
}

Get summary report with grouping by website, and ‘message type’ filter

GET /reports/webpush/channel-summary?startDate=2025-09-01&endDate=2025-09-30&grouping=Website&websiteId=101&messageType=Newsletter

Response (200 OK):

{
  "data": [
    {
      "websiteId": 101,
      "websiteName": "My Website",
      "sent": 94000,
      "bounced": 2800,
      "bouncedPercent": 2.98,
      "views": 79800,
      "viewsPercent": 84.89,
      "clicks": 10900,
      "clicksPercent": 11.60,
      "revenue": 41250.50,
      "currency": "USD"
    }
  ]
}

Response codes

CodeStatusDescription
200OKRequest processed successfully. Response contains the channel summary data.
204No contentRequest was valid but no data matched the given parameters.
400Bad requestInvalid or missing parameters, conflicting filters, or invalid date range.
401UnauthorizedAPI key is missing, invalid, or expired. Verify your key in Settings > API.
403ForbiddenAPI key does not have permission to access this resource.
500Internal server errorServer-side error. Retry the request or contact support if the issue persists.

Validation and behavior rules

  • startDate must be less than or equal to endDate. Reversed date range returns 400 Bad Request.
  • Only one grouping value is allowed per request. Multiple groupings return 400 Bad Request.
  • Only one filter type is allowed per request, with exactly one value. Multiple filters or values return 400 Bad Request.

Reference documentation

Swagger – Reports web push

https://api.ecdp.app/swagger/index.html