Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.

Webhooks

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:

{
  "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:

{
  "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:

{
  "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:

{
  "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:

{
  "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:

{
  "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:

{
  "action": "PRODUCT_UPDATE",
  "tenant": {
    "Id": 7,
    "Uid": "7"
  },
  "tenantUser": {
    "Id": 7,
    "Uid": "7"
  },
  "product": {
    "Id": 75666,
    "Uid": "71233"
  }
}

Product Media change

This is triggered when a media for a product is added, updated or deleted.

Payload:

{    "action": "PRODUCT_MEDIA_CHANGE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "product": {        "Id": 2,        "Uid": "3"    },    "productMedia": {        "Id": 4,        "Uid": "5"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}

Till Open

This is triggered after a till has been opened.

Payload:

{    "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"}

Till Close

This is triggered after a till is closed.

Payload:

{    "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"}

Price Create

This is triggered after a new price is added to a pricelist.

Payload:

{    "action": "PRICE_CREATE",    "tenant": {        "Id": 7,        "Uid": "7"    },    "pricelist": {        "Id": 1,        "Uid": "7"    },    "price": {        "Id": 73,        "Uid": "722"    },    "tenantUser": {        "Id": 7,        "Uid": "7"    }}

Price Update

This is triggered when a price is updated on a pricelist

Payload:

{    "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:

{    "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:

{    "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:

{    "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:

{    "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"    }}

Last updated

Was this helpful?