List Store Review Site URLs (Review Sites / Landing Page grids)
Overview
Unified paginated URL grid that powers both the "Review Sites" and "Landing Page" pages, each with an All / Missing tab. url_type picks the managed column and filter picks the tab. Generalises the missing-urls endpoint.
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
POST /api/v1/store-review-site/url-list
Authentication
-
Requires a bearer token in the
Authorization: Bearer <bearer-token>header. -
Who can call it: Partner and Account tokens.
-
Scope is role-based. A Partner sees all stores under its tree. An account sees only its own. An empty set falls back to an empty page.
-
Optional
account_idnarrows to one account'sbundle_id=2location children. -
store_idnarrows to a single store, always bounded by the accessible tree, so out-of-tree ids yield an empty page.
Rate limit
- No rate limit.
Request body
- Body:
| Field | Type | Required | Description |
|---|---|---|---|
url_type | string (review_site/landing_page) | yes | Selects the managed URL column. |
filter | string (all/missing) | no | Default all; missing narrows to rows where the selected column is empty. |
page | integer | no | Min 1. |
per_page | integer | no | 10–100 (values below 10 are raised to 10); default 20. |
search | string | no | Max 255; substring over store / review-site name / client_location_id. |
review_site_id | integer | no | Must be an existing review site. |
account_id | integer | no | Must be an existing account; account narrowing within caller's tree. |
store_id | integer | no | Must be an existing location; single-location narrowing. |
{
"url_type": "landing_page",
"filter": "missing",
"page": 1,
"per_page": 20,
"search": "Acme",
"review_site_id": 44,
"account_id": 23,
"store_id": 5
}Response
data.data[](array) — rows:id,store_id,store_name,client_location_id,brand_id,brand_name,review_site_id,review_site_name,review_site_icon,review_site_color,scraping_enabled(bool),sendto_scrapper,url_status,review_site_url,landing_page_url,review_site_url_missing(bool),landing_page_url_missing(bool).data.meta(object) —current_page,per_page,total,last_page.
200 OK - paginated rows · 200
200{
"data": {
"data": [
{
"id": 5,
"store_id": 2,
"store_name": "Demo Brew",
"client_location_id": "hp-1234",
"brand_id": 3,
"brand_name": "Demo Brew Group",
"review_site_id": 44,
"review_site_name": "Google",
"review_site_icon": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/google_ic.png",
"review_site_color": "#4285F4",
"scraping_enabled": true,
"sendto_scrapper": "N",
"url_status": "disable",
"review_site_url": "https://maps.google.com/maps?cid=6987565896915883812",
"landing_page_url": null,
"review_site_url_missing": false,
"landing_page_url_missing": true
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 1,
"last_page": 1
}
}
}200 OK - empty page (no accessible stores) · 200
200{
"data": {
"data": [],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 0,
"last_page": 1
}
}
}422 Unprocessable Entity - validation error · 422
422{
"message": "The selected url type is invalid.",
"errors": {
"url_type": ["The selected url type is invalid."]
}
}Errors
| Status | Meaning |
|---|---|
401 | The bearer token is missing, expired or invalid |
422 | Unprocessable Entity - validation error |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/store-review-site/url-list" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{"url_type": "landing_page", "filter": "missing", "page": 1, "per_page": 20, "search": "Acme", "review_site_id": 44, "account_id": 23, "store_id": 5}'Updated 11 days ago
Did this page help you?
