Catalogs
Overview
Section titled “Overview”The Catalogs API allows you to manage Meta WhatsApp Product Catalogs, including syncing catalogs from Meta, listing products, and creating/updating products within catalogs.
Catalogs
Section titled “Catalogs”List Catalogs
Section titled “List Catalogs”Retrieve all product catalogs for your organization.
GET /api/catalogsQuery Parameters
Section titled “Query Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
whatsapp_account | string | No | Filter catalogs by WhatsApp account name |
Response
Section titled “Response”{ "status": "success", "data": { "catalogs": [ { "id": "e9b728cd-7eb1-4d32-9cb7-7f8a7e02e1c0", "meta_catalog_id": "10987654321098", "whatsapp_account": "Primary Line", "name": "Summer Collection", "is_active": true, "product_count": 12, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" } ] }}Get Catalog
Section titled “Get Catalog”Retrieve details for a single catalog, including its products list.
GET /api/catalogs/{id}Response
Section titled “Response”{ "status": "success", "data": { "id": "e9b728cd-7eb1-4d32-9cb7-7f8a7e02e1c0", "meta_catalog_id": "10987654321098", "whatsapp_account": "Primary Line", "name": "Summer Collection", "is_active": true, "product_count": 1, "products": [ { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "meta_product_id": "23456789012345", "name": "Floral Summer Dress", "description": "Lightweight floral summer dress.", "price": 2999, "currency": "USD", "url": "https://example.com/products/dress", "image_url": "https://example.com/images/dress.jpg", "retailer_id": "SKU-DRESS-SUMMER-01", "is_active": true, "created_at": "2024-01-01T01:00:00Z", "updated_at": "2024-01-01T01:00:00Z" } ], "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }}Create Catalog
Section titled “Create Catalog”Create a new product catalog in Meta and store it locally.
POST /api/catalogsRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
whatsapp_account | string | Yes | WhatsApp account name to bind the catalog to |
name | string | Yes | Display name for the catalog |
{ "whatsapp_account": "Primary Line", "name": "Summer Collection"}Response
Section titled “Response”{ "status": "success", "data": { "id": "e9b728cd-7eb1-4d32-9cb7-7f8a7e02e1c0", "meta_catalog_id": "10987654321098", "whatsapp_account": "Primary Line", "name": "Summer Collection", "is_active": true, "product_count": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" }}Delete Catalog
Section titled “Delete Catalog”Delete a catalog from Meta and delete it locally (along with all associated local product entries).
DELETE /api/catalogs/{id}Response
Section titled “Response”{ "status": "success", "data": { "message": "Catalog deleted" }}Sync Catalogs
Section titled “Sync Catalogs”Fetch and sync catalog listings directly from the Meta API for the specified WhatsApp Account.
POST /api/catalogs/syncRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
whatsapp_account | string | Yes | WhatsApp account name to sync catalogs for |
{ "whatsapp_account": "Primary Line"}Response
Section titled “Response”{ "status": "success", "data": { "message": "Catalogs synced", "synced": 2, "total": 2 }}Products
Section titled “Products”List Catalog Products
Section titled “List Catalog Products”Retrieve all products stored in a specific catalog.
GET /api/catalogs/{id}/productsResponse
Section titled “Response”{ "status": "success", "data": { "products": [ { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "meta_product_id": "23456789012345", "name": "Floral Summer Dress", "description": "Lightweight floral summer dress.", "price": 2999, "currency": "USD", "url": "https://example.com/products/dress", "image_url": "https://example.com/images/dress.jpg", "retailer_id": "SKU-DRESS-SUMMER-01", "is_active": true, "created_at": "2024-01-01T01:00:00Z", "updated_at": "2024-01-01T01:00:00Z" } ] }}Get Product
Section titled “Get Product”Retrieve a single catalog product by ID.
GET /api/products/{id}Create Product
Section titled “Create Product”Create a new product inside a catalog in Meta and store it locally.
POST /api/catalogs/{id}/productsRequest Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Product name |
price | integer | Yes | Price of the product in cents (e.g. 2999 for $29.99) |
currency | string | No | Currency ISO code (default: USD) |
description | string | No | Product description |
url | string | No | URL link to the product details page |
image_url | string | No | Publicly accessible image URL for the product |
retailer_id | string | No | Unique Retailer SKU ID for the product |
{ "name": "Floral Summer Dress", "price": 2999, "currency": "USD", "description": "Lightweight floral summer dress.", "url": "https://example.com/products/dress", "image_url": "https://example.com/images/dress.jpg", "retailer_id": "SKU-DRESS-SUMMER-01"}Response
Section titled “Response”{ "status": "success", "data": { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "meta_product_id": "23456789012345", "name": "Floral Summer Dress", "description": "Lightweight floral summer dress.", "price": 2999, "currency": "USD", "url": "https://example.com/products/dress", "image_url": "https://example.com/images/dress.jpg", "retailer_id": "SKU-DRESS-SUMMER-01", "is_active": true, "created_at": "2024-01-01T01:00:00Z", "updated_at": "2024-01-01T01:00:00Z" }}Update Product
Section titled “Update Product”Update an existing product’s fields in Meta and locally. Partial updates are supported.
PUT /api/products/{id}Request Body
Section titled “Request Body”Supports the same fields as Create Product.
{ "name": "Floral Summer Dress (Blue)", "price": 3499}Response
Section titled “Response”Returns the updated product object.
Delete Product
Section titled “Delete Product”Delete a product from Meta and locally.
DELETE /api/products/{id}Response
Section titled “Response”{ "status": "success", "data": { "message": "Product deleted" }}