Event Matrix
Here we will cover the webhook events that will be generated.
Overview
The following article outlines the webhook events that will be generated for common Marketplacer use-cases.
We provide 1 “matrix” per use-case, that details the webhook events that fire for each relevant object. An example is shown below:
- Details the Use-case in question
- We list the relevant objects that will generate events for this scenario
- The events that are fired
For each scenario we’ll also provide a brief explanation as to why the events fire, (if not-obvious).
For a complete list of the entities that support webhooks for both Operators and Sellers, please refer to the Webhooks Getting Started Guide.
Adverts (Products)
Creating A Product (Advert)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | Fired | | |
Updating A Product (Advert)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | Fired | |
Deleting A Product (Advert)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | | Fired |
Variants
Creating A Variant
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | Fired | |
Variant | Fired | | |
Comments
- While the
Create
event on the Variant is to be expected, the associated Update
event on the Advert occurs because the Variant is effectively a child of the Advert. Therefore any events impacting the Variant, will also impact the Advert.
Updating A Variant
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | Fired | |
Variant | | Fired | |
Comments
- While the
Update
event on the Variant is to be expected, the associated Update
event on the Advert occurs because the Variant is effectively a child of the Advert. Therefore any events impacting the Variant, will also impact the Advert.
Deleting A Variant
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | Fired | |
Variant | | | Fired |
Comments
- While the
Destroy
event on the Variant is to be expected, the associated Update
event on the Advert occurs because the Variant is effectively a child of the Advert. Therefore any events impacting the Variant, will also impact the Advert.
Orders (Invoices)
Creating an Order
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Advert | | Fired | |
Variant | | Fired | |
Invoice | Fired | | |
Comments
Update
events for both the Variant (and therefore Advert) fire due to the adjustment of count_on_hand
following the creation of an Order. However, if the variant is set to have infinite stock then count_on_hand
is not changed and so no Update events will be sent for Variant or Advert in this case.
Shipments
Creating a Shipment
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Invoice | | Fired | |
Shipment | Fired | | |
Comments
- An
Update
fires on the Invoice when a shipment is created.
Updating a Shipment
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipment | | Fired | |
Comments
- Unlike creating a shipment, updating a shipment does not also fire an update event on the Invoice
Refunds (Basic)
Refund or Cancellation Request Raised
Fired in response to calling the refundRequestCreate
mutation
Webhook Object | Create Event | Update Event | Destroy Event | |
---|
Invoice | | Fired | | |
Refund Request | Fired | | | |
Comments
- Whether Cancelling an Invoice (Pre-dispatch) or requesting a Return (Post-dispatch) the same webhook events will be created as shown above.
- For information on the cancellation and refund workflows, including the statuses of the the
RefundRequest
object please refer to this how to article
Seller Accepting Item as Returned
Fired in response to calling the refundRequestReturn
mutation
Webhook Object | Create Event | Update Event | Destroy Event | Returned Event |
---|
Invoice | | Fired | | |
Refund Request | | Fired | | Fired |
Comments
- An
Update
fires on the Invoice due to the parent / child relationship of the Invoice / Refund Request objects, (i.e. an event on the Refund Request will result in an event on the Invoice). - To understand the differences between Returned and Refunded statuses please refer to this article How To Refund with GraphQL
Operator Approving Refund
Fired in response to calling the refundRequestRefund
mutation
Webhook Object | Create Event | Update Event | Destroy Event | Returned Event | Refunded Event |
---|
Invoice | | Fired | | | |
Refund Request | | Fired | | | Fired |
Comments
- An
Update
fires on the Invoice due to the parent / child relationship of the Invoice / Refund Request objects, (i.e. an event on the Refund Request will result in an event on the Invoice). - To understand the differences between Returned and Refunded statuses please refer to this article How To Refund with GraphQL
Refunds (Advanced)
Refund or Cancellation Request Raised
Fired in response to calling the refundRequestCreate
mutation
Webhook Object | Create Event | Update Event | Destroy Event | |
---|
Invoice | | Fired | | |
Refund Request | Fired | | | |
RefundRequestLineItem | Fired | | | |
Seller Requiring the Return of an Item
Fired in response to calling the refundRequestLineItemReturn
mutation
Webhook Object | Create Event | Update Event | Destroy Event | Returned Event |
---|
RefundRequestLineItem | | Fired | | |
Seller Approving / Accepting the Return of an Item
Fired in response to calling the refundRequestLineItemAccept
mutation
Webhook Object | Create Event | Update Event | Destroy Event | Processed Event |
---|
Refund Request | | Fired | | Fired |
RefundRequestLineItem | | Fired | | |
Operator Approving Refund
Fired in response to calling the refundRequestApprove
mutation
Webhook Object | Create Event | Update Event | Destroy Event | Returned Event | Refunded Event |
---|
Invoice | | Fired | | | |
Refund Request | | Fired | | | Fired |
RefundRequestLineItem | | Fired | | | |
Sellers
Operator Adding a Seller
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Seller | Fired | | |
Operator Updating a Seller
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Seller | | Fired | |
Operator Deleting a Seller
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Seller | | | Fired |
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Promotion | Fired | | |
Comments
- Promotion webhooks fire independently of other objects. E.g. even if you create a promotion to cover a specific Advert, there is no associated Advert Update event fired.
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Promotion | | Fired | |
Comments
- Promotion webhooks fire independently of other objects. E.g. even if you update a promotion to cover a specific Advert, there is no associated Advert Update event fired.
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Promotion | | | Fired |
Taxonomy
Operator Adding a Category (Taxon)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Category | Fired | | |
Operator Updating a Category (Taxon)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Category | | Fired | |
Operator Deleting a Category (Taxon)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Category | | | Fired |
Operator Adding an Option Type
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | Fired | | |
Operator Updating an Option Type
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | | Fired | |
Comments
- Updating an Option Type only results in the
update
event on the Option Type webhook, it does not trigger updates on any Option Values
Operator Deleting an Option Type
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | | | Fired |
Option Value | | | Fired* |
Comments
- If there are any Option Values attached to the Option Type, then deleting an Option Type will result in a cascade destroy of any associated Option Values
Operator Adding an Option Value
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | | Fired | |
Option Value | Fired | | |
Operator Updating an Option Value
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | | Fired | |
Option Value | | Fired | |
Operator Deleting an Option Value
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Option Type | | Fired | |
Option Value | | | Fired |
Shipping Rules
Operator Creating a Shipping Rule
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | Fired | | |
Operator Updating a Shipping Rule
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | | Fired | |
Operator Deleting a Shipping Rule
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | | | Fired |
Operator Updating a Shipping Profile
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | | | |
Variant | | | |
Comments
- Updating a Shipping Profile (even those attached to Variants) does not result in any events on the Shipping Rule or Variant Webhooks
Operator Updating a Shipping Rate (attached to a Shipping Rule)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | | Fired | |
Comments
- Updating a Shipping Rate attached to a Shipping Rule will result in an
update
event on the Shipping Rule Webhook. - Creating a new Shipping Rate or Updating an existing Shipping Rate (not associated with a Shipping Rule), does not generate a Shipping Rule webhook event.
Operator Updating a Shipping Zone (attached to a Shipping Rule)
Webhook Object | Create Event | Update Event | Destroy Event |
---|
Shipping Rule | | Fired | |
Comments
- Updating a Shipping Zone attached to a Shipping Rule will result in an
update
event on the Shipping Rule Webhook. - Creating a new Shipping Zone or Updating an existing Shipping Zone (not associated with a Shipping Rule), does not generate a Shipping Rule webhook event.