====== POST - Ajuste de Saldo de Estoque ======
Este método recebe da Beestock os **ajustes de inventário e as movimentações internas** feitas no armazém. Conforme os depósitos informados, o ERP grava um ajuste a mais, um ajuste a menos ou uma transferência entre locais de estoque.
/api/beestock/stockAdjustment
===== Exemplo URL =====
:/api/beestock/stockAdjustment
===== Parâmetros do Header =====
|auth|Token adquirido no [[..:primeirospassos:login|]].|
===== Exemplo de Body =====
{
"adjustments": [
{ "type": "AJUSTE", "branchCode": "1", "depositIn": "12", "productCode": "MP-001234", "quantity": 5, "orderNumber": "200" },
{ "type": "AJUSTE", "branchCode": "1", "depositOut": "12", "productCode": "MP-004455", "quantity": 3, "orderNumber": "INV-201" },
{ "type": "TRANSFERENCIA", "branchCode": "1", "depositOut": "12", "depositIn": "15", "productCode": "MP-007788", "quantity": 5, "orderNumber": "202" }
]
}
==== Explicação dos campos do Body ====
^ Nome ^ Tipo ^ Obrigatório ^ Descrição ^
| adjustments | Lista | Sim | Ajustes realizados. Pelo menos um. |
| type | String | Sim | Tipo da movimentação na Beestock. É gravado no complemento do movimento, mas não define a regra aplicada. |
| branchCode | String | Sim | Código do estabelecimento na Beestock. Precisa ser informado, mas não é usado na gravação. |
| productCode | String | Sim | Código editável do material no ERP. |
| orderNumber | String | Sim | Número do documento na Beestock. Deve conter um número maior que zero; apenas os dígitos são gravados (''INV-201'' é gravado como 201). |
| quantity | Decimal | Sim | Quantidade ajustada. Deve ser maior que zero. |
| depositOut | String | Um dos dois | Código numérico do local de estoque de saída. |
| depositIn | String | Um dos dois | Código numérico do local de estoque de entrada. |
===== Tipo de Movimentação =====
A regra aplicada depende apenas dos depósitos preenchidos:
^ Depósitos informados ^ O que o ERP faz ^ Parâmetro ^
| Só ''depositIn'' | Ajuste a mais no local de entrada. | ''BEESTOCK-TIPOMOV-AJUSTE-MAIS'' |
| Só ''depositOut'' | Ajuste a menos no local de saída. O saldo do local precisa ser suficiente. | ''BEESTOCK-TIPOMOV-AJUSTE-MENOS'' |
| ''depositOut'' e ''depositIn'' | Transferência do local de saída para o local de entrada. Os dois precisam ser diferentes. | ''BEESTOCK-TIPOMOV-TRANSF'' |
===== Regras e Observações =====
* Os ajustes a mais e a menos são gravados primeiro. As transferências só são gravadas se todos os ajustes forem aceitos.
* O método não trata lote nem validade.
* Em caso de sucesso, **novoCodigo** traz os códigos dos movimentos gerados, separados por "; ".
Os parâmetros de tipo de movimento correspondentes a cada caso precisam estar configurados. Sem eles, o ajuste é recusado.
===== Exemplos de Retorno =====
=== Sucesso ===
{
"bemSucedido": true,
"mensagemFalha": null,
"novoCodigo": "1045; 1046; 1047",
"dados": null,
"retorno": "Arquivo recebido com sucesso!"
}
=== Falha ===
Retorna **400**:
{
"bemSucedido": false,
"mensagemFalha": "Depósito de entrada '77' inexistente no Prosyst (produto MP-001234, documento 200).",
"novoCodigo": null,
"dados": null,
"retorno": "Depósito de entrada '77' inexistente no Prosyst (produto MP-001234, documento 200)."
}