Estimated reading time: 6 minutes Updated: 7/14/2026 Created by: Botmaker Team

Catalog APIs: manage your inventory and catalogs for conversations

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:

  • Create and manage catalogs, categories, and products.
  • Manage stores and inventory per point of sale.
  • Define geographic zones and differentiated price schemas.
  • Publish and sync your catalog with Meta (WhatsApp/Facebook).
  • Integrate Botmaker with your e-commerce, ERP, or inventory system to keep it updated automatically.


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.


How to use the endpoints by use case

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.


Recommended flow to get started

If you’re integrating for the first time, this is the suggested order:

  1. Create the catalog — POST /ecommerce/catalogs
  2. Load categories — POST /ecommerce/catalogs/{catalogId}/categories
  3. Load products — POST /ecommerce/catalogs/{catalogId}/products
  4. (Optional) Load stores with inventory — POST /ecommerce/catalogs/{catalogId}/stores
  5. (Optional) Load zones and price schemas — POST /ecommerce/catalogs/{catalogId}/zones and POST /ecommerce/catalogs/{catalogId}/price-schemas
  6. Connect to Meta and sync — platform-integrations endpoints

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.


Best practices

  • Bulk loading: the POST endpoints for products, categories, stores, and zones accept multiple elements per request. It’s best to group them before sending.
  • Bulk deletion: up to 50 SKUs per request.
  • Stable identifiers: the product SKU and the code for categories, stores, and zones are the keys. If you change them, Botmaker treats them as new elements.
  • Meta sync: loading products into Botmaker does not publish them to WhatsApp automatically. The sync step is always required.



Remember to visit our Help Center for further information.