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:


Pipedream workflows


  1. Details the Use-case in question
  2. We list the relevant objects that will generate events for this scenario
  3. The events that are fired

For each scenario we’ll also provide a brief explanation as to why the events fire, (if not-obvious).


Creating A Product (Advert)

Webhook ObjectCreate EventUpdate EventDestroy Event
AdvertFiredFired

Comments

  • The Update event fires in addition to the Create event, as Product creation is a multi-step process, resulting in multiple follow-up update events.

Updating A Product (Advert)

Webhook ObjectCreate EventUpdate EventDestroy Event
AdvertFired

Deleting A Product (Advert)

Webhook ObjectCreate EventUpdate EventDestroy Event
AdvertFired

Creating A Variant

Webhook ObjectCreate EventUpdate EventDestroy Event
AdvertFired
VariantFired

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 ObjectCreate EventUpdate EventDestroy Event
AdvertFired
VariantFired

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 ObjectCreate EventUpdate EventDestroy Event
AdvertFired
VariantFired

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.

Creating an Order

Webhook ObjectCreate EventUpdate EventDestroy Event
AdvertFired
VariantFired
InvoiceFiredFired

Comments

  • An Update event will fire in addition to the Create event on the Invoice object as the status of the Invoice will pass through a number of phases from original point of creation.
  • Update events for both the Variant (and therefore Advert) fire due to the adjustment of count_on_hand following the creation of an Order.

Creating a Shipment

Webhook ObjectCreate EventUpdate EventDestroy Event
InvoiceFired
ShipmentFired

Comments

  • An Update fires on the Invoice when a shipment is created.

Updating a Shipment

Webhook ObjectCreate EventUpdate EventDestroy Event
ShipmentFired

Comments

  • Unlike creating a shipment, updating a shipment does not also fire an update event on the Invoice

Refund or Cancellation Request Raised

Webhook ObjectCreate EventUpdate EventDestroy Event
InvoiceFired
RefundFired

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

Webhook ObjectCreate EventUpdate EventDestroy EventReturned Event
InvoiceFired
RefundFiredFired

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

Webhook ObjectCreate EventUpdate EventDestroy EventReturned EventRefunded Event
InvoiceFired
RefundFiredFired

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 Adding a Seller

Webhook ObjectCreate EventUpdate EventDestroy Event
SellerFired

Operator Updating a Seller

Webhook ObjectCreate EventUpdate EventDestroy Event
SellerFired

Operator Deleting a Seller

Webhook ObjectCreate EventUpdate EventDestroy Event
SellerFired

Operator Adding a Promotion

Webhook ObjectCreate EventUpdate EventDestroy Event
PromotionFired

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.

Operator Updating a Promotion

Webhook ObjectCreate EventUpdate EventDestroy Event
PromotionFired

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.

Operator Deleting a Promotion

Webhook ObjectCreate EventUpdate EventDestroy Event
PromotionFired

Operator Adding an Option Type

Webhook ObjectCreate EventUpdate EventDestroy Event
Option TypeFired

Operator Updating an Option Type

Webhook ObjectCreate EventUpdate EventDestroy Event
Option TypeFired

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 ObjectCreate EventUpdate EventDestroy Event
Option TypeFired
Option ValueFired*

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 ObjectCreate EventUpdate EventDestroy Event
Option TypeFired
Option ValueFiredFired

Operator Updating an Option Value

Webhook ObjectCreate EventUpdate EventDestroy Event
Option TypeFired
Option ValueFired

Operator Deleting an Option Value

Webhook ObjectCreate EventUpdate EventDestroy Event
Option TypeFired
Option ValueFired

Operator Creating a Shipping Rule

Webhook ObjectCreate EventUpdate EventDestroy Event
Shipping RuleFired

Operator Updating a Shipping Rule

Webhook ObjectCreate EventUpdate EventDestroy Event
Shipping RuleFired

Operator Deleting a Shipping Rule

Webhook ObjectCreate EventUpdate EventDestroy Event
Shipping RuleFired

Operator Updating a Shipping Profile

Webhook ObjectCreate EventUpdate EventDestroy 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 ObjectCreate EventUpdate EventDestroy Event
Shipping RuleFired

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 ObjectCreate EventUpdate EventDestroy Event
Shipping RuleFired

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.