Skip to content

Reports – SMS – channel summary

This method returns a summary of SMS performance for a selected date range. Use it to check how your SMS messages perform, for example to:

  • compare daily bounce rates,
  • track click-through trends for different senders,
  • see how much revenue your newsletter campaigns generate.

Endpoint

GET /reports/sms/channelSummary

Host: https://api.ecdp.app

Request parameters

ParameterTypeRequiredDescriptionAllowed values / Notes
x-api-keystringYesAPI key for authenticationObtained from Settings > API
startDatestringYesStart of the reporting window (inclusive)Format: YYYY-MM-DD.
endDatestringYesEnd of the reporting window (inclusive)Format: YYYY-MM-DD. endDate must be later than startDate.
groupingenumNoAggregation level for results. Default: DateOne of: Date, Month, Gateway, Sender, Message, MessageType
gatewaystringNoFilter: include only events sent through the specified gatewaySingle value. Cannot be combined with other filters
senderstringNoFilter: include only events sent from the specified senderSingle value. Cannot be combined with other filters
messageTypestringNoFilter: include only events for the specified message typeNewsletter, Scenario. Single value

Filters

Use filters to narrow results to a specific subset of SMS traffic. The following rules apply:

  • Only one filter type per request.
  • Each filter accepts exactly one value.
  • Sending multiple filters or multiple values returns a 400 Bad Request.
  • Filters apply as AND conditions with the date range.
FilterTypeMulti-valueDescription
gatewaystringNoLimits results to a specific gateway (alphanumeric or numeric value)
senderstringNoLimits results to a specific sender name or ID (alphanumeric or numeric value)
messageTypestringNoLimits results to a single SMS message type: Newsletter or Scenario

Grouping options

Exactly one grouping value is allowed per request. Default: grouping=Date. Sending multiple grouping values returns a 400 Bad Request.

Grouping valueGrouping column in response
Datedate (YYYY-MM-DD)
Monthmonth (YYYY-MM)
Gatewaygateway
Sendersender
MessagemessageId, messageName
MessageTypemessageType

Responses#

Each object in the array contains exactly one grouping column (determined by the grouping parameter) and the KPI fields below.

FieldTypeDescription
sentintegerTotal number of SMS messages sent
bouncedintegerNumber of messages that failed delivery
bouncedPercentnumberBounced as a percentage of sent.
deliveredintegerNumber of messages successfully delivered
deliveredPercentnumberDelivered as a percentage of sent.
clicksintegerTotal number of link clicks
clicksPercentnumberClicks as a percentage of delivered.
clickersintegerNumber of unique recipients who clicked at least one link
unsubscribesintegerNumber of recipients who unsubscribed
revenuenumberRevenue attributed to this SMS traffic, in the business unit’s default currency

Example requests and responses

Default grouping by date

GET /reports/sms/channelSummary?startDate=2025-09-01&endDate=2025-09-02

Response: OK 200

{
  "data": [
    {
      "date": "2025-09-01",
      "sent": 18000,
      "bounced": 90,
      "bouncedPercent": 0.50,
      "delivered": 17850,
      "deliveredPercent": 99.17,
      "clicks": 820,
      "clicksPercent": 4.59,
      "clickers": 610,
      "unsubscribes": 22,
      "revenue": 2100.00
    },
    {
      "date": "2025-09-02",
      "sent": 16500,
      "bounced": 75,
      "bouncedPercent": 0.45,
      "delivered": 16425,
      "deliveredPercent": 99.55,
      "clicks": 760,
      "clicksPercent": 4.63,
      "clickers": 565,
      "unsubscribes": 18,
      "revenue": 1895.50
    }
  ]
}

Grouping by sender, filtered by message type

GET /reports/sms/channelSummary?startDate=2025-09-01&endDate=2025-09-30&grouping=Sender&messageType=Newsletter

Response: OK 200

{
  "data": [
    {
      "sender": "SHOP24",
      "sent": 92000,
      "bounced": 540,
      "bouncedPercent": 0.59,
      "delivered": 91460,
      "deliveredPercent": 99.41,
      "clicks": 4120,
      "clicksPercent": 4.50,
      "clickers": 3010,
      "unsubscribes": 190,
      "revenue": 10450.00
    }
  ]
}

Response codes#

CodeStatusDescription
200SuccessRequest processed successfully. Response contains the aggregated SMS data.
204No contentRequest was valid but no data matches the specified criteria.
400Bad requestInvalid or missing parameters — for example, startDate > endDate, multiple filters, or an unsupported grouping value.
401UnauthorizedAPI key is missing, invalid, or expired. Verify your key in Settings > API.
403ForbiddenThe API 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 dates return 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. Each filter accepts exactly one value. Multiple filters or multiple values return 400 Bad Request.
  • Unsupported or unrecognized parameter values return 400 Bad Request.

Reference documentation

Swagger – SMS reports

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