Skip to content

Outgoing webhooks (order paid)

After a customer pays, we notify each affected supplier by sending a POST request with JSON to every HTTPS URL you configure for “order created” notifications (the Ask Ayurveda team sets this in the marketplace admin).

What you configure

SettingWhy it matters
Webhook URLsOne or more HTTPS endpoints. We call each URL in order with the same JSON body so you can split traffic (for example primary + backup) if needed.
Outbound bearer token (optional)If set, we add Authorization: Bearer … on the outgoing POST so your server can verify the caller.
Custom header (optional)Extra name/value pair (for example a static adapter token) added to every POST.

If a supplier has no webhook URLs configured but still has lines on a paid order, delivery of that notification can fail and the order may end up in an error state until someone fixes the configuration.

HTTP behaviour

MethodPOST
Content typeapplication/json
TimeoutAbout one minute per URL
SuccessAny HTTP 2xx response

We call your URLs one after another (not in parallel).

Payload overview

Typical fields include:

  • order_code — stable external reference we assign after the order is bound (often includes our marketplace prefix and the internal order id).
  • customer_name, email, mobile — who placed the order (as allowed by privacy rules).
  • channel and currency — marketplace and currency codes.
  • shipping_charges, address, items[], built_at — fulfilment and line-item details.

items[] lists purchased units (SKU, codes, prices). Only lines that belong to your catalog integration are included.

Use the sample file examples/order-created.json on this docs site as a realistic example, and the webhook playground to copy a curl command.

Idempotency

After we successfully store your external order reference for an order, we do not send the same “order created” webhook again for that order. Retrying manually from our side may fail if the order was already marked as notified.