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

# API do CRM | Produtos

> **[Run in Postman](https://app.getpostman.com/run-collection/b4ad6241d1138c449a57)**

> **Requisitos de escopo**

# Produtos

No HubSpot, produtos consistem nas mercadorias ou nos serviços que você vende. A criação de uma [biblioteca de produtos](https://knowledge.hubspot.com/pt/products/create-and-manage-products) permite adicionar produtos aos negócios, gerar orçamentos e criar relatórios de desempenho do produto com rapidez. Os pontos de extremidade dos produtos permitem gerenciar esses dados e sincronizá-los entre o HubSpot e outros sistemas.

Os produtos, assim como as empresas, os contatos, os negócios, os tickets, os itens de linha e os orçamentos, são objetos no HubSpot CRM. Saiba mais sobre propriedades de objeto, associações, relacionamentos e muito mais em nosso guia [Noções básicas do CRM](https://br.developers.hubspot.com/docs/guides/crm/understanding-the-crm).

**Exemplo de caso de uso:** para que os representantes de vendas possam adicionar com facilidade bens e serviços a negócios, orçamentos e muito mais, use a API de produtos para importar seu catálogo de produtos para o HubSpot.

## Criar um produto

Para criar um produto, execute uma solicitação `POST` para `crm/v3/objects/products`. No corpo da solicitação, inclua um objeto `properties` contendo as propriedades de produto que você deseja definir ao criar. Posteriormente, você poderá atualizar as propriedades de um produto por meio de uma solicitação `PATCH` para o mesmo ponto de extremidade.

Para ver todas as propriedades disponíveis do produto, execute uma solicitação `GET` para a [API de propriedades](https://br.developers.hubspot.com/docs/api-reference/crm-properties-v3/guide.md). Para recuperar as propriedades do produto, o URL da solicitação será `/crm/v3/properties/products`.

```json theme={null}
{
  "properties": {
    "name": "Implementation Service",
    "price": "6000.00",
    "hs_sku": "123456",
    "description": "Onboarding service for data product",
    "hs_cost_of_goods_sold": "600.00",
    "hs_recurring_billing_period": "P12M"
  }
}
```

> [!NOTE]
>
> Observe que o valor de `hs_recurring_billing_period` é formatado como `P#M`, onde # é o número de meses.

## Associar produtos

Os produtos em si não podem ser associados a outros objetos do CRM. No entanto, para associar as informações de um produto a uma oferta ou orçamento, você pode criar um [item de linha](https://br.developers.hubspot.com/docs/api-reference/crm-line-items-v3/guide.md) com base nesse produto. Os itens de linha são instâncias individuais de produtos e são objetos separados dos produtos para que você possa personalizar os bens e serviços em um negócio ou orçamento, conforme necessário, sem a necessidade de atualizar o produto em si.

Por exemplo, ao criar um negócio em que um dos seus produtos é vendido, primeiro crie um item de linha a partir do produto e, em seguida, associe-o ao negócio. Você pode fazer isso executando duas chamadas separadas, ou uma chamada que cria e associa o item de linha. Ambas as opções são mostradas abaixo.

> [!WARNING]
>
> ### Observação:
>
> Os itens de linha pertencem a um único objeto principal. Ao associar objetos, os itens de linha devem ser individuais para cada objeto. Por exemplo, se estiver criando um negócio e um orçamento, você deverá criar um conjunto de itens de linha para o negócio e outro conjunto para o orçamento. Isso ajudará a otimizar os dados do CRM em todos os objetos e evitará a perda inesperada de dados se for necessário modificar os itens de linha. Por exemplo, excluir um orçamento também excluirá os itens de linha do orçamento. Se esses itens de linha também estiverem associados a um negócio, os itens de linha do negócio também serão excluídos.

### Criar e associar um item de linha (várias chamadas)

Primeiro, você criará um item de linha com base em um produto com o ID `1234567`. Para obter a lista completa das propriedades de item de linha disponíveis, execute uma solicitação `GET` para a [API de propriedades](https://br.developers.hubspot.com/docs/api-reference/crm-properties-v3/guide.md). O URL dos itens de linha seria `crm/v3/properties/line_items`. Como você cria o item de linha a partir de um produto existente, ele herda os valores de propriedade do produto, como preço.

```json theme={null}
{
  "properties": {
    "quantity": 1,
    "hs_object_id": "1234567", //the object ID of the product
    "name": "New line item (product-based)"
  }
}
```

A resposta retornará um ID de item de linha que você pode usar para associá-lo a um negócio usando a [API de associações](https://br.developers.hubspot.com/docs/api-reference/crm-associations-v4/guide.md). Para este exemplo, suponha que o ID do item de linha retornado seja `7791176460`.

Para associar o item de linha a um negócio existente (ID: `14795354663`), você executará uma solicitação `PUT` para `/crm/v4/objects/line_items/7791176460/associations/default/deals/14795354663`. Esta solicitação usa o tipo de associação padrão.

Uma resposta `200` retornará informações semelhantes às seguintes:

```json theme={null}
{
  "status": "COMPLETE",
  "results": [
    {
      "from": {
        "id": "14795354663"
      },
      "to": {
        "id": "7791176460"
      },
      "associationSpec": {
        "associationCategory": "HUBSPOT_DEFINED",
        "associationTypeId": 19
      }
    },
    {
      "from": {
        "id": "7791176460"
      },
      "to": {
        "id": "14795354663"
      },
      "associationSpec": {
        "associationCategory": "HUBSPOT_DEFINED",
        "associationTypeId": 20
      }
    }
  ],
  "startedAt": "2023-12-21T20:06:52.083Z",
  "completedAt": "2023-12-21T20:06:52.192Z"
}
```

No HubSpot, o registro do negócio exibirá o item de linha no cartão *Itens de linha*.

![deal-record-line-item-association](https://br.hubspot.com/hubfs/Knowledge_Base_2023/deal-record-line-item-association.png)

### Criar e associar um item de linha (chamada única)

Para criar um item de linha a partir de um produto existente e associá-lo a um negócio usando uma única chamada, você pode incluir uma matriz `associations` na solicitação de criação de item de linha.

Para criar o item de linha, execute uma solicitação `POST` para `crm/v3/objects/line_item`. O corpo da sua solicitação será semelhante ao mostrado a seguir. Observe que o `associationTypeId` da associação de item de linha/negócio é `20`. Saiba mais sobre os [tipos de associação entre diferentes tipos de registos do CRM](https://br.developers.hubspot.com/docs/api-reference/crm-associations-v4/guide.md#association-type-id-values).

```json theme={null}
{
  "properties": {
    "quantity": 1,
    "hs_object_id": "1234567", //the object ID of the product
    "name": "New line item (product-based)"
  },
  "associations": [
    {
      "to": {
        "id": "14795354663"
      },
      "types": [
        {
          "associationCategory": "HUBSPOT_DEFINED",
          "associationTypeId": 20
        }
      ]
    }
  ]
}
```

Uma resposta `200` retornará detalhes sobre o novo item de linha. No HubSpot, o registro do negócio exibirá o item de linha no cartão *Itens de linha*.

![deal-record-line-item-association](https://br.hubspot.com/hubfs/Knowledge_Base_2023/deal-record-line-item-association.png)
