> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polymorfa.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Catalogs and commerce

> Manage catalogs, products, collections, carts, orders, visibility, and appeals.

Catalog reads can target the connected account or another supported business ID. Mutations apply to the connected WhatsApp Business App account.

## Catalogs and products

1. [Get business catalog](/guides/waba-features/api/get-business-catalog?playground=open) to inspect products and pagination state.
2. [Create business catalog](/guides/waba-features/api/create-business-catalog?playground=open) if the account has no catalog.
3. [Create business product](/guides/waba-features/api/create-business-product?playground=open) or [Update business product](/guides/waba-features/api/update-business-product?playground=open).
4. [Delete business product](/guides/waba-features/api/delete-business-product?playground=open) when it is no longer sold.

Updating a business product replaces the complete product. Read the current
product and resend every optional value you want to keep. Omitted descriptions,
sale prices, retailer IDs, URLs, videos, and compliance fields are removed.

### Product request rules

| Fields                                                 | Accepted input                                                                                                             |
| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| `images[].url`, `images[].base64`, `images[].mediaUrl` | Set exactly one source on each image. Zero sources or multiple sources on one image are rejected.                          |
| Image payload size                                     | Each decoded base64 image or downloaded image accepts at most 16 MiB.                                                      |
| `images[].url`                                         | Use an HTTPS URL.                                                                                                          |
| `images[].mediaUrl`                                    | Use an HTTPS URL on `whatsapp.net`, `fbcdn.net`, `facebook.com`, or their subdomains.                                      |
| `price` and `currency`                                 | Omit both, or provide both. A product with `price` must include its three-letter uppercase `currency` code.                |
| `salePrice`                                            | Provide only when `price` is present. Because `price` requires `currency`, a discounted product includes all three fields. |
| `videoUrls`                                            | Use HTTPS URLs on `whatsapp.net`, `fbcdn.net`, `facebook.com`, or their subdomains.                                        |

Product `price` and `salePrice` values are digit strings scaled in thousandths
of the selected currency. For example, `"12500"` represents 12.5 currency
units (12500 / 1000). Currency codes must be consistent anywhere totals are
calculated.

## Collections

Use [List business collections](/guides/waba-features/api/get-business-collections?playground=open) and [Get business collection](/guides/waba-features/api/get-business-collection?playground=open) for reads.

[Create business collection](/guides/waba-features/api/create-business-collection?playground=open), [Update business collection](/guides/waba-features/api/update-business-collection?playground=open), and [Reorder business collections](/guides/waba-features/api/reorder-business-collections?playground=open) control collection membership and order.

### Collection request rules

| Operation | Accepted input                                                                                                                                                        |
| --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create    | Provide 1 through 100 unique product IDs.                                                                                                                             |
| Update    | Provide a new `name`, at least one non-empty membership list, or both. Empty updates are rejected. Each product ID can appear in only one of the add or remove lists. |
| Reorder   | Provide 1 through 100 moves. Each collection ID can appear in at most one move.                                                                                       |

## Visibility, appeals, and carts

* [Set product visibility](/guides/waba-features/api/set-business-product-visibility?playground=open)
* [Appeal a product](/guides/waba-features/api/appeal-business-product?playground=open)
* [Appeal a collection](/guides/waba-features/api/appeal-business-collection?playground=open)
* [Set cart availability](/guides/waba-features/api/set-business-cart-enabled?playground=open)

Appeal reasons are trimmed, cannot be blank, and accept at most 4096 UTF-8
bytes.

## Orders

[Get business order](/guides/waba-features/api/get-business-order?playground=open)
requires the order ID and encrypted order token from the incoming order message.
Send the token only in the JSON request body; never place it in a URL, query
parameter, or log. The token must be nonblank and accepts at most 8192
characters. Treat the returned currency and prices as one atomic order
snapshot.

For Cloud API phone numbers, [Get commerce settings](/guides/waba-features/graph-api/get-commerce-settings?playground=open) and [Update commerce settings](/guides/waba-features/graph-api/update-commerce-settings?playground=open) expose the supported Meta-compatible settings.
