General guidance

Sellix provides a webhooks system allowing you to subscribe to events with Webhook Endpoints such as Product/Payment Order status webhooks and Dynamic Product webhooks.

Please note only HTTPS webhook URLs are supported.

A webhook simulator is available allowing you to simulate webhook events to a specified URL.

Create Webhook

Configure your first webhook to receive instant & live notifications about things happening within your Store.

Signing/Validating

To verify the authenticity of a webhook request and its payload, each webhook request includes a X-Sellix-Signature header with a HMAC signature comprised of the JSON encoded request body and your webhook secret. Your webhook secret can be changed in your settings page.

Unlike the API Key, a webhook secret is unique for every shop.

Signature verification code samples

Events

Each webhook request will feature a X-Sellix-Event header containing the webhook event type. A list of supported events from Webhook Endpoints can be found below.

EventDescription
order:createdThe order has been created.
order:updatedThe order status has changed.
order:partialThe order status is now partial, indicating a cryptocurrency payment that has been sent but not covering the whole amount.
order:paidThe order has been flagged as paid, this is the final state.
order:cancelledThe order has been cancelled either by the fraud shield, the merchant, or due to not receiving a payment within the time window.
order:disputedA Stripe/PayPal dispute has been opened against one of your stores.
product:createdA product has been created.
product:stockA product’s stock has fallen below the warning range.
product:editedA product has been edited.
product:dynamicThis event is issued only for dynamic products, to learn more about dynamic products, click here.
query:createdA query has been created for one of your shops.
query:repliedA reply has been received for one of your queries.
feedback:receivedOne of your customers left a feedback for you.
subscription:trial:startedA trial has been started for one of your subscriptions.
subscription:trial:endedA trial has ended for one of your subscriptions, this is usually followed by an order:created event.
subscription:createdA subscription has been created, to learn how to better handle subscriptions, please see this guide.
subscription:updatedA subscription has been updated.
subscription:renewedA subscription has been renewed, after receiving a new payment.
subscription:cancelledA subscription has been canceled, either due to not receiving a payment or by a manual action of the customer.
subscription:upcomingA customer will have to pay for one of your subscriptions in the next 72 hours.
order:paid:productThis event is the same as order:paid, however the :product segment indicates that it originates from a webhook URL configured within a product, which is now deprecated.
order:partial:productSimilar to order:paid, this event is the same as its parent.
order:created:productSimilar to order:paid, this event is the same as its parent.
order:disputed:productSimilar to order:paid, this event is the same as its parent.
order:cancelled:productSimilar to order:paid, this event is the same as its parent.
order:updated:productSimilar to order:paid, this event is the same as its parent.
subscription-v2:createdTriggered once when product subscription is created (not started yet).
subscription-v2:startedTriggered once when product subscription start date arrives.
subscription-v2:endedTriggered once when product subscription end date arrives.
subscription-v2:canceledTriggered at the moment when product subscription is canceled.
subscription-v2:canceled-merchantTriggered when a product subscription is canceled by the merchant.
subscription-v2:canceled-customerTriggered when a product subscription is canceled by the customer.
subscription-v2:canceled-apiTriggered when a product subscription is canceled by the developer.
subscription-v2:plan:createdTriggered once when a product plan subscription is created (not started yet).
subscription-v2:plan:startedTriggered once when a product plan subscription start date arrives.
subscription-v2:plan:endedTriggered once when a product plan subscription end date arrives.
subscription-v2:plan:canceledTriggered at the moment when a product plan subscription is canceled.
subscription-v2:plan:canceled-merchantTriggered when a product plan subscription is canceled by the merchant.
subscription-v2:plan:canceled-customerTriggered when a product plan subscription is canceled by the customer.
subscription-v2:plan:canceled-apiTriggered when a product plan subscription is canceled by the developer.
subscription-v2:plan:upgradeTriggered when a new plan subscription occurs (the new plan may be postponed until the current payment interval ends).
subscription-v2:plan:downgradeTriggered when a plan subscription is downgraded (the new plan may be postponed until the current payment interval ends).
subscription-v2:plan:gateway-changedTriggered when the customer changes the product plan subscription gateway.
subscription-v2:plan:payment-method-changedTriggered when the customer changes the product plan subscription payment method.
subscription-v2:plan:payment-succeededTriggered when the payment for a plan succeeds.
subscription-v2:plan:payment-canceledTriggered when the payment for a plan is canceled.
subscription-v2:plan:payment-failedTriggered when the payment for a plan fails.
subscription-v2:trial-interval:createdTriggered when a trial payment interval is created.
subscription-v2:trial-interval:startedTriggered when a trial payment interval start date arrives.
subscription-v2:trial-interval:endedTriggered when a trial payment interval end date arrives.
subscription-v2:trial-interval:canceledTriggered when a trial payment interval is canceled.
subscription-v2:trial-interval:canceled-merchantTriggered when a trial payment interval is canceled by the merchant.
subscription-v2:trial-interval:canceled-customerTriggered when a trial payment interval is canceled by the customer.
subscription-v2:trial-interval:canceled-apiTriggered when a trial payment interval is canceled by the developer.
subscription-v2:payment-interval:createdTriggered when a payment interval is created.
subscription-v2:payment-interval:startedTriggered when a payment interval start date arrives.
subscription-v2:payment-interval:endedTriggered when a payment interval end date arrives.
subscription-v2:payment-interval:canceledTriggered when a payment interval is canceled.
subscription-v2:payment-interval:canceled-merchantTriggered when a payment interval is canceled by the merchant.
subscription-v2:payment-interval:canceled-customerTriggered when a payment interval is canceled by the customer.
subscription-v2:payment-interval:canceled-apiTriggered when a payment interval is canceled by the developer.
subscription-v2:payment-interval:upcomingTriggered when a payment interval’s end date is in 1 week.
subscription-v2:payment-interval:payment-succeededTriggered when a payment succeeds.
subscription-v2:payment-interval:payment-canceledTriggered when a payment is canceled.
subscription-v2:payment-interval:payment-failedTriggered when a payment fails.
subscription-v2:payment-interval:charge-retriedTriggered when a charge is retried for a payment interval.
subscription-v2:payment-interval:charge-failedTriggered when a charge fails for a payment interval.

Note: The “canceled” event is common for all types of cancellations and may be triggered by the customer, merchant or via our API.

Logs

Each webhook request will create a Webhook Log. The object is created by the request that has been sent. Before the request’s response has been received, the response_code will be 0, indicating it is pending.

Logs will only be kept for up to 30 days. After this period they will be deleted

Whitelist Us

Every request will be sent from 99.81.24.41