Import review-site updates from Excel

Overview

Upload a filled-in review-site credentials Excel file for an account. The endpoint validates its header row, stores it on S3, and emails a confirmation to the support address for back-office processing.

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/excel/review-site-update

Authentication

  • Requires a bearer token in the Authorization: Bearer <bearer-token> header.

  • Who can call it: Partner and Account tokens.

  • The target must sit inside your own account tree, keyed on account_id. It must be a non-deleted company row with bundle_id=3 at or under the auth user's company.

  • A Partner can upload for any account in their tree. An Account user only for their own account.

  • Sent as multipart/form-data.

  • The uploaded file's first heading row must match exactly: location_name, address, city, state, zip, sau_code, review_site, url, username, password, landing_page_url. An invalid or mismatched header returns a 422 unprocessable-entity.

Rate limit

  • No rate limit.

Request body

  • Body (multipart/form-data):
FieldTypeRequiredDescription
account_idintegeryesAccount company id; must be an existing account, not soft-deleted, and belong to the auth user's hierarchy.
review_site_filefileyesExcel file, mimetype application/vnd.ms-excel or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.xls/.xlsx), max 10240 KB. Header row must match the 11-column template above.

Response

  • data.status (string) — always "success" on a valid upload.
  • data.message (string) — fixed confirmation copy: "Thank you. Upload complete. We will confirm with you once review sites are live."

200 OK · 200

{
  "data": {
    "status": "success",
    "message": "Thank you. Upload complete. We will confirm with you once review sites are live."
  }
}

Errors

StatusMeaning
400The request was rejected — the response explains why
401The bearer token is missing, expired or invalid
422The request failed validation — the response names the fields
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=123' \
  --form 'review_site_file=@review_site_file.xlsx'

Did this page help you?