---
title: "Listar produtos na negociação"
method: GET
path: "/deals/{deal_id}/products"
tags: ["crm-v2-deal-products"]
---

# Listar produtos na negociação

`GET /deals/{deal_id}/products`

## Request

- Base URL: `https://api.rd.services/crm/v2`
- URL: `https://api.rd.services/crm/v2/deals/{deal_id}/products`
- Auth: OAuth 2
  - Authorization code: `/oauth/authorize`
  - Token URL: `/oauth/token`

Listar produtos associados a uma negociação específica. É ideal para cenários onde é necessário obter os detalhes dos itens de uma venda, gerar um pedido ou sincronizar informações de carrinho de compras com o CRM.

Cada item pode incluir `deal_product_custom_fields`: o valor da linha e a definição congelada no momento em que o produto foi adicionado, não o catálogo atual do produto.

## Filtro

Propriedades disponíveis para filtro usando [RDQL](crm-v2-rdql-filtering).

| Propriedade | Tipo | Descrição |
| :--- | :--- | :--- |
| `product_id` | `String` | Filtra por um ID do produto. |

## Ordenação

Propriedades disponíveis para [ordenação](crm-v2-introduction#ordenação).

* `product_id`

## Path parameters

- `deal_id` string, required

## Query parameters

- `filter` string
- `sort` object
- `page` object
  - `number` integer: Número da página.
  - `size` integer: Tamanho da página.

## Response `200`

OK

- object
  - `data` object[]: Lista de recursos relacionados.
    - `id` string: Identificador único.
    - `price` number, float: Preço.
    - `quantity` number, float: Quantidade.
    - `discount_type` 'amount' | 'percentage': Tipo de desconto.
    - `discount` number, float: Desconto.
    - `total_price` number, float: Total da linha. Quando há campos personalizados `monetary`/`percentage` com `calculation_action` `add` ou `subtract` no snapshot, o valor já inclui esses ajustes.
    - `billing_frequency` 'one-time' | 'monthly' | 'annually': Recorrência.
    - `product_id` string: ID do produto.
    - `deal_product_custom_fields` DealProductCustomField[]: Campos personalizados do produto na negociação. Na resposta, cada item traz o valor da linha e a definição congelada no momento em que o produto foi adicionado à negociação — não o catálogo atual do produto. No envio, apenas `custom_field_id` e `value` são considerados, e o valor só é aplicado em campo que estava editável na negociação quando o produto foi adicionado. Campo não editável, ou que não existe no produto, é ignorado. Omitir o array mantém os valores já gravados na linha.
      - `custom_field_id` string: Identificador do campo personalizado de produto.
      - `value` unknown
      - `label` string: Nome do campo no momento em que o produto foi adicionado.
      - `type` string: Tipo do campo no momento em que o produto foi adicionado.
      - `opts` string[]: Opções do campo no momento em que o produto foi adicionado.
      - `editable_on_deal` boolean: Se o valor podia ser alterado na linha da negociação.
      - `allow_new` boolean: Se o campo permitia nova opção no momento em que o produto foi adicionado. A opção nova entra no snapshot da linha e, se o campo ainda existir, também no catálogo do produto.
      - `slug` string: Slug do campo no momento em que o produto foi adicionado.
      - `calculation_action` 'none' | 'add' | 'subtract': Ação de cálculo no total da linha no momento em que o produto foi adicionado (`none`, `add` ou `subtract`).
    - `created_at` string, date-time: Data de criação.
    - `updated_at` string, date-time: Data de atualização.
  - `links` object: Links de navegação da paginação.
    - `first` string, uri: Link para a primeira página.
    - `prev` string, uri: Link para a página anterior.
    - `self` string, uri: Link para a página atual.
    - `next` string, uri: Link para a próxima página.
    - `last` string, uri: Link para a última página.

## Other responses

- `400`: A requisição está malformada e não consegue ser processada.
- `401`: O token da API está ausente ou inválido.
- `403`: O token não tem permissão para acessar o recurso solicitado.
- `429`: O limite de requisições foi excedido.
- `500`: Erro interno ou inesperado no servidor.

---

[API](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2.md) - [All operations](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/rdstation/apis/rd-station-crm-api-v2/revisions/10d0a25b8c54?raw)
