Skip to content

Catalogs

The Catalogs API allows you to manage Meta WhatsApp Product Catalogs, including syncing catalogs from Meta, listing products, and creating/updating products within catalogs.


Retrieve all product catalogs for your organization.

Terminal window
GET /api/catalogs
ParameterTypeRequiredDescription
whatsapp_accountstringNoFilter catalogs by WhatsApp account name
{
"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"
}
]
}
}

Retrieve details for a single catalog, including its products list.

Terminal window
GET /api/catalogs/{id}
{
"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 a new product catalog in Meta and store it locally.

Terminal window
POST /api/catalogs
FieldTypeRequiredDescription
whatsapp_accountstringYesWhatsApp account name to bind the catalog to
namestringYesDisplay name for the catalog
{
"whatsapp_account": "Primary Line",
"name": "Summer Collection"
}
{
"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 a catalog from Meta and delete it locally (along with all associated local product entries).

Terminal window
DELETE /api/catalogs/{id}
{
"status": "success",
"data": {
"message": "Catalog deleted"
}
}

Fetch and sync catalog listings directly from the Meta API for the specified WhatsApp Account.

Terminal window
POST /api/catalogs/sync
FieldTypeRequiredDescription
whatsapp_accountstringYesWhatsApp account name to sync catalogs for
{
"whatsapp_account": "Primary Line"
}
{
"status": "success",
"data": {
"message": "Catalogs synced",
"synced": 2,
"total": 2
}
}

Retrieve all products stored in a specific catalog.

Terminal window
GET /api/catalogs/{id}/products
{
"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"
}
]
}
}

Retrieve a single catalog product by ID.

Terminal window
GET /api/products/{id}

Create a new product inside a catalog in Meta and store it locally.

Terminal window
POST /api/catalogs/{id}/products
FieldTypeRequiredDescription
namestringYesProduct name
priceintegerYesPrice of the product in cents (e.g. 2999 for $29.99)
currencystringNoCurrency ISO code (default: USD)
descriptionstringNoProduct description
urlstringNoURL link to the product details page
image_urlstringNoPublicly accessible image URL for the product
retailer_idstringNoUnique 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"
}
{
"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 an existing product’s fields in Meta and locally. Partial updates are supported.

Terminal window
PUT /api/products/{id}

Supports the same fields as Create Product.

{
"name": "Floral Summer Dress (Blue)",
"price": 3499
}

Returns the updated product object.

Delete a product from Meta and locally.

Terminal window
DELETE /api/products/{id}
{
"status": "success",
"data": {
"message": "Product deleted"
}
}