See related
No related articles

Integrate with BigCommerce

Last Update: Sep 2024 • Est. Read Time: 4 MIN
To check plan availability, see the pricing page.

BigCommerce is an online shopping platform for established and rapidly-growing businesses. Integrate BigCommerce with Kustomer to see your customer's purchases in the Kustomer timeline.

Who can access this feature?
User typesAdmins can set up this integration.


In this article

Prerequisites

Before starting the integration process, you must already have a store set up in BigCommerce.

How does BigCommerce work with Kustomer?

Orders created or updated in BigCommerce are imported into Kustomer using an API subscription you'll create in Postman. Orders from BigCommerce will appear as a custom object with up to 10 custom fields on the customer timeline. This will display order information from BigCommerce, including order number and date, shipping and billing information, and products ordered.

In addition, a BigCommerce insight card also displays summarized order details.

Install the BigCommerce app

To integrate BigCommerce with Kustomer, install the BigCommerce app from within the Kustomer App Directory.

  1. Go to Apps and select Explore Directory.
  2. Search for BigCommerce in the App Directory, and then select Install.

This app installs various components in your Kustomer Settings, in the following locations:

  • Apps > BigCommerce (primary settings)
  • Platform > Klasses > bigcommerce-order (Klass, attributes and KlassView)
  • Platform > Workflows > App Created > big-commerce-ingest (ingests BigCommerce orders)
  • Platform > Form Hooks > bigcommerce-1.0.1 (used with ingest workflow)

Set up BigCommerce API

Then, use the BigCommerce API to create a webhook and API keys.

  1. Obtain Store API Credentials: generate a Store API key by going to Advanced Settings > API Accounts > API Keys and call this key Kustomer Integration.
  2. A popup titled BigCommerce API Credentials will appear and save a text file to your computer containing the Client ID and API Token. These two fields correspond directly to the BigCommerce client ID and BigCommerce API token fields in the Kustomer settings.
  3. Leave this window open while you return to the Kustomer Settings in another browser window.
  4. Back in Kustomer, Go to Apps and select BigCommerce in the sidebar. Copy the Client ID and API Token from the BigCommerce page into the corresponding fields in the Kustomer settings.
  5. In the BigCommerce settings, return to API Accounts > API Keys and select the Kustomer Integration key. Use the toggles in the OAuth Scopes section to grant read-only access to the Orders, Products, and Customers API resources.
  6. Locate the API Path field and note your store hash within the URL. The store hash is the alphanumeric value underlined in the screenshot below. Copy this alphanumeric store hash (not the entire URL) to the Kustomer Settings, into the BigCommerce store hash field.


Configure BigCommerce with Kustomer

After you install the BigCommerce app, you'll need to create the Call Events Subscription using Postman. You'll be creating requests to subscribe to two types of BigCommerce events:

To make the request for updated order events:

  1. Open Postman.
  2. Make a POST request to https://api.bigcommerce.com/stores/store hash/v2/hooks where store hash is the alphanumeric value used earlier during the setup process.

  3. Select the Body tab and enter the following payload for updated order events:
    { "scope": "store/order/updated",
    "destination": "FORM HOOK URL GOES HERE",
    "is_active": true }

    Note: In the payload, the destination is the hook address for the bigcommerce-1.0.1 form hook. This hook is automatically created when installing the app. You can locate and copy the address by going to Settings> Platform > Inbound Webhooks > Form Hooks, then select the More menu at the right.

  4. Select the Headers tab.
  5. In an empty row, type X-Auth-Token into the Key column, then for the Value enter the correct API key from the saved file.
  6. Repeat this process to add another header key named X-Auth-Client, with the corresponding saved value.


  7. Select Send to submit the request. Confirm that the payloads are correct by checking the hook logs and that orders are being created.

To make the request for created order events:

  1. Open Postman.
  2. Make a POST request to https://api.bigcommerce.com/stores/store hash/v2/hooks where store hash is the alphanumeric value used earlier during the setup process.

  3. Select the Body tab and enter the following payload for updated order events:
    { "scope": "store/order/created",
    "destination": "FORM HOOK URL GOES HERE",
    "is_active": true }

    Note: In the payload, the destination is the hook address for the bigcommerce-1.0.1 form hook. This hook is automatically created when installing the app. You can locate and copy the address by going to Settings> Platform > Inbound Webhooks > Form Hooks, then select the More menu at the right.

  4. Select the Headers tab.
  5. In an empty row, type X-Auth-Token into the Key column, then for the Value enter the correct API key from the saved file.
  6. Repeat this process to add another header key named X-Auth-Client, with the corresponding saved value.


  7. Select Send to submit the request. Confirm that the payloads are correct by checking the hook logs and that orders are being created.

After following these steps, orders placed through your BigCommerce store will be shown in Kustomer under a customer's timeline.

FAQ

Q: Are there any best practices for avoiding issues with importing orders?

Yes, it's possible to see errors if an order is created then immediately updated. This occurs because when events occur simultaneously, the workflow might attempt to process the orders individually and create duplicate custom objects (KObjects).

You should be able to avoid this as long as there's a short delay between creating and updating an order in BigCommerce. Once one of the two events processes the order payload and creates a custom object, subsequent events with that object should update without issue.