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 .xls or .xlsx file of up to 10 MB in the export format.

Base URL

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

Endpoint

POST /api/v1/store-review-site/excel/review-site-update

Authentication

Partner or Account token

  • account_id must 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.

FieldTypeRequiredDescription
account_idintegerYesThe account. Must be an existing, not deleted account inside your account tree.
review_site_filefileYesThe 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.

FieldTypeDescription
statusstringsuccess.
messagestringThank 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."
    ]
  }
}
StatusMeaning
200The file was received and sent to support.
400The file has no heading row, or its headings don't match the export format.
401The token is missing, expired or invalid.
422account_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.
500Unexpected 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]'

Did this page help you?