Send a customer's comment to the business

Overview

Email a customer's comment directly to the business owner or their managers, tied to the review request it came from.

Called by the landing page alongside private feedback.

You'll need the request's unique code, the comment, and who should receive it.

The comment is saved and emailed to the campaign template's manager address and other manager addresses, or to the account owner when the template has no manager address. With direct_to_option owner, the account owner is always included.

🚧

Browser-only endpoint. This is a public form handler, not a server-to-server API. It requires a Google reCAPTCHA token that is verified server-side against Shout About Us's own reCAPTCHA key, so a token can only be produced by a real browser session on a Shout About Us-hosted page (the review landing page or the sign-up page). A token from your own reCAPTCHA key or your own page won't pass. That means this endpoint cannot be called from a backend, a script, or Postman: those requests fail validation with 422. No bearer token is used or accepted.

Prerequisites

  • No token. A reCAPTCHA token from a Shout About Us-hosted page, and the review request's unique code from the customer's link.

Base URL

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

Endpoint

POST /api/v1/campaign/direct-to-company-email

Authentication

Public (no token)

  • No bearer token is used. The review request's unique_code decides which location the comment goes to.

Rate limit

30 requests per minute, counted per client IP address. See Rate limits.

Request parameters

None.

Request body

FieldTypeRequiredDescription
unique_codestringYesThe email or SMS review request's unique code, up to 50 characters.
direct_to_optionstringYesWho the customer wants to reach: owner, manager or customer. owner adds the account owner to the recipients; manager and customer go to the managers only.
emailstringYesThe customer's email address, up to 100 characters. Checked with an RFC and DNS lookup, so the domain must accept mail.
first_namestringYesThe customer's first name, up to 100 characters.
last_namestringYesThe customer's last name, up to 100 characters.
phonestringYesThe customer's phone number, 7–20 characters.
commentsstringYesThe comment, up to 255 characters.
g_recaptcha_responsestringYesThe Google reCAPTCHA token from the Shout About Us-hosted page.

Request payload

{
  "unique_code": "4xwu8",
  "direct_to_option": "owner",
  "email": "<customer-email>",
  "first_name": "Jane",
  "last_name": "Smith",
  "phone": "+15555550100",
  "comments": "I had an issue with my recent visit and would like to discuss it.",
  "g_recaptcha_response": "<recaptcha-token>"
}

Response body

The payload is inside data.

FieldTypeDescription
statusstringsuccess.
messagestringThank you for your feedback! Your message has been sent directly to the <direct_to_option>.

Response payload

{
  "data": {
    "status": "success",
    "message": "Thank you for your feedback! Your message has been sent directly to the owner."
  }
}

Examples

Success payload

See Response payload.

Error payload

400 Review request not found

{
  "message": "Bad Request",
  "status": "error",
  "errors": "Email or SMS request not found"
}

422 Invalid option, email or reCAPTCHA

{
  "message": "The selected direct to option is invalid. (and 2 more errors)",
  "errors": {
    "direct_to_option": [
      "The selected direct to option is invalid."
    ],
    "email": [
      "The email field must be a valid email address."
    ],
    "g_recaptcha_response": [
      "The google recaptcha is invalid. Please refresh the page and try again."
    ]
  }
}

500 No recipient address

The comment is saved, but no recipient address could be found for the location.

{
  "message": "Internal Server Error",
  "status": "error",
  "errors": "Mail not sent! Owner Email is not available"
}
StatusMeaning
200The comment is saved and emailed.
400The unique code matches no review request.
422A field is missing or invalid, including an invalid reCAPTCHA token.
500No recipient address was found (the comment is still saved), or an unexpected server error.

Example request

curl --request POST \
  --url "https://production-api.shoutaboutus.com/api/v1/campaign/direct-to-company-email" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"unique_code": "4xwu8", "direct_to_option": "owner", "email": "<customer-email>", "first_name": "Jane", "last_name": "Smith", "phone": "+15555550100", "comments": "I had an issue with my recent visit and would like to discuss it.", "g_recaptcha_response": "<recaptcha-token>"}'

Did this page help you?