WooCommerce webhook (register after order)

Inbound: WooCommerce posts the order JSON to a Webivio URL. On a paid status (processing or completed), Webivio registers the buyer for the next upcoming session — same as the signup form (confirmation email, room access, CRM).

This is not the same as:

Where to get the URL

Webinar creator → Finish step → Store webhook (WooCommerce) → copy the URL.

https://webivio.com/api/public/order-registration-webhook?webinarId={uuid}&token={secret}

Optional product filter (panel field or add manually):

…&productId=123

Same token as the Make/Zapier registration webhook (registrationWebhookToken).

Setup in WooCommerce

  1. WordPress → WooCommerceSettingsAdvancedWebhooks.
  2. Add webhook.
  3. Delivery URL — paste the Webivio URL.
  4. TopicOrder updated.
  5. Status: Active.
  6. Save and place a paid test order.

What Webivio does

CaseResponse
Status processing / completedRegister for the next schedule slot
Other status (e.g. pending, failed)HTTP 200, skipped: true, reason: ORDER_NOT_PAID
productId filter and product missingHTTP 200, skipped: true, reason: PRODUCT_FILTER
Email already on that sessionHTTP 200, alreadyRegistered: true
No upcoming sessionsHTTP 422

Fields from Woo order: billing.email, billing.first_name, billing.last_name, billing.phone, line_items[].product_id, status, id.

Test without Woo (curl)

curl -X POST \
  "https://webivio.com/api/public/order-registration-webhook?webinarId=YOUR_ID&token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"email":"john@example.com","name":"John","surname":"Smith","status":"processing"}'

See also