> For the complete documentation index, see [llms.txt](https://ajuda.livechat360.com.br/crm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.livechat360.com.br/crm/api-docs/produtos-do-catalogo.md).

# Produtos do catalogo

O catálogo de produtos e serviços da conta, usado nas [linhas de produto das negociações](broken://pages/ce52ec6009f8895759728a7831007561f04f026c).

| Método | Rota                                | Operação |
| ------ | ----------------------------------- | -------- |
| GET    | `/v1/products`, `/v1/products/{id}` | `read`   |
| POST   | `/v1/products`                      | `insert` |
| PUT    | `/v1/products/{id}`                 | `update` |

As listagens retornam todos os produtos, visíveis ou não. Use o filtro `visible` para restringir.

## Filtros

| Parâmetro  | Comportamento                                                     |
| ---------- | ----------------------------------------------------------------- |
| `name`     | exato (sem diferenciar maiúsculas); `name__contains` para parcial |
| `category` | exato, sem diferenciar maiúsculas (nome da categoria)             |
| `visible`  | `true` / `false`                                                  |

**Ordenação:** `name` (padrão).

```bash
curl -H "Authorization: Bearer $KEY" "https://app-api.atendeserver.com.br/v1/products?visible=true&category=Assinatura"
```

## Payload

```json
{
  "data": {
    "id": 15,
    "name": "Plano Mensal Premium",
    "description": "Acesso completo à plataforma com suporte prioritário.",
    "price": 199.9,
    "category": "Assinatura",
    "visible": true,
    "recurring": true,
    "created_at": "2025-11-20T08:00:00.000Z",
    "updated_at": "2026-02-14T10:30:00.000Z"
  }
}
```

## Escrita

| Campo         | Tipo                 | Observações                                                                     |
| ------------- | -------------------- | ------------------------------------------------------------------------------- |
| `name`        | string               | **obrigatório no POST**; não anulável                                           |
| `description` | string, anulável     |                                                                                 |
| `price`       | número ≥ 0, anulável |                                                                                 |
| `category`    | string, anulável     | **nome** da categoria, criada automaticamente se não existir; `null` remove     |
| `visible`     | booleano             | padrão `true`                                                                   |
| `recurring`   | booleano             | padrão `false`; define se o produto compõe o `recurring_amount` das negociações |

```bash
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"name":"Plano Mensal Premium","price":199.90,"category":"Assinatura","recurring":true}' \
  "https://app-api.atendeserver.com.br/v1/products"

curl -X PUT -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"price":219.90,"visible":false}' "https://app-api.atendeserver.com.br/v1/products/15"
```
