Catalog
Why the catalog API
Section titled “Why the catalog API”Your WhatsApp number can have a product catalog attached (from Meta Commerce Manager). Instead of adding products by hand in the Catalogue screen, use this API to push products from your source of truth (your store DB, an ERP, a spreadsheet) and to read back the orders customers submit from the catalogue.
All calls act on the catalog connected to your number — resolved from your
X-API-Key — so nothing about the number, catalog id, or token is hardcoded.
Authentication
Section titled “Authentication”Every request sends your key as the X-API-Key header. Create one under
Settings → API Keys (the token is shown once).
-H "X-API-Key: wa_live_xxx"Get the connected catalog
Section titled “Get the connected catalog”curl https://api.whatbot.in/public/v1/catalog -H "X-API-Key: wa_live_xxx"{ "connected": true, "catalog_id": "1234567890", "name": "My Store", "product_count": 42 }Returns { "connected": false, ... } when no catalog is attached to the number.
List products
Section titled “List products”curl "https://api.whatbot.in/public/v1/catalog/products?limit=100&search=ring" \ -H "X-API-Key: wa_live_xxx"search(optional) — case-insensitive filter on the product name.limit(optional, default 100, max 500).
{ "products": [ { "retailer_id": "SKU-001", "name": "Gold Ring", "description": "22k, 4g", "price": "₹1,999.00", "currency": "INR", "sale_price": null, "availability": "in stock", "condition": "new", "visibility": "published", "brand": "Acme", "image_url": "https://cdn.example.com/ring.jpg", "url": "https://store.example.com/ring" } ]}Add or update a product
Section titled “Add or update a product”Upsert by retailer_id (your SKU): the first call creates the product, later
calls with the same retailer_id update it.
curl -X POST https://api.whatbot.in/public/v1/catalog/products \ -H "X-API-Key: wa_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "retailer_id": "SKU-001", "name": "Gold Ring", "description": "22k, 4g", "price": 199900, "currency": "INR", "availability": "in stock", "condition": "new", "image_url": "https://cdn.example.com/ring.jpg", "url": "https://store.example.com/ring" }'{ "success": true, "product_id": "7890...", "retailer_id": "SKU-001" }| Field | Required | Notes |
|---|---|---|
retailer_id | ✅ | Your SKU / Content ID — the upsert key. |
name | ✅ | Product title. |
price | ✅ | Integer in the currency’s minor units — paise/cents. 199900 = ₹1,999.00. |
currency | ✅ | ISO 4217, e.g. INR, USD. |
image_url | ✅ | Public https:// image (JPG/PNG, under 8 MB) that Meta can fetch. |
sale_price | — | Integer minor units, like price. |
availability | — | in stock · out of stock · preorder · available for order · discontinued (spaces, not underscores). Defaults to in stock. |
condition | — | new · refurbished · used. Defaults to new. |
visibility | — | published (shown) or staging (hidden). Defaults to published. |
description, brand, fb_product_category, url | — | Optional metadata. |
Delete a product
Section titled “Delete a product”curl -X DELETE https://api.whatbot.in/public/v1/catalog/products/SKU-001 \ -H "X-API-Key: wa_live_xxx"{ "success": true, "retailer_id": "SKU-001" }List orders
Section titled “List orders”Orders customers submitted from the catalogue (WhatsApp order messages), newest
first, with the customer’s name/number and the line items.
curl "https://api.whatbot.in/public/v1/catalog/orders?limit=100" \ -H "X-API-Key: wa_live_xxx"{ "orders": [ { "id": "a1b2...", "conversation_id": "c9e6...", "customer_name": "Devi", "phone": "919876543210", "items": [ { "retailer_id": "SKU-001", "name": "Gold Ring", "image_url": "https://cdn.example.com/ring.jpg", "quantity": 2, "item_price": 1999, "currency": "INR" } ], "total": 3998, "currency": "INR", "note": "Gift wrap please", "created_at": "2026-07-14T06:03:28Z" } ]}Errors
Section titled “Errors”Failures return a 4xx with a plain-English detail (vendor codes and Graph URLs
are stripped), e.g. A product image URL is required. or
This WhatsApp number isn't permitted to manage its product catalog. A missing
catalog returns 400 No product catalog is connected to this WhatsApp number.