List the account's review sites

Overview

Get the review sites on this account's plans, each with its id, name, logo and auth_type (how it connects), for a filter menu.

Use this to populate a site picker on reports.

You'll need an account or partner token. An account with no plan gets an empty list. Google and Yelp come first when they're on the plan.

This is the GET form of List supported review sites: the same route and the same response, with the fields sent in the query string.

Returns one entry per site.

Prerequisites

  • A bearer token. See Authentication.
  • Optional: the account's id (company_id). Leave it out to list the sites for your own account.

Base URL

EnvironmentURL
Productionhttps://production-api.shoutaboutus.com
Developmenthttps://development-api.shoutaboutus.com

Endpoint

GET /api/v1/account/reviewsite/list

Authentication

Partner or Account token

  • company_id must be inside your own account tree. A Partner token can list the sites of any account under the partner; an Account token only its own account.
  • Without company_id, the list is for the account of the user behind the token.
  • An account outside your tree is rejected with 422.

Rate limit

This endpoint has no rate limit.

Request parameters

ParameterInTypeRequiredDescription
company_idqueryintegerNoThe account to list sites for. Must exist and be inside your account tree. Leave it out to use the account of the user behind the token.
except_review_site_id[]queryarray of integersNoReview site ids to leave out of the list, e.g. except_review_site_id[]=44 to hide Google. Repeat it for more ids. Must be sent as an array ([]).

Request body

None.

Request payload

None.

Response body

The payload is inside data.

FieldTypeDescription
statusstringsuccess.
response[]array of objectsThe review sites. An empty array [] when the account has no plan, or its plans have no review sites.
response[].valueintegerThe review site's id. Use it as review_site_id in other calls.
response[].labelstringThe review site's name, e.g. Google.
response[].logostringURL of the site's logo.
response[].auth_typestring or nullHow the site connects, which tells you the connection flow to show. oauth: sign in with the platform (e.g. Google, Facebook). cookie or credential: manager invite; the business adds our address as a manager on its listing (get the address from POST /api/v1/store-review-site/{id}/connect). default: the site's username and password, for sites that don't support adding a manager; not available yet, coming in a future release. restapi: connected through the platform's own API; nothing for the business to do. null: no connection flow for this site. Fixed per review site; it doesn't vary by account or plan.

Response payload

{
  "data": {
    "status": "success",
    "response": [
      {
        "value": 1,
        "label": "Yelp",
        "logo": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/yelp_ic.png",
        "auth_type": "cookie"
      },
      {
        "value": 3,
        "label": "Facebook",
        "logo": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/facebook_ic.png",
        "auth_type": "oauth"
      }
    ]
  }
}

Examples

Success payload

With except_review_site_id[]=44, Google is left out: see Response payload.

All the account's sites (no query parameters):

{
  "data": {
    "status": "success",
    "response": [
      {
        "value": 44,
        "label": "Google",
        "logo": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/google_ic.png",
        "auth_type": "oauth"
      },
      {
        "value": 1,
        "label": "Yelp",
        "logo": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/yelp_ic.png",
        "auth_type": "cookie"
      },
      {
        "value": 3,
        "label": "Facebook",
        "logo": "https://d2ny6zb7otrnhl.cloudfront.net/assets/backend/images/logos/facebook_ic.png",
        "auth_type": "oauth"
      }
    ]
  }
}

The account has no plan, or its plans have no review sites:

{
  "data": {
    "status": "success",
    "response": []
  }
}

Error payload

422 Account outside your tree

{
  "message": "The selected company id does not belong to your company hierarchy.",
  "errors": {
    "company_id": [
      "The selected company id does not belong to your company hierarchy."
    ]
  }
}

422 Account doesn't exist

{
  "message": "The selected company id is invalid. (and 1 more error)",
  "errors": {
    "company_id": [
      "The selected company id is invalid.",
      "The selected company id does not belong to your company hierarchy."
    ]
  }
}

422 except_review_site_id isn't an array

{
  "message": "The except review site id field must be an array.",
  "errors": {
    "except_review_site_id": [
      "The except review site id field must be an array."
    ]
  }
}
StatusMeaning
200The account's review sites, or [] when it has none.
401The token is missing, expired or invalid.
422company_id doesn't exist or is outside your tree, or except_review_site_id isn't an array.
500Unexpected server error.

Example request

curl --request GET \
  --url "https://production-api.shoutaboutus.com/api/v1/account/reviewsite/list?company_id=5994&except_review_site_id[]=44" \
  --header 'Authorization: Bearer <bearer-token>' \
  --header 'Accept: application/json'

Did this page help you?