Integrations

Shopify Integration

Edit this page

Better Data provides a robust, production-ready integration for Shopify using the Storefront API. This allows any AI to search your catalog, check stock, and create draft orders.

Prerequisites

  • A Shopify store
  • A Storefront Access Token (found in App settings -> Manage private apps)
  • The @commercegateway/commerce-gateway package installed

Setup

1. Initialize the Shopify Backend

1import { ShopifyBackend } from '@commercegateway/commerce-gateway/shopify';
2 
3const shopify = new ShopifyBackend({
4 domain: process.env.SHOPIFY_DOMAIN!, "cmt">// e.g. mystore.myshopify.com
5 accessToken: process.env.SHOPIFY_STOREFRONT_TOKEN!,
6 apiVersion: '2024-01',
7});

2. Connect to the Gateway

1const gateway = new LLMGateway({
2 backends: {
3 products: shopify,
4 cart: shopify,
5 orders: shopify,
6 },
7});

Features

Supports natural language searching, filtering by collections, and tag-based discovery.

Real-time ATP

The backend automatically queries Shopify's internal inventory levels to provide accurate "Available to Promise" quantities to the LLM.

Draft Orders

When a user is ready to checkout, the gateway creates a Shopify Draft Order and provides a secure link for the user to complete payment on your Shopify-hosted checkout page.

Configuration

1interface ShopifyConfig {
2 domain: string;
3 accessToken: string;
4 apiVersion?: string;
5 "cmt">// Optional: Only include specific collections
6 collections?: string[];
7 "cmt">// Optional: Map custom metafields to product attributes
8 metafieldMap?: Record<string, string>;
9}

Troubleshooting

  • Permissions: Ensure your Storefront Access Token has unauthenticated_read_product_listings and unauthenticated_write_checkouts scopes.
  • Throttling: For very high traffic, Shopify might rate-limit the Storefront API. Consider using the Better Data Cloud for managed caching and shielding.