Editar item da oportunidade
Edita uma linha de item da oportunidade.
**Autenticação:** Bearer Token da API WBudget. O acesso aos dados respeita as permissões do usuário.
Esta operação substitui os dados da linha: envie todos os valores que deseja manter, obtidos na listagem de itens. itemId identifica a linha da oportunidade; item identifica o produto ou serviço. Retorna o objeto de itens atualizado.
### Parâmetros de caminho
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `id` | integer | Sim | ID da oportunidade. |
| `itemId` | integer | Sim | ID da linha da oportunidade. |
### Corpo da requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| `item` | integer | Não | ID do produto ou serviço vinculado à linha. |
| `qty` | number | Não | Quantidade; padrão 1. |
| `value` | number | Não | Preço unitário; padrão 0. |
| `description` | string | Não | Descrição; padrão vazio. |
| `order` | integer | Não | Ordem da linha; padrão 0. |
| `discount` | number | Não | Desconto monetário da linha, não percentual. Ex.: qty=2, value=100 e discount=10 resultam em 190 antes de outros ajustes comerciais. |
| `group` | string | Não | Grupo da linha. |
| `title` | string | Não | Título da linha. |
| `cost` | number | Não | Custo, conforme permissões. |
| `tax` | number | Não | Tributo conforme a configuração comercial. |
| `metadata` | object | Não | Campos personalizados da linha. |
| `changed_cols` | string | Não | Campos alterados, separados por vírgula; padrão value,qty,discount. |
### Exemplo de JSON enviado
```json
{
"item": 501,
"qty": 2,
"value": 100,
"description": "Serviço de implantação",
"order": 1,
"discount": 10,
"group": "Serviços",
"title": "Implantação",
"cost": 0,
"tax": 0,
"metadata": {},
"changed_cols": "value,qty,discount"
}
```
### Resposta
HTTP **200**. Os exemplos usam dados fictícios e mostram os campos principais; outros campos podem acompanhar a resposta. Campos sem valor podem ser nulos.
Campos principais de `data`:
| Campo | Tipo | Descrição |
|---|---|---|
| `items` | array<object> | Linhas da proposta. |
| `items[].id` | integer | ID da linha usado em itemId. |
| `items[].item` | integer | ID do produto ou serviço. |
| `items[].name` | string | Nome do produto ou serviço. |
| `items[].qty` | number | Quantidade. |
| `items[].value` | number | Preço unitário. |
| `items[].discount` | number | Desconto monetário da linha. |
| `items[].total_value` | number | Valor total da linha. |
| `items[].include` | integer | 1 inclui a linha no total. |
| `items[].active` | integer | 1 indica linha ativa. |
| `items[].item_type` | string | Tipo, como product ou service. |
| `items[].item_unit` | string | Unidade do item. |
| `items[].description` | string | Descrição; pode conter texto formatado serializado em JSON. |
| `items[].metadata` | object ou array | Campos personalizados. |
| `items_active_value` | number | Soma dos valores das linhas ativas incluídas no total. |
| `items_total_time` | number | Soma de horas dos serviços com unidade hour. |
```json
{
"data": {
"items": [
{
"id": 5001,
"item": 501,
"name": "Implantação",
"qty": 2,
"value": 100,
"discount": 10,
"total_value": 190,
"active": 1,
"include": 1,
"item_type": "service",
"item_unit": "un",
"description": null,
"metadata": []
}
],
"items_active_value": 190,
"items_total_time": 0
}
}
```
### Erros específicos
| HTTP | Código | Situação |
|---|---|---|
| 400 | `BUDGET_ITEM_SET_FAILED` | Não foi possível atualizar o item. |
Consulte a introdução da collection para o formato de erros e a configuração das variáveis.
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
id
ID da oportunidade.
itemId
ID da linha da oportunidade.
Request
This endpoint expects an object.
item
qty
value
description
order
discount
group
title
cost
tax
metadata
changed_cols
Response
OK
data
Errors
400
Bad Request Error
