How to Send Review Requests (New Order) Using Webhook

Trigger automatic review request emails when a new order is placed using WiserReview webhooks. Covers endpoint setup, payload format, and testing.

Updated 5 Aug 2026Integrations

You can set up WiserReview to automatically send review request emails when a customer places a new order. This works by using a Webhook — your system sends order details to WiserReview via an HTTP POST request, and WiserReview triggers the review request email to your customer.

Before You Start: Choose Your Review Email Setup

Before configuring the webhook, decide how you want review request emails to work. There are two approaches:

Option A: One Email Per Product (Default)

  • Your system sends one webhook call per product.
  • Each call triggers a separate review request email.
  • Best when you want customers to review one product at a time.

Example: A customer orders Product A, Product B, and Product C.
→ Your system sends 3 separate webhook calls.
→ Customer receives 3 separate review request emails — one for each product.

Option B: One Email for All Products in an Order

  • Your system sends one webhook call with all products included in the payload.
  • Customer receives one email asking them to review all products.
  • Requires enabling the “Multiple Product Order” toggle in webhook settings.
  • Best when you want a single consolidated email per order.

Example: A customer orders Product A, Product B, and Product C.
→ Your system sends 1 webhook call with all 3 products.
→ Customer receives 1 email asking for reviews on A, B, and C.

FAQ: Do I need two separate webhooks if some orders have 1 product and some have multiple?
No. You only need one webhook. If you enable the “Multiple Product Order” toggle, you can send all orders through the same webhook — whether the order has 1 product or 10. Just always include the order array in your payload. An order array with a single product works perfectly.


Step 1: Open Webhook Integration

Opening Webhook Integration in WiserReview

  1. Log in to your WiserReview dashboard.
  2. Click Integrations from the left menu.
  3. In the search bar, type Webhook.
  4. Find: “Webhook – Fire review requests on new order events”
  5. Click the Integration button.

This opens the Webhook setup screen.

Step 2: Create a Connection

Configure Webhook Connection in WiserReview

  1. In the “Name your connection” box, type any name (e.g., “My Store Orders”).
  2. Click the green Create button.
  3. WiserReview will generate a Webhook URL.

Copy this URL — your system will send order data to it via HTTP POST requests with a JSON body.

Step 3: Send Order Data

Webhook Payload Configuration

Send an HTTP POST request to your Webhook URL with the JSON payload in the request body. Set the header Content-Type: application/json.

Option A: Single Product Per Webhook Call

Use this when you’re sending one webhook call per product. The “Multiple Product Order” toggle should be OFF (default).

Example JSON Payload:

{
  "email": "[email protected]",
  "name": "John Doe",
  "firstName": "John",
  "lastName": "Doe",
  "country": "US",          // country code (US, IN, GB) OR language code (en, fr, de) - both accepted
  "phone": "+14155550123",
  "productId": "SKU-123",
  "productName": "Wireless Headphones",
  "productImage": "https://yourstore.com/images/headphones.jpg",
  "productUrl": "https://yourstore.com/products/wireless-headphones",
  "orderid" : "12345"
}

The // line is a comment for readability. Strip it before sending, JSON does not allow comments.

Field Reference:

Field Required Description
email Yes Customer’s email address
name Yes Customer’s full name
firstName Yes Customer’s first name. Map it to the First Name keyword in field mapping.
lastName Yes Customer’s last name. Map it to the Last Name keyword in field mapping.
country Yes Accepts either a two-letter country code (US, IN, GB) or a two-letter language code (en, fr, de). Both work in this same field. Map it to the Country keyword in field mapping. See the notes below on which one to send.
phone No Customer’s phone number in international format, e.g. +14155550123. Required only if you send WhatsApp or SMS review requests.
productId Yes Unique product identifier (your internal ID or SKU)
productName Yes Product name shown in the review request email
productImage Yes Full URL of the product image
productUrl Yes Full URL of the product page
orderid Yes Order Id

What to Send in the country Field

The country field takes either a country code or a language code. Pick based on how your store sells:

  • Selling in multiple countries: send the country code, e.g. US, IN, GB, CA, DE.
  • Selling in one country but customers speak different languages: send the language code instead, e.g. en, fr, de, es, nl. The review request email goes out in that language.

Both values go in the same country key and both are mapped to the Country keyword. There is no separate language field. If you send neither, the email falls back to your default store language.

Field mapping in the WiserReview dashboard:

Single Product Field Mapping

Each JSON key you send has to be mapped to a WiserReview keyword. Open the Select Keyword dropdown next to a field and pick the matching keyword — First Name, Last Name, Country, or Phone. A field that is not mapped is ignored, so send the key and map it in the same pass.


Option B: Multiple Products in One Webhook Call

Use this when you want one email for all products in an order. You must first enable the “Multiple Product Order” toggle:

Enable Multiple Product Order Toggle

Customer fields stay at the top level of the payload. Only the product details go inside the order array.

Example JSON Payload:

{
  "name": "John Doe",
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "country": "US",          // country code (US, IN, GB) OR language code (en, fr, de) - both accepted
  "phone": "+14155550123",
  "orderid": "1212",
  "order": [
    {
      "pn": "Wireless Headphones",
      "pid": "SKU-123",
      "pu": "https://yourstore.com/products/wireless-headphones",
      "piu": "https://yourstore.com/images/headphones.jpg",
      "sku": "SKU-123",
      "vrntid": "VRNT-BLK"
    },
    {
      "pn": "Phone Case",
      "pid": "SKU-456",
      "pu": "https://yourstore.com/products/phone-case",
      "piu": "https://yourstore.com/images/phone-case.jpg",
      "sku": "SKU-456",
      "vrntid": "VRNT-RED"
    }
  ]
}

Example: Sending the Webhook with cURL

This one is copy-paste ready, no comments.

curl -X POST "YOUR_WEBHOOK_URL" 
  -H "Content-Type: application/json" 
  -d '{
    "email": "[email protected]",
    "name": "John Doe",
    "firstName": "John",
    "lastName": "Doe",
    "country": "US",
    "phone": "+14155550123",
    "productId": "SKU-123",
    "productName": "Wireless Headphones",
    "productUrl": "https://yourstore.com/products/wireless-headphones",
    "orderid": "1212"
  }'

What Happens After You Send the Webhook

  1. The order is recorded in your WiserReview dashboard under the webhook connection.
  2. After the configured delay, WiserReview sends the review request email to the customer.
  3. The customer clicks the link in the email and submits their review.

Troubleshooting

Problem Solution
Customer not receiving the review email Verify that email is included and valid in the payload.
Review request not triggered Confirm the webhook URL is correct and the connection is active.
Multiple product email not working Make sure the “Multiple Product Order” toggle is enabled and the payload uses the order array format.
Wrong product shown in email Check that productName / pn and productUrl / pu values are correct.
Customer name blank in the email Send firstName and lastName and map both to the First Name and Last Name keywords.
Email sent in the wrong language Send the language code (fr, de, es) in the country field instead of the country code, and map it to the Country keyword.
Country missing on the review Send country as a two-letter country code and map it to the Country keyword.
Payload rejected as invalid JSON Remove the // comment lines from the sample payloads. JSON does not support comments.