SMS solicitation overage summary
Overview
Get a paginated per store plan summary of SMS solicitation volume (count of solicitation SMS sent per store_plan_id), used for the account-side SMS overage display.
Prerequisites
- A bearer token. Callable with Partner and Account tokens.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/solicitation/sms-overage-summary
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
Target must sit inside your own account tree, keyed on the optional
company_id/store_id. -
When you omit
company_idit defaults to the auth user's own. -
A Partner login can pass any descendant account/store id (reaching its whole tree).
-
An Account login reaches only its own account and stores under it.
Rate limit
- No rate limit.
Query parameters
- Query:
company_id(integer, optional) — filter by account/company id; defaults to auth user'sperson.company_id. Must belong to auth company hierarchy. - Query:
store_id(integer, optional) — filter by a single store; also restricts the SMS-count subquery to that store. Must belong to auth company hierarchy. - Query:
sort_field(string, optional) — one ofaccount_name,store_name,store_plan_id,store_plan_status,store_plan_end,sms_sent_count. Ignored if not in this list (falls back to store name ASC). - Query:
sort_by(string, optional) —asc|ASC|desc|DESC; defaultASC. - Query:
search_field(string, optional) — one ofstore_name,account_name,store_plan_status,store_plan_end,store_plan_id(no angle brackets allowed). - Query:
search_value(string, optional) — value matched againstsearch_field(LIKE for name fields, exact/date otherwise; no angle brackets). - Query:
limit(integer, optional) — items per page, 10–100 (values below 10 are raised to 10); default 20.
Response
The payload is a standard paginator nested inside the data envelope (data.data holds the rows; page urls and totals sit beside them).
id(integer) — store_plan id (also surfaced asstore_plan_id).account_name(string) — account company name, falling back to the store's location-company name.store_name(string) — the location's name, suffixed with the client location id when one is set (else the storeid).store_plan_id(integer) — store_plan id.store_plan_status(string) — the store plan'sstatus.store_plan_end(string|null) — the store plan'splan_enddate.sms_sent_count(integer) — count of solicitation SMS sent for that store plan (0 when none).
200 Success · 200
200{
"data": {
"current_page": 1,
"data": [
{
"id": 1234,
"account_name": "Acme Brand",
"store_name": "Downtown - 1001",
"store_plan_id": 1234,
"store_plan_status": "active",
"store_plan_end": "2025-12-31",
"sms_sent_count": 300
}
],
"first_page_url": "https://production-api.shoutaboutus.com/api/v1/solicitation/sms-overage-summary?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://production-api.shoutaboutus.com/api/v1/solicitation/sms-overage-summary?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://production-api.shoutaboutus.com/api/v1/solicitation/sms-overage-summary?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://production-api.shoutaboutus.com/api/v1/solicitation/sms-overage-summary",
"per_page": 20,
"prev_page_url": null,
"to": 1,
"total": 1
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | The request failed validation — the response names the fields |
500 | Unexpected server error |
Example request
curl --request GET \
--url "https://production-api.shoutaboutus.com/api/v1/solicitation/sms-overage-summary" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json'Updated 8 days ago
