product.created

product.created

This event is triggered when a new product is created in the restaurant.

It is sent when a product is added one by one from the panel, imported in bulk via Excel, when a menu is copied, or when a new product is defined for branches from the head office application (HQ). It does not matter whether the change was made from head office or from the branch's own Adisyo application; the event is sent in both cases.

Events should be processed in batches, not one by one. Recommended flow: buffer incoming events for about 3 minutes, then call the Product List (/Products) endpoint once and update your menu. /Products can already be called every 3 minutes; this rhythm keeps you within the rate limit and turns a burst of events into a single request.

Payload Structure

The payload carries only the identifiers of the created products. You read all product fields from the /Products endpoint.

Because a single operation can create multiple products (a bulk Excel import, a menu copy), products are listed in the productIds array. When a single product is added the array simply has one element.

{
  "eventId": "1f4c8e07-2b3d-46a1-9c58-77ab0e5d9312",
  "webhookEventType": "product.created",
  "eventTimeUtc": "2025-10-21T11:59:50.1855135Z",
  "data": {
    "productIds": [2230902, 2230903, 2230904]
  },
  "restaurantIdentity": "3edc2d46-bfc0-44d1-b701-f18e56306aed"
}

Data Fields

FieldTypeDescription
productIdsarray(number)IDs of the created products. Same as productId in the /Products response

restaurantIdentity identifies the branch where the product was created; the event is always branch scoped. If a definition made from head office affects multiple branches, a separate event is sent for each branch, and each branch receives an event containing only the products visible in that branch.

Usage Example

Buffer the events as they arrive; when the window closes, refresh the menu with a single request:

Refreshing the menu
curl -X GET "https://ext.adisyo.com/api/External/v2/Products" \
  --header "x-api-key: <api-key-provided-by-adisyo>" \
  --header "x-api-secret: <secret-for-the-restaurant-being-requested>" \
  --header "x-api-consumer: <a-text-identifying-the-requesting-company>"

Every change made to a product after it is created is reported with the product.updated event.