Skip to main content

Processar Saldos de Produtores em Lote

Descrição: Processa uma lista de saldos de produtores. Comportamento de rollback total: se qualquer item falhar na validação, nenhum item é processado.

Endpoint

POST/api/v1/integration/balances/batch

Regras

AtributosDescriçãoTipoObrigatórioValidações
(root)Lista de saldosArraySimNão pode ser array vazio
[].cpf_cnpjCPF (11 dígitos) ou CNPJ (14 dígitos) do produtorStringSimDeve ser um CPF ou CNPJ válido (com verificação de dígito)
[].cropsLista de culturas com saldosArraySimNão pode ser nulo ou vazio
[].crops[].nameNome da cultura (ex: SOJA, MILHO)StringSimNão pode ser vazio ou nulo
[].crops[].deposit_balance_tonSaldo em depósito (toneladas)NumberSimDeve ser maior ou igual a zero
[].crops[].to_fix_balance_tonSaldo a fixar (toneladas)NumberSimDeve ser maior ou igual a zero
[].crops[].total_balance_tonSaldo total (toneladas)NumberSimDeve ser maior ou igual a zero

Exemplo de Requisição

Exemplo de Requisição
curl -X POST "https://homolog.api.merx.tech/api/v1/integration/balances/batch" \
-H "Content-Type: application/json" \
-d '[
{
"cpf_cnpj": "52998224725",
"crops": [
{
"name": "SOJA",
"deposit_balance_ton": 100,
"to_fix_balance_ton": 200,
"total_balance_ton": 300
}
]
},
{
"cpf_cnpj": "12345678000195",
"crops": [
{
"name": "MILHO",
"deposit_balance_ton": 50,
"to_fix_balance_ton": 100,
"total_balance_ton": 150
}
]
}
]'

Parâmetros

Parâmetros de Cabeçalho

NomeDescriçãoTipoObrigatório
Content-TypeDeve ser application/jsonStringSim

Parâmetros do Corpo

Array de objetos de saldo. Cada objeto segue a mesma estrutura do endpoint singular.

NomeDescriçãoTipoObrigatório
[].cpf_cnpjCPF ou CNPJ do produtorStringSim
[].cropsLista de culturas com saldosArraySim
[].crops[].nameNome da culturaStringSim
[].crops[].deposit_balance_tonSaldo em depósito (toneladas)NumberSim
[].crops[].to_fix_balance_tonSaldo a fixar (toneladas)NumberSim
[].crops[].total_balance_tonSaldo total (toneladas)NumberSim

Respostas

  • 200 - OK

Response sem body (HTTP 200 com corpo vazio).

  • 400 - Bad Request
{
"messages": [
"descricao do erro 1",
"descricao do erro 2"
]
}
CenárioMensagem de erro
Array vaziobatch cannot be empty
CPF/CNPJ inválido em itemItem at index {n}: cpf_cnpj is invalid
Array crops vazio em itemItem at index {n}: crops cannot be empty

Nota: O índice é zero-based (o primeiro item é index 0). Se múltiplos itens possuem erros, todos são reportados. O rollback é total: se qualquer item falhar, nenhum item é processado.

  • 415 - Unsupported Media Type

Content-Type diferente de application/json.