Webhooks
Notify your system of new orders, status changes and changes in balances.
Webhook is an HTTP request from the site to your address at the time of the event. Cabinet Settings → Webhooks.
Webhooks enter tariff "Growth and higher." ?Seller's fare and subscription fee). At the lower rate, the section is open for reading only: the previous entries are visible and can be deleted, but new ones do not start and events are not sent.
Setting up
- URL The address that accepts
POSTJSON. - Developments:
order.created- New order comes in. seller (The purchaser made the order himself.)order.status_changed- the order has changed status; both sides n transactions;stock.changedThe rest of the goods has changed; it comes to the owner of the goods.
- Active. - turns on and off the shipment.
What's in the request body
The body is the short card of the deal: order (id, number, status, amounts, number of items, dates), seller and buyer (id, name, TIN), and side Who is responsible for your order?seller or buyer). U order.status_changed extra from. to. comment and changed_by Who changed status: it is easy to distinguish your action from the action of the other party.
Order positions, delivery details and contacts in the body are not transferred - pick them up order.id via APIREST API and tokens). So webhook is easy, and data is always relevant.
When it is created, it is shown secret - He's seen once. Each request is signed by them: header X-Kup2b-Signature contains HMAC-SHA256 from the request body. Check the signature before trusting the data. They're coming in. X-Kup2b-Event (event) and X-Kup2b-Delivery (Delivery ID - it is convenient to discard repetitions).
The body has event_id identifier of the transaction event itself. The site brings the event to delivery even after a failure at home (queue, restart), and in rare cases, one event can come again: a repeat event_id Remember the ones that have been processed and let them pass. U stock.changed No deal events. event_id emptynull).
Delivery and repetition
Your handler must respond with a 2xx code. If there is no answer or the code is different, the site will try up to five times with increasing pauses (1, 5, 25 and 125 minutes). Delivery log - on the same page: event, response code, number of attempts, time. The Test button sends a trial event.
Answer quickly: put heavy processing in turn, and return 200 to the webhook at once. Use the API to sample event data (REST API and tokens).
Updated: 12/10/2026