Each business gets one webhook URL (found on their Webhook page after logging in). POST a JSON body to it whenever a transaction completes, and ReviewBot handles templating, deduplication, and sending.
POST https://<your-domain>/api/webhook/<your-token> Content-Type: application/json
{
"name": "Jane Doe",
"email": "jane@example.com"
}We check several common field names/shapes so you can usually point a platform's native webhook straight at us without any transformation step:
customer_name / customer_emailcustomerName / customerEmailcustomer.name / customer.emaildata.object.customer_details.name/emailfirst_name + last_name| Status | Meaning |
|---|---|
| 200 sent | Review request email sent (or logged, in dev mode). |
| 200 blocked_duplicate | This customer already received a review request — nothing sent. |
| 400 | Body wasn't valid JSON, or no email could be found in it. |
| 403 | This account is suspended. |
| 404 | Unknown webhook token — check the URL, or it may have been regenerated. |
| 429 | Too many requests in a short window — back off and retry. |
Use these in your email template (edited from your dashboard): {first_name}, {business_name}, {review_link}.