Webhook Events Reference
OpenTiendas webhooks notify external systems in real time when key events occur in your e-commerce. This section lists all currently available events, along with sample payloads and field reference.
- Events are not guaranteed to be delivered in strict chronological order. Consumers should rely on the resource state included in the payload rather than the timing of event delivery.
- Each event represents a state transition or a relevant action within the system.
Webhook Payload Structure
All webhook events share a common envelope:
| Field | Type | Description |
|---|---|---|
event_id | string | Unique identifier (UUID v4) of the event (used for idempotency). |
type | string | Event type (e.g., review.created). |
created_at | string | Event creation timestamp (ISO 8601). |
data | object | Resource payload (Review, Order, etc.). |
Available Events
| Event | Triggered When |
|---|---|
order.canceled | An order is canceled. |
order.created | A new order is created. |
order.fulfilled | An order is fully fulfilled (shipped or ready for pickup). |
order.paid | An order is paid. |
review.created | A new review is created. |
review.published | A review is published. |
Event: order.canceled
Description:
Emitted when an order transitions to the cancelled state.
- The cancelled state is terminal; this event is emitted once per order.
- Once an order is cancelled, it cannot be modified or processed further.
- An order can only be cancelled if it has not been shipped and no payments have been recorded in the system.
Sample Payload (JSON)
{
"id": "b7e6a1c2-3f4d-4e2a-9b1c-8f7e2d1a9c3e",
"type": "order.canceled",
"created_at": "2026-03-16T11:12:33Z",
"data": {
"id": 2026,
"payment_status": "unpaid",
"warehouse_release_status": "not_released",
"fulfillment_status": "unfulfilled",
"created_at": "2026-03-30T15:47:41Z",
"paid_at": null,
"fulfilled_at": null,
"canceled_at": "2026-03-31T09:15:00Z",
"delivery_method": "shipment",
"locale": "en-US",
"payment_method": "credit_card",
"payment_gateway": "stripe",
"total": {
"tax": {
"amount": "8.39",
"currency": "EUR"
},
"net": {
"amount": "39.95",
"currency": "EUR"
},
"gross": {
"amount": "48.34",
"currency": "EUR"
}
},
"shipping": {
"tax": {
"amount": "0.84",
"currency": "EUR"
},
"net": {
"amount": "4.16",
"currency": "EUR"
},
"gross": {
"amount": "5.00",
"currency": "EUR"
}
},
"fees": {
"tax": {
"amount": "0.00",
"currency": "EUR"
},
"net": {
"amount": "0.00",
"currency": "EUR"
},
"gross": {
"amount": "0.00",
"currency": "EUR"
}
},
"line_items": [
{
"id": 101,
"product_id": 501,
"variant_id": 1001,
"sku": "OXFORD-BLUE-M",
"ean": "1234567890123",
"display_name": "Oxford Shirt",
"tax_rate": "0.21",
"quantity": 1,
"unit_price": {
"list_price": {
"gross": {
"amount": "39.95",
"currency": "EUR"
}
},
"final_price": {
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
},
"discounts_applied": [],
"additional_services": [],
"total": {
"tax": {
"amount": "6.93",
"currency": "EUR"
},
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
}
],
"email": "customer@example.com",
"customer": {
"id": 301,
"is_registered": true,
"email": "customer@example.com",
"first_name": "Alex",
"last_name": "Smith",
"full_name": "Alex Smith",
"phone": null,
"preferred_locale": "en-US",
"created_at": "2026-03-30T13:51:57Z",
"is_b2b": false
},
"billing_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
},
"shipping_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
}
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | integer | Unique identifier of the order. | |
payment_status | string | Payment status of the order. | e.g., paid, pending, failed |
warehouse_release_status | string | Warehouse release status. | e.g., released, pending |
fulfillment_status | string | Fulfillment status of the order. | unfulfilled, partially_fulfilled, fulfilled |
created_at | string | Order creation timestamp. | ISO 8601 (e.g., 2026-03-30T15:47:41Z) |
paid_at | string | Timestamp when the order was paid. | ISO 8601 or null |
fulfilled_at | string | Timestamp when the order was fulfilled. | ISO 8601 or null |
canceled_at | string | Timestamp when the order was canceled. | ISO 8601 or null |
delivery_method | string | Delivery method for the order. | shipment, store_pick_up |
locale | string | Locale of the order. | e.g., en-US, es-ES |
payment_method | string | Payment method used. | e.g., credit_card, bank_transfer |
payment_gateway | string | Payment gateway used. | e.g., stripe, manual |
total | object | Total amounts for the order (tax, net, gross). | See below |
shipping | object | Shipping amounts for the order (tax, net, gross). | See below |
fees | object | Fee amounts for the order (tax, net, gross). | See below |
line_items | array | List of order line items. | Array of objects (see below) |
email | string | Customer email address. | |
customer | object | Customer information. | See below |
billing_address | object | Billing address information. | See below |
shipping_address | object | Shipping address information. | See below |
Nested Objects
total, shipping, fees
| Field | Type | Description |
|---|---|---|
tax | object | Tax amount and currency |
net | object | Net amount and currency |
gross | object | Gross amount and currency |
Each of these contains:
amount: string (e.g.,"8.39")currency: string (e.g.,"EUR")
line_items
| Field | Type | Description |
|---|---|---|
id | integer | Unique identifier for the line item |
product_id | integer | Product ID |
variant_id | integer | Variant ID |
sku | string | SKU code |
ean | string | EAN code |
display_name | string | Product display name |
tax_rate | string | Tax rate (e.g., "0.21") |
quantity | integer | Quantity ordered |
unit_price | object | Unit price details (see below) |
discounts_applied | array | Applied discounts (if any) |
additional_services | array | Additional services (if any) |
total | object | Line item totals (tax, net, gross) |
unit_price
| Field | Type | Description |
|---|---|---|
list_price | object | List price (gross) |
final_price | object | Final price (net, gross) |
discounts_applied
| Field | Type | Description |
|---|---|---|
type | string | Discount type |
amount | object | Discount amount/currency |
description | string | Discount description |
customer
| Field | Type | Description |
|---|---|---|
id | integer | Customer ID |
is_registered | boolean | Whether the customer is registered |
email | string | Customer email |
first_name | string | First name |
last_name | string | Last name |
full_name | string | Full name |
phone | string | Phone number |
preferred_locale | string | Preferred locale |
created_at | string | Customer creation timestamp |
is_b2b | boolean | Is business customer |
billing_address / shipping_address
| Field | Type | Description |
|---|---|---|
first_name | string | First name |
last_name | string | Last name |
phone | string | Phone number |
company | string | Company name |
street_address | string | Street address |
postal_code | string | Postal code |
country_code | string | Country code (ISO) |
region | string | Region/State |
city | string | City |
Event: order.created
Description:
Emitted when a new order is created in the system.
This occurs when a customer attempts to place an order after selecting a payment method and proceeding through checkout, or when an order is created manually by store staff from the administration panel.
The event contains the order data available at that moment, including items, prices, totals, customer information, addresses, and the selected payment method.
- This event is emitted once per order (
order_id). - It represents a purchase attempt recorded as an order. Creation of the order does not guarantee that payment has been successfully completed.
- A customer may generate multiple orders if the payment fails, the checkout is abandoned, or the purchase is attempted again.
- Each new attempt creates a new order and triggers a new
order.createdevent.
Sample Payload (JSON)
{
"id": "b7e6a1c2-3f4d-4e2a-9b1c-8f7e2d1a9c3e",
"type": "order.created",
"created_at": "2026-03-16T11:12:33Z",
"data": {
"id": 2026,
"payment_status": "paid",
"warehouse_release_status": "released",
"fulfillment_status": "fulfilled",
"created_at": "2026-03-30T15:47:41Z",
"paid_at": "2026-03-30T15:48:21Z",
"fulfilled_at": "2026-03-30T15:49:03Z",
"canceled_at": null,
"delivery_method": "shipment",
"locale": "en-US",
"payment_method": "credit_card",
"payment_gateway": "stripe",
"total": {
"tax": {
"amount": "8.39",
"currency": "EUR"
},
"net": {
"amount": "39.95",
"currency": "EUR"
},
"gross": {
"amount": "48.34",
"currency": "EUR"
}
},
"shipping": {
"tax": {
"amount": "0.84",
"currency": "EUR"
},
"net": {
"amount": "4.16",
"currency": "EUR"
},
"gross": {
"amount": "5.00",
"currency": "EUR"
}
},
"fees": {
"tax": {
"amount": "0.00",
"currency": "EUR"
},
"net": {
"amount": "0.00",
"currency": "EUR"
},
"gross": {
"amount": "0.00",
"currency": "EUR"
}
},
"line_items": [
{
"id": 101,
"product_id": 501,
"variant_id": 1001,
"sku": "OXFORD-BLUE-M",
"ean": "1234567890123",
"display_name": "Oxford Shirt",
"tax_rate": "0.21",
"quantity": 1,
"unit_price": {
"list_price": {
"gross": {
"amount": "39.95",
"currency": "EUR"
}
},
"final_price": {
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
},
"discounts_applied": [],
"additional_services": [],
"total": {
"tax": {
"amount": "6.93",
"currency": "EUR"
},
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
}
],
"email": "customer@example.com",
"customer": {
"id": 301,
"is_registered": true,
"email": "customer@example.com",
"first_name": "Alex",
"last_name": "Smith",
"full_name": "Alex Smith",
"phone": null,
"preferred_locale": "en-US",
"created_at": "2026-03-30T13:51:57Z",
"is_b2b": false
},
"billing_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
},
"shipping_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
}
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | integer | Unique identifier of the order. | |
payment_status | string | Payment status of the order. | e.g., paid, pending, failed |
warehouse_release_status | string | Warehouse release status. | e.g., released, pending |
fulfillment_status | string | Fulfillment status of the order. | unfulfilled, partially_fulfilled, fulfilled |
created_at | string | Order creation timestamp. | ISO 8601 (e.g., 2026-03-30T15:47:41Z) |
paid_at | string | Timestamp when the order was paid. | ISO 8601 or null |
fulfilled_at | string | Timestamp when the order was fulfilled. | ISO 8601 or null |
canceled_at | string | Timestamp when the order was canceled. | ISO 8601 or null |
delivery_method | string | Delivery method for the order. | shipment, store_pick_up |
locale | string | Locale of the order. | e.g., en-US, es-ES |
payment_method | string | Payment method used. | e.g., credit_card, bank_transfer |
payment_gateway | string | Payment gateway used. | e.g., stripe, manual |
total | object | Total amounts for the order (tax, net, gross). | See below |
shipping | object | Shipping amounts for the order (tax, net, gross). | See below |
fees | object | Fee amounts for the order (tax, net, gross). | See below |
line_items | array | List of order line items. | Array of objects (see below) |
email | string | Customer email address. | |
customer | object | Customer information. | See below |
billing_address | object | Billing address information. | See below |
shipping_address | object | Shipping address information. | See below |
Nested Objects
total, shipping, fees
| Field | Type | Description |
|---|---|---|
tax | object | Tax amount and currency |
net | object | Net amount and currency |
gross | object | Gross amount and currency |
Each of these contains:
amount: string (e.g.,"8.39")currency: string (e.g.,"EUR")
line_items
| Field | Type | Description |
|---|---|---|
id | integer | Unique identifier for the line item |
product_id | integer | Product ID |
variant_id | integer | Variant ID |
sku | string | SKU code |
ean | string | EAN code |
display_name | string | Product display name |
tax_rate | string | Tax rate (e.g., "0.21") |
quantity | integer | Quantity ordered |
unit_price | object | Unit price details (see below) |
discounts_applied | array | Applied discounts (if any) |
additional_services | array | Additional services (if any) |
total | object | Line item totals (tax, net, gross) |
unit_price
| Field | Type | Description |
|---|---|---|
list_price | object | List price (gross) |
final_price | object | Final price (net, gross) |
discounts_applied
| Field | Type | Description |
|---|---|---|
type | string | Discount type |
amount | object | Discount amount/currency |
description | string | Discount description |
customer
| Field | Type | Description |
|---|---|---|
id | integer | Customer ID |
is_registered | boolean | Whether the customer is registered |
email | string | Customer email |
first_name | string | First name |
last_name | string | Last name |
full_name | string | Full name |
phone | string | Phone number |
preferred_locale | string | Preferred locale |
created_at | string | Customer creation timestamp |
is_b2b | boolean | Is business customer |
billing_address / shipping_address
| Field | Type | Description |
|---|---|---|
first_name | string | First name |
last_name | string | Last name |
phone | string | Phone number |
company | string | Company name |
street_address | string | Street address |
postal_code | string | Postal code |
country_code | string | Country code (ISO) |
region | string | Region/State |
city | string | City |
Event: order.fulfilled
Description:
Emitted when the order reaches the fulfilled state, indicating that all items in the order have been fully fulfilled.
This means the items have either been shipped to the customer or made available for in-store pickup.
- This event is emitted once per order.
- The event indicates that all items in the order have been fulfilled (no partial fulfillment).
- It does not imply that the order has been delivered to the customer.
Sample Payload (JSON)
{
"id": "b7e6a1c2-3f4d-4e2a-9b1c-8f7e2d1a9c3e",
"type": "order.fulfilled",
"created_at": "2026-03-31T10:00:00Z",
"data": {
"id": 2026,
"payment_status": "paid",
"warehouse_release_status": "released",
"fulfillment_status": "fulfilled",
"created_at": "2026-03-30T15:47:41Z",
"paid_at": "2026-03-30T15:48:21Z",
"fulfilled_at": "2026-03-31T09:30:00Z",
"canceled_at": null,
"delivery_method": "shipment",
"locale": "en-US",
"payment_method": "credit_card",
"payment_gateway": "stripe",
"total": {
"tax": {
"amount": "8.39",
"currency": "EUR"
},
"net": {
"amount": "39.95",
"currency": "EUR"
},
"gross": {
"amount": "48.34",
"currency": "EUR"
}
},
"shipping": {
"tax": {
"amount": "0.84",
"currency": "EUR"
},
"net": {
"amount": "4.16",
"currency": "EUR"
},
"gross": {
"amount": "5.00",
"currency": "EUR"
}
},
"fees": {
"tax": {
"amount": "0.00",
"currency": "EUR"
},
"net": {
"amount": "0.00",
"currency": "EUR"
},
"gross": {
"amount": "0.00",
"currency": "EUR"
}
},
"line_items": [
{
"id": 101,
"product_id": 501,
"variant_id": 1001,
"sku": "OXFORD-BLUE-M",
"ean": "1234567890123",
"display_name": "Oxford Shirt",
"tax_rate": "0.21",
"quantity": 1,
"unit_price": {
"list_price": {
"gross": {
"amount": "39.95",
"currency": "EUR"
}
},
"final_price": {
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
},
"discounts_applied": [],
"additional_services": [],
"total": {
"tax": {
"amount": "6.93",
"currency": "EUR"
},
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
}
],
"email": "customer@example.com",
"customer": {
"id": 301,
"is_registered": true,
"email": "customer@example.com",
"first_name": "Alex",
"last_name": "Smith",
"full_name": "Alex Smith",
"phone": null,
"preferred_locale": "en-US",
"created_at": "2026-03-30T13:51:57Z",
"is_b2b": false
},
"billing_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
},
"shipping_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
}
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | integer | Unique identifier of the order. | |
payment_status | string | Payment status of the order. | e.g., paid, pending, failed |
warehouse_release_status | string | Warehouse release status. | e.g., released, pending |
fulfillment_status | string | Fulfillment status of the order. | unfulfilled, partially_fulfilled, fulfilled |
created_at | string | Order creation timestamp. | ISO 8601 (e.g., 2026-03-30T15:47:41Z) |
paid_at | string | Timestamp when the order was paid. | ISO 8601 or null |
fulfilled_at | string | Timestamp when the order was fulfilled. | ISO 8601 or null |
canceled_at | string | Timestamp when the order was canceled. | ISO 8601 or null |
delivery_method | string | Delivery method for the order. | shipment, store_pick_up |
locale | string | Locale of the order. | e.g., en-US, es-ES |
payment_method | string | Payment method used. | e.g., credit_card, bank_transfer |
payment_gateway | string | Payment gateway used. | e.g., stripe, manual |
total | object | Total amounts for the order (tax, net, gross). | See below |
shipping | object | Shipping amounts for the order (tax, net, gross). | See below |
fees | object | Fee amounts for the order (tax, net, gross). | See below |
line_items | array | List of order line items. | Array of objects (see below) |
email | string | Customer email address. | |
customer | object | Customer information. | See below |
billing_address | object | Billing address information. | See below |
shipping_address | object | Shipping address information. | See below |
Nested Objects
total, shipping, fees
| Field | Type | Description |
|---|---|---|
tax | object | Tax amount and currency |
net | object | Net amount and currency |
gross | object | Gross amount and currency |
Each of these contains:
amount: string (e.g.,"8.39")currency: string (e.g.,"EUR")
line_items
| Field | Type | Description |
|---|---|---|
id | integer | Unique identifier for the line item |
product_id | integer | Product ID |
variant_id | integer | Variant ID |
sku | string | SKU code |
ean | string | EAN code |
display_name | string | Product display name |
tax_rate | string | Tax rate (e.g., "0.21") |
quantity | integer | Quantity ordered |
unit_price | object | Unit price details (see below) |
discounts_applied | array | Applied discounts (if any) |
additional_services | array | Additional services (if any) |
total | object | Line item totals (tax, net, gross) |
unit_price
| Field | Type | Description |
|---|---|---|
list_price | object | List price (gross) |
final_price | object | Final price (net, gross) |
discounts_applied
| Field | Type | Description |
|---|---|---|
type | string | Discount type |
amount | object | Discount amount/currency |
description | string | Discount description |
customer
| Field | Type | Description |
|---|---|---|
id | integer | Customer ID |
is_registered | boolean | Whether the customer is registered |
email | string | Customer email |
first_name | string | First name |
last_name | string | Last name |
full_name | string | Full name |
phone | string | Phone number |
preferred_locale | string | Preferred locale |
created_at | string | Customer creation timestamp |
is_b2b | boolean | Is business customer |
billing_address / shipping_address
| Field | Type | Description |
|---|---|---|
first_name | string | First name |
last_name | string | Last name |
phone | string | Phone number |
company | string | Company name |
street_address | string | Street address |
postal_code | string | Postal code |
country_code | string | Country code (ISO) |
region | string | Region/State |
city | string | City |
Event: order.paid
Description:
Emitted when the order reaches the paid state, indicating that the full payment amount for the order has been confirmed.
- This event is emitted once per order.
- The payment covers the full order total.
- It applies to both automatic payments processed by payment gateways (such as Stripe, Redsys, etc.) and payments manually confirmed by store staff (for example bank transfers).
- The event may occur at the same time as
order.created, or minutes, hours, or even days later, depending on the payment method. - This event indicates only that the order has been paid. It does not imply that the order has been prepared, shipped, or delivered.
Sample Payload (JSON)
{
"id": "b7e6a1c2-3f4d-4e2a-9b1c-8f7e2d1a9c3e",
"type": "order.paid",
"created_at": "2026-03-30T15:48:22Z",
"data": {
"id": 2026,
"payment_status": "paid",
"warehouse_release_status": "not_released",
"fulfillment_status": "unfulfilled",
"created_at": "2026-03-30T15:47:41Z",
"paid_at": "2026-03-30T15:48:21Z",
"fulfilled_at": null,
"canceled_at": null,
"delivery_method": "shipment",
"locale": "en-US",
"payment_method": "credit_card",
"payment_gateway": "stripe",
"total": {
"tax": {
"amount": "8.39",
"currency": "EUR"
},
"net": {
"amount": "39.95",
"currency": "EUR"
},
"gross": {
"amount": "48.34",
"currency": "EUR"
}
},
"shipping": {
"tax": {
"amount": "0.84",
"currency": "EUR"
},
"net": {
"amount": "4.16",
"currency": "EUR"
},
"gross": {
"amount": "5.00",
"currency": "EUR"
}
},
"fees": {
"tax": {
"amount": "0.00",
"currency": "EUR"
},
"net": {
"amount": "0.00",
"currency": "EUR"
},
"gross": {
"amount": "0.00",
"currency": "EUR"
}
},
"line_items": [
{
"id": 101,
"product_id": 501,
"variant_id": 1001,
"sku": "OXFORD-BLUE-M",
"ean": "1234567890123",
"display_name": "Oxford Shirt",
"tax_rate": "0.21",
"quantity": 1,
"unit_price": {
"list_price": {
"gross": {
"amount": "39.95",
"currency": "EUR"
}
},
"final_price": {
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
},
"discounts_applied": [],
"additional_services": [],
"total": {
"tax": {
"amount": "6.93",
"currency": "EUR"
},
"net": {
"amount": "33.02",
"currency": "EUR"
},
"gross": {
"amount": "39.95",
"currency": "EUR"
}
}
}
],
"email": "customer@example.com",
"customer": {
"id": 301,
"is_registered": true,
"email": "customer@example.com",
"first_name": "Alex",
"last_name": "Smith",
"full_name": "Alex Smith",
"phone": null,
"preferred_locale": "en-US",
"created_at": "2026-03-30T13:51:57Z",
"is_b2b": false
},
"billing_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
},
"shipping_address": {
"first_name": "Alex",
"last_name": "Smith",
"phone": "555-123-4567",
"company": "",
"street_address": "123 Main Street, Suite 400",
"postal_code": "10001",
"country_code": "US",
"region": "New York",
"city": "New York"
}
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | integer | Unique identifier of the order. | |
payment_status | string | Payment status of the order. | e.g., paid, pending, failed |
warehouse_release_status | string | Warehouse release status. | e.g., released, pending |
fulfillment_status | string | Fulfillment status of the order. | unfulfilled, partially_fulfilled, fulfilled |
created_at | string | Order creation timestamp. | ISO 8601 (e.g., 2026-03-30T15:47:41Z) |
paid_at | string | Timestamp when the order was paid. | ISO 8601 or null |
fulfilled_at | string | Timestamp when the order was fulfilled. | ISO 8601 or null |
canceled_at | string | Timestamp when the order was canceled. | ISO 8601 or null |
delivery_method | string | Delivery method for the order. | shipment, store_pick_up |
locale | string | Locale of the order. | e.g., en-US, es-ES |
payment_method | string | Payment method used. | e.g., credit_card, bank_transfer |
payment_gateway | string | Payment gateway used. | e.g., stripe, manual |
total | object | Total amounts for the order (tax, net, gross). | See below |
shipping | object | Shipping amounts for the order (tax, net, gross). | See below |
fees | object | Fee amounts for the order (tax, net, gross). | See below |
line_items | array | List of order line items. | Array of objects (see below) |
email | string | Customer email address. | |
customer | object | Customer information. | See below |
billing_address | object | Billing address information. | See below |
shipping_address | object | Shipping address information. | See below |
Nested Objects
total, shipping, fees
| Field | Type | Description |
|---|---|---|
tax | object | Tax amount and currency |
net | object | Net amount and currency |
gross | object | Gross amount and currency |
Each of these contains:
amount: string (e.g.,"8.39")currency: string (e.g.,"EUR")
line_items
| Field | Type | Description |
|---|---|---|
id | integer | Unique identifier for the line item |
product_id | integer | Product ID |
variant_id | integer | Variant ID |
sku | string | SKU code |
ean | string | EAN code |
display_name | string | Product display name |
tax_rate | string | Tax rate (e.g., "0.21") |
quantity | integer | Quantity ordered |
unit_price | object | Unit price details (see below) |
discounts_applied | array | Applied discounts (if any) |
additional_services | array | Additional services (if any) |
total | object | Line item totals (tax, net, gross) |
unit_price
| Field | Type | Description |
|---|---|---|
list_price | object | List price (gross) |
final_price | object | Final price (net, gross) |
discounts_applied
| Field | Type | Description |
|---|---|---|
type | string | Discount type |
amount | object | Discount amount/currency |
description | string | Discount description |
customer
| Field | Type | Description |
|---|---|---|
id | integer | Customer ID |
is_registered | boolean | Whether the customer is registered |
email | string | Customer email |
first_name | string | First name |
last_name | string | Last name |
full_name | string | Full name |
phone | string | Phone number |
preferred_locale | string | Preferred locale |
created_at | string | Customer creation timestamp |
is_b2b | boolean | Is business customer |
billing_address / shipping_address
| Field | Type | Description |
|---|---|---|
first_name | string | First name |
last_name | string | Last name |
phone | string | Phone number |
company | string | Company name |
street_address | string | Street address |
postal_code | string | Postal code |
country_code | string | Country code (ISO) |
region | string | Region/State |
city | string | City |
Event: review.created
Description:
Sent when a new review is created for the store or for a product (product with or without variants or bundle
product). This event contains the review's full content, including rating and user information.
Sample Payload (JSON)
{
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "review.created",
"created_at": "2026-03-16T10:12:33Z",
"data": {
"id": "78456",
"status": "unpublished",
"type": "product",
"language": "es-ES",
"product_id": "7890",
"product_name": "Urban Sneakers 2025",
"variant_id": "5678",
"variant_name": "Black - Size 42",
"rating": 5,
"content": "These sneakers exceeded my expectations! The quality is top-notch, and the modern design fits perfectly with any outfit. I highly recommend them to anyone looking for comfort and style. Delivery was fast, and the packaging was excellent.",
"created_at": "2025-06-02T14:30:15Z",
"reviewer_name": "Maria Smith",
"reviewer_email": "maria.smith@example.com"
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | string | Unique identifier of the review. | |
status | string | Status of the review. | "published" or "unpublished" |
type | string | Type of review. | "product" or "store" |
language | string | Language code of the review. | ISO 639-1 / ISO 3166 (e.g. es-ES) |
product_id | string | Identifier of the reviewed product (if applicable). | |
product_name | string | Name of the reviewed product (if applicable). | In the language of the review |
variant_id | string | Identifier of the variant (if applicable). | Only for multiple-type products |
variant_name | string | Name of the variant (if applicable). | In the language of the review |
rating | int | User rating of the review. | 1-5 |
content | string | Content of the review. | |
created_at | string | Creation date/time of the review. | ISO 8601 (e.g. 2025-04-03T09:05:07Z) |
reviewer_name | string | Name of the reviewer. | |
reviewer_email | string | Email of the reviewer. |
Event: review.published
Description:
Triggered when a review is published and becomes publicly visible. This event includes the full review content.
Sample Payload (JSON)
{
"event_id": "550e8400-e29b-41d4-a716-446655440000",
"type": "review.published",
"created_at": "2026-03-16T11:12:33Z",
"data": {
"id": "78456",
"status": "published",
"type": "product",
"language": "es-ES",
"product_id": "7890",
"product_name": "Urban Sneakers 2025",
"variant_id": "5678",
"variant_name": "Black - Size 42",
"rating": 5,
"content": "These sneakers exceeded my expectations! The quality is top-notch, and the modern design fits perfectly with any outfit. I highly recommend them to anyone looking for comfort and style. Delivery was fast, and the packaging was excellent.",
"created_at": "2025-06-02T14:30:15Z",
"reviewer_name": "Maria Smith",
"reviewer_email": "maria.smith@example.com"
}
}
Field Reference
The following fields are contained within the data object of the webhook payload.
| Field | Type | Description | Possible Values / Format |
|---|---|---|---|
id | string | Unique identifier of the review. | |
status | string | Status of the review. | "published" or "unpublished" |
type | string | Type of review. | "product" or "store" |
language | string | Language code of the review. | ISO 639-1 / ISO 3166 (e.g. es-ES) |
product_id | string | Identifier of the reviewed product (if applicable). | |
product_name | string | Name of the reviewed product (if applicable). | In the language of the review |
variant_id | string | Identifier of the variant (if applicable). | Only for product with variants |
variant_name | string | Name of the variant (if applicable). | In the language of the review |
rating | int | User rating of the review. | 1-5 |
content | string | Content of the review. | |
created_at | string | Creation date/time of the review. | ISO 8601 (e.g. 2025-04-03T10:15:30Z) |
reviewer_name | string | Name of the reviewer. | |
reviewer_email | string | Email of the reviewer. |