Kiosk review request

Submit an in-store kiosk review request: looks up a campaign by unique_code, creates a kiosk audience row, and queues an email and/or SMS review-request send (one or both, depending on whether email/phone are supplied and the matching channel is enabled and within service limits).

Auth: Account — authentication; the request validation's authorize requires the authenticated user's company to be a Account. unique_code resolves the campaign and (mismatch returns a 404 "Campaign not found"), so an account can only fire kiosk requests for its own campaigns.

Rate limit: No rate limit.

Request

  • Body:
FieldTypeRequiredNotes
unique_codestringyesCampaign's unique code; must resolve to a campaign owned by the caller's account company.
customer_namestring (max 255)yesCustomer name; validated by NameNoAngleBrackets (no </>). Trimmed before save.
emailstring, email (rfc,dns), max 255, nullablerequired_without phoneTriggers the email channel. At least one of email/phone must be present.
phonestring, min 7, max 20, nullablerequired_without emailTriggers the SMS channel. At least one of email/phone must be present.
requester_namestring (max 255), nullablenoKiosk operator/requestor name; NameNoAngleBrackets. Stored as requestor_name on the audience row.
is_testboolean, nullablenoWhen true, marks audience/requests as test and does NOT increment campaign.total_audience or schedule email follow-ups. Defaults false.
keywordsobject/map, nullablenoKey/value personalization pairs; each key max 100 chars. Empty and null values do not count.
keywords.*string, nullablenoValue for each keyword key.

Response{ data. } envelope. On success the controller returns a successResponse carrying a status/message object.

  • status (string) — "success".
  • message (string) — one of "Email and SMS review requests sent successfully", "Email review request sent successfully", or "SMS review request sent successfully" depending on which channel(s) were queued.

Error paths (not wrapped as success): 404 "Campaign not found" (missing or not owned by caller); 400 "Store does not have an active plan"; 400 "Some review site URLs are missing for this location." (with the per-site error list); 400 "No valid channel to send review request" (with channel/limit errors); 400 "Review Solicitation is not enabled for this store."; 400 "Failed to send review request".

Errors: 422 on validation failure.

Errors: 400 when the store has no active plan or no valid channel; 403 when the caller is not an account user.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
string
string
string
string
boolean
keywords
object
Response

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json