反馈表单
The Feedback Form is where end users submit their feedback. Each form is tied to a specific campaign.
URL
/feedback/{campaign-slug}
Example: https://yourdomain.com/feedback/rate-our-dashboard-v3
注意: The slug is the campaign slug, not the tenant slug. Each campaign has a unique slug.
When accessed via tenant slug (e.g., /feedback/{tenant-slug}), the system automatically selects the tenant's first active campaign.
Form Fields
The form displays fields based on what's enabled in the campaign configuration:
Standard Fields
| Field | Type | Description |
|---|---|---|
| Star Rating | 1-5 stars | Clickable star selector |
| NPS Score | 0-10 scale | Clickable number selector with color coding (red -> yellow -> green) |
| Text Feedback | Textarea | Free-text feedback |
| Customer Name | Text input | Submitter's name |
| Customer Email | Email input | Required if campaign requires email |
| Photo Upload | File input | Drag-and-drop or click to upload |
Custom Survey Fields
If the campaign has custom survey fields (via Survey Builder), they appear below the standard fields.
Email OTP Verification
If the campaign has OTP enabled:
- User fills out the form and enters their email
- User clicks Submit
- A 6-digit OTP code is sent to their email
- User enters the OTP on the verification page
- If valid, the submission is saved
This prevents fake email addresses and reduces spam.
OTP codes expire after 10 minutes. Rate limit: 5 OTP requests per 10 minutes.
reCAPTCHA
If the campaign has reCAPTCHA enabled, the "I'm not a robot" checkbox appears on the form. The submission is rejected if reCAPTCHA verification fails.
After Submission
The user sees a Thank You page with:
- An animated checkmark
- A confirmation message
- The tenant's branding
- A link back to the 反馈墙