Custom Webhooks
Integration Revoked
- Event: INTEGRATION_REVOKED
This fires when a vendor revokes access to your application via the Integration Marketplace
The payload of the event is structured as:
{
"vendor" : {
"id" : "vendor-id",
"name": "vendor-name",
"url": "vendor-subdomain"
},
"user": {
"id": "user-id",
"name": "user-name"
}
}
Outlet Created
- Event: OUTLET_CREATED
This fires when a new outlet is created in a vendor
The payload of the event is structured as:
{
"outlet": {
"id": "outlet-id",
"name": "outlet-name"
},
"vendor" : {
"id" : "vendor-id",
"name": "vendor-name",
"url": "vendor-subdomain"
}
}
Outlet Deleted
- Event: OUTLET_DELETED
This fires when an outlet is deleted from a vendor
The payload of the event is structured as:
{
"outlet": {
"id": "outlet-id",
"name": "outlet-name"
},
"vendor" : {
"id" : "vendor-id",
"name": "vendor-name",
"url": "vendor-subdomain"
}
}
Register Created
- Event: REGISTER_CREATED
This fires when a new register is created in a vendor
The payload of the event is structured as:
{
"register": {
"id": "register-id",
"name": "register-name"
},
"outlet": {
"id": "outlet-id",
"name": "outlet-name"
},
"vendor" : {
"id" : "vendor-id",
"name": "vendor-name",
"url": "vendor-subdomain"
}
}
Register Deleted
- Event: REGISTER_DELETED
This fires when register is deleted from a vendor
The payload of the event is structured as:
{
"register": {
"id": "register-id",
"name": "register-name"
},
"outlet": {
"id": "outlet-id",
"name": "outlet-name"
},
"vendor" : {
"id" : "vendor-id",
"name": "vendor-name",
"url": "vendor-subdomain"
}
}
Customers Merged
- Event: CUSTOMERS_MERGED
This fires when two or more Shopfront customers are merged into one
The payload of the event contains the following fields:
| Field | Type | Description |
|---|---|---|
| results | Customer | The Shopfront customer that was created from the merge |
| merged | Array | An array containing the Shopfront IDs of the merged customers |
Inventory Updated
- Event: INVENTORY_UPDATED
This fires whenever a product's stock level has been updated (e.g. An invoice was received)
The payload of the event contains the Product
The event body's context field contains information detailing the cause of change
Context
The context object in the event body contains the following fields
| Field | Type | Description |
|---|---|---|
| changeType | ChangeType | The event that caused the product's inventory to change |
| changeId | string | The Shopfront ID of the event that occurred |
Change Type
The changeType can be any one of the following:
| Type | Description | Change ID Refers To |
|---|---|---|
| SALE | A sale was processed (either a completed or voided sale) | The ID of the Sale |
| ORDER | An order was received | The ID of the received Order |
| STOCKTAKE | A stocktake was applied | The ID of the Stocktake |
| STOCKTAKER | An external stocktake was applied | The ID of the External Stocktake |
Bulk Inventory Updated
- Event: BULK_INVENTORY_UPDATED
Like Inventory Updated, this fires whenever a product's stock level has been updated (e.g. An invoice was received)
If multiple product's stock level is modified by a single action, such as a completed stocktake, then all of these modified stock levels will be contained in this event.
The payload of the event is structured as:
{
"payload" : [
{
"outlet": "11f015d3835d409a89e6fe434e2b0081",
"product": "11f05556c61ec328930a3b6dac65d65c",
"caseQuantity": 4,
"newQuantity": 24
},
{
...
}
]
}
Payload
The payload of the event contains the following fields.
| Field | Type | Description |
|---|---|---|
| outlet | string | The ID of the outlet that had the inventory change |
| product | string | The ID of the product with the inventory change |
| caseQuantity | float | The number of items in a 'case' of this product. |
| newQuantity | float | The inventory level (stock level) of the product after modification |
Order Attachment Uploaded
- Event: ORDER_ATTACHMENT_UPLOADED
This fires when an attachment is uploaded to an existing order, the order can be of any status.
The payload of this event is structured as:
{
"order": "order-id",
"id": "attachment-id",
"url": "https://url-to-attachment"
}
Order Attachment Deleted
- Event: ORDER_ATTACHMENT_DELETED
This fires when an attachment is deleted from an existing order, the order can be of any status.
The payload of this event is structured as:
{
"order": "order-id",
"id": "attachment-id",
"url": "https://url-to-attachment"
}