Webhook Listeners beta

Overview

Webhook Listeners beta allow users to do additional steps to their data within the integration process. Webhook Listeners is available within the Tools section. Webhook Listeners allow users with unique plugins to provide their own functionality when process incoming events. Webhook Listener requests are unauthenticated but must be validated by the listener. The Webhook Listener will store the incoming payload in a new stream. Successful Webhook Listeners will dispatch an event that can be used by workflow triggers to start a workflow.

image-20240422-190851Configuration 

The only type supported is “Simple”. If the incoming Webhook Listener request has a header that is the SHA256 hash of the payload computed with a shared key the setup is as follows:

Run As

Select user in the dropdown. (If the payload hash matches the header hash this user is used to create the execution and run any subsequent actions)​

Header Name

The name of the header that contains the hash of the body.

Key

 The shared key used to hash the payload (retrieval instructions in a later slide).

Schema

The schema to save the payload to. The schema must be Realtime so that multiple events can be recorded and processed simultaneously.

A screenshot of a computer

Description automatically generated

Upon Successful Retrieval 

A screenshot of a computer

Description automatically generated

On successful execution the schema will be updated if necessary to include three fields and the records will be created.​

  • Id: The id of the webhook listener execution​
  • Timestamp: The timestamp of when the request was received​
  • Payload: The raw body of the request

Creating Webhook Within Shopify

Navigate to the notification's settings. Then select the event, plug in the URL and retrieve your "key".​A screenshot of a webhook test

Description automatically generated

Webhook Listeners beta URL

When setting up a new webhook the URL will be in the format​:

https://{api-url}/webhook-listeners/{webhook-listener-id}/executions

A screenshot of a webpage

Description automatically generated

 

Big Commerce Webhook Setup

Configuration  

When configuring the Big Commerce Webhook the Standard “Type” will be selected in the dropdown. 

Run As: Select user in the dropdown. (If the payload hash matches the header hash this user is used to create the execution and run any subsequent actions)  

Header Name: The name of the header that contains the hash of the body. 

Key: The shared key used to hash the payload. For BigCommerce this can only be retrieved by making the API call to setup the webhook 

Schema: The schema to save the payload to. The schema must be Realtime so that multiple events can be recorded and processed simultaneously. 

 

Upon Successful Retrieval  

On successful execution, the schema will be updated if necessary to include three fields and the records created.  

Id: The id of the webhook listener execution  

Timestamp: The timestamp of when the request was received  

Payload: The raw body of the request 

 

*Important Note, the payload only contains the id of the resource that was changed so a script will need to be written to query and parse the data then call Big Commerce to get the details. Here is an example of the product update payload 

{"producer":"stores/dvrxozhizp","hash":"XXXXXXXXXX6f037","created_at":1723140331,"store_id":"1003229747","scope":"store/product/updated","data":{"type":"product","id":94}} 

Creating Webhook Within Big Commerce 

Big Commerce webhooks can only be created/edit/delete through Api calls, there's no way to do it in the user interface.  Here is the guide from BigCommerce on how to configure the API call, https://developer.bigcommerce.com/docs/integrations/webhooks

Webhook Event: This is the scope you will set up when creating your webhook.  When making the API call to setup the webhook you need to specify what scope you want to "listen" 

Destination URL: This is the URL format for your Webhook Listener within DataBlend 

https://{api-url}/webhook-listeners/{webhook-listener-id}/executions