# Magento order review invitation API pattern: webhooks to the ask

How Adobe Commerce order events feed a review invitation API, then moderation and display. For Magento teams who already know the UGC app list. We make Idukki.

By Rohin Aggarwal · 2026-10-31

A Magento order sits in Admin with a paid status and a shipped date. The review ask never leaves the warehouse. The product page still shows three old text reviews. The missing piece is not another Marketplace listing. It is a path from that order event to one invitation.

**Quick answer**

- **Trigger on order state.** Complete or shipped beats created, or you ask before delivery.
- **One invitation API call.** Pass order id, email, product ids and a delay.
- **Hosted form, then moderation.** Media lands in one queue with the rest of your UGC.
- **Display is separate.** Stars and galleries read approved reviews only.
- We make Idukki. Magento order feed is early access. Review request email is Shopify today.

We make Idukki. This guide is the wiring pattern for Magento and Adobe Commerce. It is not another list of UGC apps. For Marketplace options, see [best UGC apps for Magento](/blog/best-ugc-apps-for-magento-adobe-commerce-2026).

_Figure: Order event in, invitation out, review back on the product page._

## Why webhooks beat a nightly CSV

A CSV export of yesterday’s orders arrives late. A buyer already forgot the unboxing. Adobe Commerce Webhooks and Magento observers fire when the order changes. That is the right moment to schedule an ask.

You still need a delay. Ask on “created” and the parcel is still in transit. Ask on “complete” or “shipped”, then wait a few days. The invitation API holds that delay.

> **Pick one status:** Use one order status for the invite. Mixed statuses double-send. Document the status in the webhook payload notes.

## The five-step pattern

**From Magento order to live review**
1. **Order event** — Webhook or observer fires on complete or shipped.
2. **Normalise** — Map Magento product and customer ids to the invitation payload.
3. **Invite** — Call the invitation API with delay, locale and product lines.
4. **Collect** — Buyer rates, writes, and can add photos or a video.
5. **Show** — Approved reviews feed the PDP widget and any UGC gallery.
_The same shape on Adobe Commerce cloud or Magento Open Source. Your ESP or reviews tool owns the send._

## What the invitation API needs

| Field | Why it matters |
| --- | --- |
| Order id | Dedupes invites and ties the review to a purchase |
| Buyer email | Where the invite goes |
| Product ids / SKUs | Stars land on the right PDP |
| Locale / store view | Language and currency of the ask |
| Shipped or complete time | Starts the delay timer |

_Minimum fields for a Magento-triggered invite. Keep PII to what the ask needs._

Do not send billing address into the invitation call. Email, order id and line items are enough for a product review ask.

> **Idempotency key:** Send the Magento order id as the key. Retried webhooks then skip a second email.

## Three Magento shapes that work

- **Adobe Commerce Webhooks.** Point a subscribed event at your invitation endpoint or a thin middleware.
- **Custom observer.** On status change, enqueue a job that calls the invitation API.
- **Module order feed.** A store module posts orders to your reviews or UGC platform, which schedules the ask.

Idukki’s Magento 2 module posts each order with the gallery visitor id. It is early access and not on the Marketplace. Catalogue sync and CMS galleries ride the same module. See the [Magento setup](/platforms/magento).

Idukki’s automated review request email runs on Shopify order and fulfilment webhooks today. On Magento, treat the invitation send as your ESP or reviews tool until that path ships.

## Moderation and display after the ask

Collection without moderation puts raw media on the PDP. Keep one queue for review text, photos and social posts. Approve once. Publish to stars and to a gallery near the buy button.

Photo reviews belong higher than the classic stars band. A UGC gallery can sit near the add-to-cart block while the stars widget keeps the text.

## Checks before you go live

1. Fire a test order through complete or shipped and confirm one invite.
2. Retry the webhook and confirm the idempotency key blocks a second send.
3. Submit a photo review and confirm it waits in moderation.
4. Approve it and open the PDP on the matching store view.
5. Confirm cancelled orders never schedule an invite.

**The rule to use:** Trigger on one order status. Call one invitation API with an idempotency key. Moderate media before it hits the PDP.

### Questions Magento teams ask

**Q: Should the invite fire on order create?**

A: Usually no. Wait for shipped or complete. Then add a delay of a few days so the product is in hand.

**Q: Can one webhook serve several store views?**

A: Yes, if the payload includes store view or locale. Route the invite language from that field.

**Q: Does Idukki send Magento review emails today?**

A: No. Automated review request email is Shopify-only. Magento orders can still reach Idukki through the early-access module.

**Q: Where do photo reviews show?**

A: In the review layouts and in the same library as social UGC, once approved. See /reviews.

### Sources and related reading
- [Idukki reviews](/reviews) — Order-tied collection, photo and video form, moderation.
- [Idukki Magento / Adobe Commerce](/platforms/magento) — Module early access: galleries, catalogue, orders.
- [Best UGC apps for Magento and Adobe Commerce](/blog/best-ugc-apps-for-magento-adobe-commerce-2026) — Marketplace options; this piece covers the invitation pattern instead.
- [Adobe Commerce Webhooks (Adobe docs)](https://developer.adobe.com/commerce/extensibility/webhooks/) — Vendor docs for order and other events.

---
Canonical: https://idukki.io/blog/magento-order-review-invitation-api-pattern
Tags: reviews, magento, adobe-commerce, webhooks, invitation-api, order-events, strategy
