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
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
GET /api/v1/account/reviewsite/list
Authentication
Partner or Account token
company_idmust 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
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
company_id | query | integer | No | The 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[] | query | array of integers | No | Review 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.
| Field | Type | Description |
|---|---|---|
status | string | success. |
response[] | array of objects | The review sites. An empty array [] when the account has no plan, or its plans have no review sites. |
response[].value | integer | The review site's id. Use it as review_site_id in other calls. |
response[].label | string | The review site's name, e.g. Google. |
response[].logo | string | URL of the site's logo. |
response[].auth_type | string or null | How 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."
]
}
}| Status | Meaning |
|---|---|
200 | The account's review sites, or [] when it has none. |
401 | The token is missing, expired or invalid. |
422 | company_id doesn't exist or is outside your tree, or except_review_site_id isn't an array. |
500 | Unexpected 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'Updated 17 days ago
