You can use this API to retrieve overall SMS campaign analytics for a specified time range. You can use the response to analyze aggregated delivery, engagement, conversion, and campaign performance metrics across your SMS campaigns, and filter the results by sender.
Endpoints and Headers
Visit our Postman collection to test this request.
Headers
Header | Sample Value | Description |
|---|---|---|
Authorization | Bearer | The Bearer access token obtained from the OAuth token endpoint. Required for all authenticated API requests. Refer to Generate an OAuth 2.0 Token for SMS to generate your OAuth 2.0 token. |
Content-Type | application/json | Specifies that the request body is sent in JSON format. |
Body Parameters
Parameter | Description | Data Type | Required |
|---|---|---|---|
startTime | Unix timestamp in seconds (10 digits). It must be within the last 1 year. | Integer | Yes |
endTime | Unix timestamp in seconds (10 digits). | Integer | Yes |
senders | Filters the results to specific sender IDs configured for your account. | Array[Integer] | No |
Sample Request
The following sample retrieves overall SMS analytics for a specific time range and filters the results to the selected sender IDs.
curl --location 'https://gw.useinsider.com/api/sms/v2/analytics/overall' \
--header 'Authorization: Bearer eyJhbGc...' \
--header 'Content-Type: application/json' \
--data '{
"startTime": 1747094400,
"endTime": 1747180800,
"senders": [101, 102]
}'Sample Responses
200 OK
This status indicates that the request has been completed successfully.
{
"summary": {
"targeted": 19723,
"messageParts": 39446,
"sent": 19723,
"dropped": 0,
"delivery": {
"count": {
"delivered": 19031,
"undelivered": 692
},
"rate": "96.49%"
},
"clickThrough": {
"clicks": 214,
"rate": "1.12%",
"revenue": "151"
},
"conversion": {
"conversions": 1,
"rate": "0.01%"
},
"unsubscribers": {
"count": 0,
"rate": "0.00%"
},
"droppedMessages": {
"frequencyCapped": {
"count": 0,
"rate": "0.00%"
},
"duplicates": {
"count": 0,
"rate": "0.00%"
},
"internalErrors": {
"count": 0,
"rate": "0.00%"
},
"countryCodeDrops": {
"count": 0,
"rate": "0.00%"
},
"invalidPhoneNumbers": {
"count": 0,
"rate": "0.00%"
},
"couponListDrops": {
"count": 0,
"rate": "0.00%"
},
"silentHours": {
"count": 0,
"rate": "0.00%"
}
},
"undeliveredMessages": {
"carrierViolations": {
"count": 70,
"rate": "10.12%",
"details": {
"3032": 69,
"3034": 1
}
},
"hardBounces": {
"count": 11,
"rate": "1.59%",
"details": {
"3216": 2,
"3221": 9
}
},
"softBounces": {
"count": 186,
"rate": "26.88%",
"details": {
"3300": 186
}
},
"deliveryFailures": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"deliveryReportMissing": {
"count": 425,
"rate": "61.42%"
}
}
},
"detail": [
{
"campaignId":1234,
"campaignName": "Sample Campaign 1",
"status": "completed",
"startTime": 1728381600,
"endTime": 1728382560,
"targeted": 19723,
"messageParts": 39446,
"sent": 19723,
"dropped": 0,
"delivery": {
"count": {
"delivered": 19031,
"undelivered": 692
},
"rate": "96.49%"
},
"clickThrough": {
"clicks": 214,
"rate": "1.12%",
"revenue": "151"
},
"conversion": {
"conversions": 1,
"rate": "0.01%"
},
"unsubscribers": {
"count": 0,
"rate": "0.00%"
},
"droppedMessages": {
"frequencyCapped": {
"count": 0,
"rate": "0.00%"
},
"duplicates": {
"count": 0,
"rate": "0.00%"
},
"internalErrors": {
"count": 0,
"rate": "0.00%"
},
"countryCodeDrops": {
"count": 0,
"rate": "0.00%"
},
"invalidPhoneNumbers": {
"count": 0,
"rate": "0.00%"
},
"couponListDrops": {
"count": 0,
"rate": "0.00%"
},
"silentHours": {
"count": 0,
"rate": "0.00%"
}
},
"undeliveredMessages": {
"carrierViolations": {
"count": 70,
"rate": "10.12%",
"details": {
"3032": 69,
"3034": 1
}
},
"hardBounces": {
"count": 11,
"rate": "1.59%",
"details": {
"3216": 2,
"3221": 9
}
},
"softBounces": {
"count": 186,
"rate": "26.88%",
"details": {
"3300": 186
}
},
"deliveryFailures": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"deliveryReportMissing": {
"count": 425,
"rate": "61.42%"
}
}
},
{
"campaignId": 12345,
"campaignName": "Sample Campaign 2",
"status": "passive",
"startTime": 1690281000,
"endTime": 2050214340,
"targeted": 0,
"messageParts": 0,
"sent": 0,
"dropped": 0,
"delivery": {
"count": {
"delivered": 0,
"undelivered": 0
},
"rate": "0.00%"
},
"clickThrough": {
"clicks": 0,
"rate": "0.00%",
"revenue": "0"
},
"conversion": {
"conversions": 0,
"rate": "0.00%"
},
"unsubscribers": {
"count": 0,
"rate": "0.00%"
},
"droppedMessages": {
"frequencyCapped": {
"count": 0,
"rate": "0.00%"
},
"duplicates": {
"count": 0,
"rate": "0.00%"
},
"internalErrors": {
"count": 0,
"rate": "0.00%"
},
"countryCodeDrops": {
"count": 0,
"rate": "0.00%"
},
"invalidPhoneNumbers": {
"count": 0,
"rate": "0.00%"
},
"couponListDrops": {
"count": 0,
"rate": "0.00%"
},
"silentHours": {
"count": 0,
"rate": "0.00%"
}
},
"undeliveredMessages": {
"carrierViolations": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"hardBounces": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"softBounces": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"deliveryFailures": {
"count": 0,
"rate": "0.00%",
"details": {}
},
"deliveryReportMissing": {
"count": 0,
"rate": "0.00%"
}
}
}
]
}You can refer to SMS Campaign Analytics Metrics for further details.
422 Unprocessable Entity
Returned when one or more request parameters fail validation.
{
"message": "The given data was invalid.",
"errors": {
"startTime": [
"The startTime parameter must be a valid integer."
],
"endTime": [
"The endTime parameter must be earlier than the current time."
]
}
}Common validation messages:
Trigger | Validation Message |
|---|---|
Missing startTime or endTime | The startTime parameter is required. |
startTime is not a 10-digit integer | The startTime parameter must be exactly 10 digits. |
endTime is in the future | The endTime parameter must be earlier than the current time. |
startTime is older than 1 year | The startTime parameter must be within the last 1 year. |
startTime is later than endTime | The startTime parameter must be earlier than the endTime parameter. |
campaignId does not belong to an SMS campaign | The campaign ID must be a valid SMS campaign. |
perPage is greater than 100 | The perPage parameter must be at most 100. |