Este serviço web permite ajustar a quantidade real utilizada (real_qty_used) de um recurso de inventário de uma tarefa de ordem de serviço, de forma independente da quantidade entregue. Funciona tanto para almoxarifados integrados quanto não integrados, desde que o recurso já tenha uma entrega registrada e o novo valor seja menor ou igual à quantidade entregue.
Ao aplicar a alteração, o custo total do recurso é recalculado como real_qty_used × custo unitário. A quantidade entregue, o custo unitário e o estoque do almoxarifado não são modificados.
Parâmetros de entrada
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
code_warehouse | texto | Sim | Código do almoxarifado do qual o recurso foi entregue. |
code_item | texto | Sim | Código do item (peça ou ferramenta) associado ao recurso da tarefa. |
output_order | texto | Sim | Número da ordem de saída com a qual o recurso foi entregue no almoxarifado. |
real_qty_used | número | Sim | Nova quantidade real utilizada. Deve ser maior ou igual a 0 e menor ou igual à quantidade entregue. Aceita decimais. |
Regras de uso
- O recurso deve ter uma entrega prévia registrada (quantidade entregue maior que
0).- O recurso é identificado pela combinação de
code_warehouse,code_itemeoutput_order.- Em almoxarifados integrados com a opção de quantidades zeradas por integração externa ativa, o ajuste manual da quantidade real utilizada não é permitido e a solicitação é rejeitada com
CHECK_WAREHOUSES_MODULE_CONFIGURATION. Esta validação tem prioridade sobre a comparação com a quantidade entregue.- Se duas solicitações sobre o mesmo recurso chegarem quase ao mesmo tempo, prevalece a última a ser processada.
- O token deve ter permissão de edição sobre este serviço. Caso contrário, a API responde
401.
Parâmetros de saída
| Parâmetro | Tipo | Descrição |
|---|---|---|
success | booleano | true se a quantidade real utilizada foi atualizada com sucesso. |
message | texto | Código de resultado. 200 se a operação foi bem-sucedida. |
data | array | null em caso de sucesso. Em caso de erro, contém um objeto com o campo ERROR que descreve a causa. |
total | inteiro | 1 se o recurso foi atualizado. 0 em caso de erro. |
Erros
| Código | Causa |
|---|---|
400 | REAL_QTY_CANT_BE_MAJOR_THAN_DELIVERED_QTY: real_qty_used é negativo ou maior que a quantidade entregue. |
400 | CHECK_WAREHOUSES_MODULE_CONFIGURATION: o almoxarifado é integrado e tem ativa a opção de quantidades zeradas por integração externa. Revise a configuração do módulo Almoxarifados. |
404 | Falta algum dos campos obrigatórios (code_warehouse, code_item, output_order ou real_qty_used). |
404 | O almoxarifado, o item ou a ordem de saída informados não existem, ou a combinação não corresponde a um recurso válido. |
404 | O recurso não possui uma entrega prévia registrada. |
401 | Token inválido (INVALID_TOKEN) ou sem permissão sobre o serviço (UNAUTHORIZED_ENDPOINT). |
Nota sobre os códigos de erroEste serviço retorna
message: "404"quando falta um campo obrigatório, quando o almoxarifado, o item ou a ordem de saída não são encontrados, e quando o recurso não possui uma entrega prévia. As validações sobre o valor dereal_qty_usede sobre a configuração do almoxarifado retornammessage: "400".
Exemplo
Request body
{
"code_warehouse": "ALM-001",
"code_item": "REP-0045",
"output_order": "12",
"real_qty_used": 7
}Response 200
200{
"success": true,
"message": "200",
"data": null,
"total": 1
}Response — Quantidade maior que a entregue (400)
400){
"success": false,
"message": "400",
"data": [
{
"ERROR": "REAL_QTY_CANT_BE_MAJOR_THAN_DELIVERED_QTY"
}
],
"total": 0
}Response — Almoxarifado integrado com ajuste manual não permitido (400)
400){
"success": false,
"message": "400",
"data": [
{
"ERROR": "CHECK_WAREHOUSES_MODULE_CONFIGURATION"
}
],
"total": 0
}Response — Recurso sem entrega prévia (404)
404){
"success": false,
"message": "404",
"data": [
{
"ERROR": "A previous delivery (qty_delivered > 0) is required before adjusting real_qty_used"
}
],
"total": 0
}Response — Campo obrigatório ausente (404)
404){
"success": false,
"message": "404",
"data": [
{
"ERROR": "output_order is required"
}
],
"total": 0
}