Skip to content

Webhooks

API endpoints for webhook servicing. It offers the possibility to read, add, change and delete the registered webhooks. Furthermore, it offers a list of notifications about invoked webhooks and their status.

The webhooks are HTTP calls, which send HTTPs calls to registered subscribers if a specific event happens,

for example creating an order. Then the information, in JSON format, is delivered to the defined URL.


{
    "eshopId": 222651,
    "event": "order:create",
    "eventCreated": "2019-01-08T15:13:39+0100",
    "eventInstance": "2018000057"
}

The meaning of individual items:

  • eshopId - number of the e-shop, where the event happened

  • event - event which invoked the call (see code list Webhook event types)

  • eventCreated - accurate time, when the event happened

  • eventInstance - reference to a specified entity - according to the context, order number, invoice number, product GUID, etc.

Payload delivery

For events that support it (see the Payload supported column in Webhook event types), you can opt in to receive the full entity data directly in the notification body by registering the webhook with sendPayload: "full".

When enabled, the notification body will contain an additional payload field with the entity data equivalent to the corresponding GET endpoint response:

{
    "eshopId": 222651,
    "event": "product:create",
    "eventCreated": "2025-05-19T10:00:00+0200",
    "eventInstance": "c9e976a5-340b-11e4-b500-ac162d8a2454",
    "payload": {
        "data": {
            "product": {}
        }
    }
}

The payload is fetched with all optional include parameters applied for order, product, invoice, creditNote, deliveryNote and proformaInvoice events, so it is richer than a default GET response for those entities. The remaining payload-supported entities (brand, category, customer, discountCoupon, proofPayment, quantityDiscount, sectionArticle) are fetched without any include parameters.

Some events carry a payload that is only a documented subset of an endpoint response rather than the whole of it. For example eshop:language sends only data.languages of the e-shop detail (GET /api/eshop), not the whole e-shop information. The exact shape of each such payload is described in the Webhook payloads schemas.

If the payload cannot be fetched at delivery time (e.g. due to a transient error), the notification is still sent without the payload field. Set sendPayload: null to disable payload delivery.

For more information about the function of webhooks, see https://developers.shoptet.com/webhooks/.