Incoming webhooks
Receive events from external providers such as Brink and Voyado.
Incoming webhooks let external providers send events into Enad. You register a webhook under System → Webhooks in Enad Admin, point the provider at the generated URL, and each incoming event is validated, mapped, and published into the platform’s event pipeline, where it updates orders, stock, and merchant users like any other integration.
Create a webhook
- Select Create webhook and choose the provider type. The available types are Brink and Voyado.
- Configure the secret. For Brink, Enad generates a secret for you. For Voyado, enter the secret the provider uses to sign its requests.
- Save. A dialog shows the webhook type, URL, and — where applicable — the secret and encryption key. The secret is shown only once, so copy it before closing.
Webhook URL
Each webhook gets a unique URL of the form:
https://<domain>/<app_id>/v1/<webhook_id>
The URL is shown when the webhook is created and on the webhook’s detail view. Configure it as the webhook destination in the provider’s own admin.
Providers
Brink
Enad generates the secret when the webhook is created. The provider sends it as
a bearer token, and Enad rejects requests without a matching
Authorization: Bearer <secret> header.
Events carry a detail-type field. Stock and order events are mapped and
published into the platform; any other detail-type is acknowledged with 200 OK
and ignored.
| Detail-type | What Enad does |
|---|---|
ProductVariantBackInStock |
Updates the variant’s stock with the new quantity. |
ProductVariantOutOfStock |
Sets the variant’s stock to zero. |
OrderCreated |
Publishes the order to the platform. |
OrderUpdated |
Publishes the updated order. |
OrderRefunded |
Publishes the order refund. |
OrderCompensated |
Publishes the order compensation. |
OrderReleased |
Publishes the order release. |
OrderDelivered |
Publishes the order delivery. |
OrderCancelled |
Publishes the order cancellation. |
OrderLinesModified |
Publishes the modified order lines. |
OrderDeleted |
Publishes the order deletion. |
The Failed variants of the refund, compensation, release, and delivery events
are published the same way. Successful requests receive an OK response.
Voyado
The secret is provided when the webhook is created. Enad verifies each request
against the standard Svix webhook signature headers using that secret, so
unsigned or tampered requests are rejected with 401 Unauthorized.
The webhook also supports encrypted payloads. When Encrypted is on, provide the encryption key the provider encrypts payloads with; events marked encrypted are decrypted before they are processed.
| Event | What Enad does |
|---|---|
contact.acceptsEmail.changed |
Updates the merchant user’s email preference. |
contact.acceptsSms.changed |
Updates the merchant user’s SMS preference. |
contact.acceptsPostal.changed |
Updates the merchant user’s postal mail preference. |
contact.deleted |
Marks the merchant user deleted with the deletion reason. |
An unknown event type is rejected with 400 Bad Request, so the provider should
only send the events listed above.
Shopify
Incoming Shopify events such as orders, refunds, and fulfillments are handled as part of the Shopify integration and do not need a webhook registered on this page.
Managing webhooks
The webhook list shows each webhook’s type, URL, version, encryption state, and status. Select a webhook to view its details and copy its URL.
Deleting a webhook stops event delivery for that URL immediately. Remove the endpoint in the provider as well, since its events will start failing there.