post
https://production-api.shoutaboutus.com/api/v1/campaign/direct-comment-feedback
Create an off-platform reviews row plus an internal customer comment tied to an Email or SMS review request (looked up by unique_code), then notifies the store's configured recipients with the CUSTOMER_COMMENT template. De-dupes on (store_id, review_site_id, reviewer_email|reviewer_phone). On save it emits review_campaign_collected, which drives the partner-webhook batch fan-out. The endpoint stamps for review site id 100 the review is_off_platform=1, is_legacy=0, and is_qualified from the request.
Auth
- Public — no bearer token (unauthenticated
campaigngroup; item markednoauth). Reached by end customers via the review-request link;unique_codescopes the write to a store.
Rate limit
- 30 requests/min per IP (public).
Body
| Field | Type | Required | Notes |
|---|---|---|---|
unique_code | string | Required | max 50. Email or SMS request unique code. |
email | string | Required | email:rfc,dns, max 100. Stored as reviewer_email. |
name | string | Required | max 100. Stored as reviewer. |
phone | string | Optional | nullable, min 7, max 20. Stored as reviewer_phone. |
comments | string | Required | max 255. Stored as the review message. |
star_rating | integer | Required | 1–5. Stored as rate. |
g_recaptcha_response | string | Required | Google reCAPTCHA token; verified server-side. |
review_site_id | integer | Required | Must be an existing review site. |
is_qualified | integer | Optional | nullable; 0 or 1 (default 1). Only applied when review_site_id = 100. |
Behaviour
- 200
{ status: "success", message: "Thank you for your comment. Your feedback helps us improve our service." }(same message whether or not a notification recipient was resolved). - 400 (
badRequestResponse) for: "Email or SMS request not found"; "You have already submitted your feedback. Thank you!" (dedupe hit); or "Review site not found". - 500 (
errorResponse) "Failed to add customer comment. Please try again." on save failure. - 422 on validation failure (including an invalid reCAPTCHA token).
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
