> ## 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.

# Catálogos e comércio

> Gerencie catálogos, produtos, coleções, carrinhos, pedidos, visibilidade e recursos de revisão.

As leituras de catálogo podem ter como alvo a conta conectada ou outro ID de empresa compatível. As alterações se aplicam à conta do app WhatsApp Business conectada.

## Disponibilidade no Console

O Console mostra **Catálogos** apenas para equipes com acesso. Se esse espaço de
trabalho não aparecer na sua navegação, use as operações de API deste guia. O
acesso existente à API de catálogo não muda.

## Catálogos e produtos

1. [Get business catalog](/api-reference/messaging/catalog-and-commerce/get-business-catalog?playground=open) para inspecionar os produtos e o estado da paginação.
2. [Create business catalog](/api-reference/messaging/catalog-and-commerce/create-business-catalog?playground=open) se a conta não tiver catálogo.
3. [Create business product](/api-reference/messaging/catalog-and-commerce/create-business-product?playground=open) ou [Update business product](/api-reference/messaging/catalog-and-commerce/update-business-product?playground=open).
4. [Delete business product](/api-reference/messaging/catalog-and-commerce/delete-business-product?playground=open) quando o produto não for mais vendido.

Atualizar um produto substitui o produto inteiro. Leia o produto atual e envie
de novo todos os valores opcionais que quiser manter. Descrições, preços
promocionais, IDs de varejista, URLs, vídeos e campos de conformidade omitidos
são removidos.

### Regras da solicitação de produto

| Campos | Entrada aceita |
| - | - |
| `images[].url`, `images[].base64`, `images[].mediaUrl` | Defina exatamente uma origem em cada imagem. Nenhuma origem ou várias origens em uma imagem são rejeitadas. |
| Tamanho da carga da imagem | Cada imagem base64 decodificada ou imagem baixada aceita no máximo 16 MiB. |
| `images[].url` | Use uma URL HTTPS. |
| `images[].mediaUrl` | Use uma URL HTTPS em `whatsapp.net`, `fbcdn.net`, `facebook.com` ou nos subdomínios deles. |
| `price` e `currency` | Omita os dois ou envie os dois. Um produto com `price` precisa incluir o código `currency` de três letras maiúsculas. |
| `salePrice` | Envie apenas quando `price` estiver presente. Como `price` exige `currency`, um produto com desconto inclui os três campos. |
| `videoUrls` | Use URLs HTTPS em `whatsapp.net`, `fbcdn.net`, `facebook.com` ou nos subdomínios deles. |

Os valores `price` e `salePrice` de um produto são strings de dígitos em
milésimos da moeda selecionada. Por exemplo, `"12500"` representa 12,5 unidades
da moeda (12500 / 1000). Os códigos de moeda precisam ser consistentes em todo
lugar onde os totais são calculados.

## Coleções

Use [List business collections](/api-reference/messaging/catalog-and-commerce/get-business-collections?playground=open) e [Get business collection](/api-reference/messaging/catalog-and-commerce/get-business-collection?playground=open) para leituras.

[Create business collection](/api-reference/messaging/catalog-and-commerce/create-business-collection?playground=open), [Update business collection](/api-reference/messaging/catalog-and-commerce/update-business-collection?playground=open) e [Reorder business collections](/api-reference/messaging/catalog-and-commerce/reorder-business-collections?playground=open) controlam os produtos de cada coleção e a ordem das coleções.

### Regras da solicitação de coleção

| Operação | Entrada aceita |
| - | - |
| Criar | Envie de 1 a 100 IDs de produto únicos. |
| Atualizar | Envie um novo `name`, pelo menos uma lista de produtos não vazia, ou os dois. Atualizações vazias são rejeitadas. Cada ID de produto só pode aparecer em uma das listas, de inclusão ou de remoção. |
| Reordenar | Envie de 1 a 100 movimentos. Cada ID de coleção pode aparecer em no máximo um movimento. |

## Visibilidade, recursos de revisão e carrinhos

* [Set product visibility](/api-reference/messaging/catalog-and-commerce/set-business-product-visibility?playground=open)
* [Appeal a product](/api-reference/messaging/catalog-and-commerce/appeal-business-product?playground=open)
* [Appeal a collection](/api-reference/messaging/catalog-and-commerce/appeal-business-collection?playground=open)
* [Set cart availability](/api-reference/messaging/catalog-and-commerce/set-business-cart-enabled?playground=open)

Os motivos do recurso têm os espaços das extremidades removidos, não podem ficar
em branco e aceitam no máximo 4096 bytes UTF-8.

## Pedidos

[Get business order](/api-reference/messaging/catalog-and-commerce/get-business-order?playground=open)
exige o ID do pedido e o token criptografado do pedido que vêm na mensagem de
pedido recebida. Envie o token apenas no corpo JSON da solicitação; nunca o
coloque em uma URL, em um parâmetro de consulta ou em um log. O token não pode
ficar em branco e aceita no máximo 8192 caracteres. Trate a moeda e os preços
retornados como um único retrato atômico do pedido.

Envios estruturados de `order_details` e `order_status`, incluindo instruções de
pagamento Pix, não estão disponíveis pelas mensagens da Graph. Eles retornam o
erro de capacidade `131026` antes de qualquer envio ao provedor. Um pedido ou
callback de pagamento recebido não comprova que o dinheiro foi liquidado. Use o
registro de liquidação verificado do seu provedor de pagamento como a fonte
oficial do estado pago.

Para números da API oficial, [List linked product catalogs](/api-reference/graph/catalog-and-commerce/list-linked-product-catalogs?playground=open) lê os catálogos associados à conta do WhatsApp Business (WABA) do número. Use o ID da WABA de um número do seu projeto e uma credencial com `sessions:read`. A Meta controla quais catálogos a conta conectada pode ver e retorna o próprio erro de permissão se a conta não tiver acesso. Envie `paging.cursors.after` como `after` para ler a próxima página; `limit` aceita de 1 a 100, com padrão 25.

[List linked catalog products](/api-reference/graph/catalog-and-commerce/list-linked-catalog-products?playground=open) lê os IDs de produto, IDs de varejista, nomes e disponibilidade de um catálogo da lista vinculada dessa WABA. Envie o ID da WABA e o ID do catálogo, com `sessions:read`. Quando há mais produtos, a resposta inclui `paging.cursors.after`; envie esse valor como `after` para continuar. A última página não tem o objeto `paging`. `limit` aceita de 1 a 100, com padrão 25. A Meta controla quais produtos a credencial conectada pode ler. Essa leitura não comprova que um produto pode ser enviado nem que a conta pode fazer transações.

### Enviar produtos do catálogo

Use [Send a message](/api-reference/graph/messages/send-a-message?playground=open) com um número da API oficial, uma credencial com `messages:write` e acesso da Meta ao catálogo vinculado dele. Defina `type` como `interactive` e `interactive.type` como `product` para um item ou `product_list` para seções de itens. O `catalog_id` precisa constar na lista de catálogos da WABA do número. A Polymorfa verifica essa associação antes do despacho; uma permissão ausente ou uma leitura de catálogo incompleta interrompe o envio. A Meta valida cada `product_retailer_id` e continua sendo a fonte oficial da disponibilidade do produto.

```json theme={null}
{
  "messaging_product": "whatsapp",
  "to": "15551234567",
  "type": "interactive",
  "interactive": {
    "type": "product",
    "action": {
      "catalog_id": "123456789012345",
      "product_retailer_id": "YOUR_PRODUCT_SKU"
    }
  }
}
```

Para `product_list`, adicione um cabeçalho de texto e um corpo e defina `action.sections` com 1 a 10 seções. Cada seção precisa de um array `product_items` com pelo menos um item, e a mensagem aceita no máximo 30 itens somando todas as seções; cada item tem um `product_retailer_id`. Dê um título a cada seção quando enviar várias seções. Números com Dispositivos vinculados e números simulados não podem enviar produtos do catálogo. Em envios híbridos, concilie o status da operação depois de uma resposta incerta e reutilize a mesma chave de idempotência. Não repita um envio incerto com uma chave nova.

[Get commerce settings](/api-reference/graph/catalog-and-commerce/get-commerce-settings?playground=open) e [Update commerce settings](/api-reference/graph/catalog-and-commerce/update-commerce-settings?playground=open) expõem as configurações compatíveis com a Meta disponíveis para números da API oficial. A leitura do catálogo não cria um catálogo nem vincula um catálogo à WABA.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.