In this article you’ll learn what the Catalog APIs solve, their key concepts, and which endpoints to use in each case to manage your inventory inside Botmaker.
The Catalog APIs let you manage your entire product inventory inside Botmaker so you can use it in conversations with your customers: show the catalog on WhatsApp, recommend products from an agent, handle stock per physical store, apply different prices by geographic zone, and keep everything synced with external platforms like Meta (WhatsApp/Facebook). Instead of loading products by hand, you can integrate them with your e-commerce, ERP, or inventory system and keep Botmaker updated automatically.
You can:
Prerequisites
Access to your Botmaker account with permissions to manage catalogs. Valid API credentials to authenticate your requests. If you plan to publish to WhatsApp, a Meta integration configured in your account.
Key concepts
Before you work with the API, it helps to know the six concepts that all catalog management is built on.
Catalog: the main container. There’s usually one per brand or business unit.
Categories: groupings of products (for example, Drinks, Desserts, Deals). They help you filter and sort.
Products: each item you sell. Identified by SKU, and includes name, description, price, images, availability, and stock. Stores: physical or logical points of sale. Each store has its own inventory per SKU.
Zones: geographic areas that group stores together. They let you apply different prices by region.
Price Schemas: price lists that override base prices for one or more zones.
All endpoints live under the prefix /v2.0/ecommerce/catalogs. Below are the operations grouped by what you need to do.
Step 1: Get started by creating and managing the catalog
The catalog is the starting point: it’s the container where your categories, products, stores, and prices will live.
What you want to do | Endpoint |
List your catalogs | GET /ecommerce/catalogs |
Create a new catalog | POST /ecommerce/catalogs |
Step 2: Organize the catalog with categories
Categories group your products so they’re easier to filter and sort within the conversation.
What you want to do | Endpoint |
View a catalog’s categories | GET /ecommerce/catalogs/{catalogId}/categories |
Create or update categories (in bulk) | POST /ecommerce/catalogs/{catalogId}/categories |
Delete a category | DELETE /ecommerce/catalogs/{catalogId}/categories/{categoryCode} |
Step 3: Load and maintain your products
This is the most frequent operation: the typical case is that your system sends Botmaker the updated product list at regular intervals.
What you want to do | Endpoint |
List or search catalog products | GET /ecommerce/catalogs/{catalogId}/products |
View a product’s detail | GET /ecommerce/catalogs/{catalogId}/products/{sku} |
Create or update products (several per request) | POST /ecommerce/catalogs/{catalogId}/products |
Delete a product | DELETE /ecommerce/catalogs/{catalogId}/products/{sku} |
Delete products in bulk (up to 50 per request) | POST /ecommerce/catalogs/{catalogId}/products/batch/delete |
Step 4: Manage stores and per-store inventory
If you sell from more than one point of sale and each has its own stock, this is the section you need.
What you want to do | Endpoint |
List your stores | GET /ecommerce/catalogs/{catalogId}/stores |
Create or update stores with their inventory | POST /ecommerce/catalogs/{catalogId}/stores |
Delete a store | DELETE /ecommerce/catalogs/{catalogId}/stores/{code} |
Delete stores in bulk | POST /ecommerce/catalogs/{catalogId}/stores/batch/delete |
Step 5: Set up geographic zones and differentiated prices
If you handle different prices by region (downtown vs. suburbs, country A vs. country B, premium vs. standard zone), you combine zones with price schemas.
What you want to do | Endpoint |
List zones | GET /ecommerce/catalogs/{catalogId}/zones |
View a zone | GET /ecommerce/catalogs/{catalogId}/zones/{zoneCode} |
Create or update zones | POST /ecommerce/catalogs/{catalogId}/zones |
Delete a zone | DELETE /ecommerce/catalogs/{catalogId}/zones/{zoneCode} |
Delete zones in bulk | POST /ecommerce/catalogs/{catalogId}/zones/batch/delete |
List all price schemas | GET /ecommerce/catalogs/{catalogId}/price-schemas |
List a zone’s price schema | GET /ecommerce/catalogs/{catalogId}/price-schemas/{zoneCode} |
Create or update a price schema | POST /ecommerce/catalogs/{catalogId}/price-schemas |
Step 6: Integrate with Meta (WhatsApp / Facebook)
With this integration, your Botmaker catalog is published to WhatsApp automatically and can be shown inside the chat.
What you want to do | Endpoint |
Connect your catalog to Meta | POST /ecommerce/catalogs/{catalogId}/platform-integrations |
Sync (publish products to Meta) | POST /ecommerce/catalogs/{catalogId}/platform-integrations/{platform}/sync |
Disconnect the integration | DELETE /ecommerce/catalogs/{catalogId}/platform-integrations/{platform} |
Note: after creating or updating products in Botmaker, you need to call the sync endpoint so those changes show up on WhatsApp/Meta. Syncing is asynchronous: the endpoint returns an identifier so you can check the result.
If you’re integrating for the first time, this is the suggested order:
Going forward, keep everything up to date by calling the product and store POST endpoints whenever something changes in your system, and trigger sync to reflect it on WhatsApp.
Remember to visit our Help Center for further information.