Flow Retail provides the capability to register webhooks that trigger on specific events.
Webhooks are dispatched instantly and retried up to 10 times upon failure.
If the server receiving the webhook fails to respond within 10 seconds, a timeout occurs, and the job is retried.
If the server responds with an HTTP status code below 300, the job is marked as OK and removed from the queue. For status codes from 400 to 499, the job is marked as an error but still removed from the queue and not retried.
All other status codes prompt the webhook to retry the job up to 10 times.
Order
Order is settled
This is triggered when an order is fully paid.
Payload:
Copy {
"action": "ORDER_SETTLED",
"tenant": {
"Id": 7,
"Uid": "7"
},
"store": {
"Id": 1,
"Uid": "70"
},
"order": {
"Id": 7123,
"Uid": "700"
},
"tenantUser": {
"Id": 7,
"Uid": "9"
}
}
Order is delivered
This is triggered when an order is fully delivered. This means that all the orderlines on the order is delivered.
Payload:
Copy {
"action": "ORDER_DELIVERED",
"tenant": {
"Id": 7,
"Uid": "7"
},
"store": {
"Id": 1,
"Uid": "70"
},
"order": {
"Id": 7123,
"Uid": "700"
},
"tenantUser": {
"Id": 7,
"Uid": "9"
}
}
Order handling state is updated
This is triggered when an order handling state is changed
Payload:
Copy {
"action": "ORDER_HANDLING_STATE_CHANGED",
"tenant": {
"Id": 7,
"Uid": "7"
},
"store": {
"Id": 1,
"Uid": "70"
},
"order": {
"Id": 7123,
"Uid": "700"
},
"orderHandling": {
"Id": 71234,
"Uid": "7000"
},
"tenantUser": {
"Id": 7,
"Uid": "9"
}
}
Customer
Customer created
This will be triggered when a new customer is created.
Payload:
Copy {
"action": "CUSTOMER_CREATE",
"tenant": {
"Id": 7,
"Uid": "7"
},
"customer": {
"Id": 32,
"Uid": "1000"
},
"tenantUser": {
"Id": 14,
"Uid": "0f18eb09-3444-4c97-9043-638346e61af3"
}
}
Customer update
This will be triggered when a customer is updated.
Payload:
Copy {
"action": "CUSTOMER_UPDATE",
"tenant": {
"Id": 7,
"Uid": "7"
},
"customer": {
"Id": 32,
"Uid": "1000"
},
"tenantUser": {
"Id": 14,
"Uid": "0f18eb09-3444-4c97-9043-638346e61af3"
}
}
Product
Product create
This is triggered when a new product is created
Payload:
Copy {
"action": "PRODUCT_CREATE",
"tenant": {
"Id": 7,
"Uid": "7"
},
"tenantUser": {
"Id": 7,
"Uid": "7"
},
"product": {
"Id": 75666,
"Uid": "71233"
}
}
Product update
This is triggered when the basic data on a product is changed or updated. It will not be triggered if a stock or a price in a pricelist is changed for a product.
Payload:
Copy {
"action": "PRODUCT_UPDATE",
"tenant": {
"Id": 7,
"Uid": "7"
},
"tenantUser": {
"Id": 7,
"Uid": "7"
},
"product": {
"Id": 75666,
"Uid": "71233"
}
}
This is triggered when a media for a product is added, updated or deleted.
Payload:
Copy { "action": "PRODUCT_MEDIA_CHANGE", "tenant": { "Id": 7, "Uid": "7" }, "product": { "Id": 2, "Uid": "3" }, "productMedia": { "Id": 4, "Uid": "5" }, "tenantUser": { "Id": 7, "Uid": "7" }}
This is triggered after a till has been opened.
Payload:
Copy { "action": "TILL_OPEN", "tenant": { "Id": 7, "Uid": "7" }, "store": { "Id": 1, "Uid": "7" }, "till": { "Id": 73, "Uid": "722" }, "tenantUser": { "Id": 7, "Uid": "7" }, "cashReport": { "Id": 7212, "Uid": "74533" }, "date": "2022-10-18"}
This is triggered after a till is closed.
Payload:
Copy { "action": "TILL_CLOSE", "tenant": { "Id": 7, "Uid": "7" }, "store": { "Id": 1, "Uid": "7" }, "till": { "Id": 73, "Uid": "722" }, "tenantUser": { "Id": 7, "Uid": "7" }, "cashReport": { "Id": 7212, "Uid": "74533" }, "date": "2022-10-18"}
This is triggered after a new price is added to a pricelist.
Payload:
Copy { "action": "PRICE_CREATE", "tenant": { "Id": 7, "Uid": "7" }, "pricelist": { "Id": 1, "Uid": "7" }, "price": { "Id": 73, "Uid": "722" }, "tenantUser": { "Id": 7, "Uid": "7" }}
This is triggered when a price is updated on a pricelist
Payload:
Copy { "action": "PRICE_UPDATE", "tenant": { "Id": 7, "Uid": "7" }, "pricelist": { "Id": 1, "Uid": "7" }, "price": { "Id": 73, "Uid": "722" }, "tenantUser": { "Id": 7, "Uid": "7" }}
This is triggered when the stock changes for a product.
Payload:
Copy { "action": "STOCK_CHANGE", "tenant": { "Id": 7, "Uid": "7" }, "store": { "Id": 1, "Uid": "7" }, "warehouse": { "Id": 73, "Uid": "722" }, "product": { "Id": 73, "Uid": "722" }, "tenantUser": { "Id": 7, "Uid": "7" }}
This is triggered when a pruchase order is fully received
Payload:
Copy { "action": "PURCHASE_RECEIVED", "tenant": { "Id": 7, "Uid": "flow-demo" }, "store": { "Id": 1, "Uid": "flow-demo-store" }, "purchaseOrder": { "Id": 521, "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074" }, "tenantUser": { "Id": 7, "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7" }}
This is triggered when a product media is changed
Payload:
Copy { "action": "PRODUCT_MEDIA_CHANGED", "tenant": { "Id": 7, "Uid": "flow-demo" }, "product": { "Id": 1, "Uid": "flow-demo-product" }, "productMedia": { "Id": 521, "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074" }, "tenantUser": { "Id": 7, "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7" }}
This is triggered when a order receipt is settled
Payload:
Copy { "action": "ORDER_RECEIPT_SETTLED", "tenant": { "Id": 7, "Uid": "flow-demo" }, "store": { "Id": 1, "Uid": "flow-demo-store" }, "order": { "Id": 521, "Uid": "87667e5b-dbd4-4ebf-b082-90506f039074" }, "orderReceipt": { "Id": 7, "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7" }, "tenantUser": { "Id": 7, "Uid": "d2d0748f-33ee-4823-aa81-e89fbbe6cea7" }}