Editar item da oportunidade

View as Markdown
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

idstringRequired
ID da oportunidade.
itemIdstringRequired
ID da linha da oportunidade.

Request

This endpoint expects an object.
itemintegerRequired
qtyintegerRequired
valueintegerRequired
descriptionstringRequired
orderintegerRequired
discountintegerRequired
groupstringRequired
titlestringRequired
costintegerRequired
taxintegerRequired
metadataobjectRequired
changed_colsstringRequired

Response

OK
dataobject

Errors

400
Bad Request Error