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

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://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_id narrows to one account's bundle_id=2 location children.

  • store_id narrows 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:
FieldTypeRequiredDescription
url_typestring (review_site/landing_page)yesSelects the managed URL column.
filterstring (all/missing)noDefault all; missing narrows to rows where the selected column is empty.
pageintegernoMin 1.
per_pageintegerno10–100 (values below 10 are raised to 10); default 20.
searchstringnoMax 255; substring over store / review-site name / client_location_id.
review_site_idintegernoMust be an existing review site.
account_idintegernoMust be an existing account; account narrowing within caller's tree.
store_idintegernoMust 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

{
  "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

{
  "data": {
    "data": [],
    "meta": {
      "current_page": 1,
      "per_page": 20,
      "total": 0,
      "last_page": 1
    }
  }
}

422 Unprocessable Entity - validation error · 422

{
  "message": "The selected url type is invalid.",
  "errors": {
    "url_type": ["The selected url type is invalid."]
  }
}

Errors

StatusMeaning
401The bearer token is missing, expired or invalid
422Unprocessable Entity - validation error
500Unexpected 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}'

Did this page help you?