How they work

If you do not want to specify the product’s value with the Serials type, you can set up your own webhook and dynamically return to us the product you want to ship to your customers.

When creating a product through our dashboard, choose the “Dynamic” type and specify a URL where we will send the request to retrieve it.

The webhook event we will send is product:dynamic, which will have an order object in the payload.

You can find the quantity for which we expect the response as payload.data.quantity, or in the case of cart orders (order.type === SHOPPING_CART), in the payload.data.cart[].unit_quantity field.

The request sent by our system will also have an additional header, X-Sellix-Product-Id, referring to the exact product uniqid that it’s being sent for.

This is particularly useful if the invoice type is a SHOPPING_CART, containing multiple dynamic products. In this case, we will send more than one product:dynamic event, one for each product present in the shopping cart.

Any other logic works as expected following our webhooks. Please note that we will only send one request (no retries) to provide the best experience to your customers; therefore, it’s on you to provide the uptime of your API.

When we send the request, the whole response body will be taken and used as the product. If you’re returning a PDF, for example, we will provide the PDF to the customer. If you need to sell an activation key or tokens, return raw text.