Import site setup from a spreadsheet
Overview
Upload a spreadsheet of review site URLs to set or change them across many locations at once.
Use this after exporting and editing, or when onboarding a large account whose URLs you already have.
You'll need a spreadsheet in the export format (from Export site setup to a spreadsheet). Its first row must be the export's 9 column headings, in this order: Location Name, Address, City, State, Zip, SAU Code, Review Site, Url, Landing Page URL. Files in the older 11-column layout (with Username and Password before Landing Page URL) are still accepted.
The file isn't applied straight away. Its heading row is checked, then it's sent to the Shout About Us support team, who set the sites up. You get a confirmation now, and we confirm with you once the review sites are live.
Prerequisites
- A bearer token. See Authentication.
- The account's id (
account_id). - An
.xlsor.xlsxfile of up to 10 MB in the export format.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/store-review-site/excel/review-site-update
Authentication
Partner or Account token
account_idmust be an account inside your own account tree. A Partner token can upload for any account under the partner; an Account token only for its own account.- An account outside your tree is rejected with
422.
Rate limit
This endpoint has no rate limit.
Request parameters
None.
Request body
Sent as multipart/form-data.
| Field | Type | Required | Description |
|---|---|---|---|
account_id | integer | Yes | The account. Must be an existing, not deleted account inside your account tree. |
review_site_file | file | Yes | The spreadsheet: .xls or .xlsx, up to 10 MB (10240 KB). The first row must be the export's column headings, in order (the 9-column layout, or the older 11-column layout with Username and Password). |
Request payload
Sent as multipart/form-data, with the fields above. See Example request.
Response body
The payload is inside data.
| Field | Type | Description |
|---|---|---|
status | string | success. |
message | string | Thank you. Upload complete. We will confirm with you once review sites are live. |
Response payload
{
"data": {
"status": "success",
"message": "Thank you. Upload complete. We will confirm with you once review sites are live."
}
}Examples
Success payload
See Response payload.
Error payload
400 Heading row doesn't match
{
"message": "Bad Request",
"status": "error",
"errors": "Invalid file or file header not matched!"
}400 No heading row
{
"message": "Bad Request",
"status": "error",
"errors": "Invalid File!"
}422 Missing file
{
"message": "The review site file field is required.",
"errors": {
"review_site_file": [
"The review site file field is required."
]
}
}422 Not an Excel file
{
"message": "The review site data field must be a file of type Excel",
"errors": {
"review_site_file": [
"The review site data field must be a file of type Excel"
]
}
}422 Account doesn't exist or is outside your tree
{
"message": "The selected account is invalid or deleted. (and 1 more error)",
"errors": {
"account_id": [
"The selected account is invalid or deleted.",
"The selected account id does not belong to your company hierarchy."
]
}
}| Status | Meaning |
|---|---|
200 | The file was received and sent to support. |
400 | The file has no heading row, or its headings don't match the export format. |
401 | The token is missing, expired or invalid. |
422 | account_id or review_site_file is missing or invalid: the account doesn't exist or is outside your tree, or the file isn't an Excel file or is over 10 MB. |
500 | Unexpected server error. |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/store-review-site/excel/review-site-update" \
--header 'Authorization: Bearer <bearer-token>' \
--header 'Accept: application/json' \
--form 'account_id=5994' \
--form '[email protected]'Updated 14 days ago
