Registrar Entregas em Lote
Descrição: Registra uma lista de entregas. Comportamento de rollback total: se qualquer item falhar na validação, nenhum registro é criado.
Endpoint
POST/api/v1/integration/deliveries/batch
Regras
| Atributos | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| (root) | Lista de entregas | Array | Sim | Não pode ser array vazio |
[].contract_id | Identificador do contrato | String | Sim | Não pode ser vazio ou nulo |
[].delivered_volume | Volume entregue | Number | Sim | Deve ser maior que zero |
[].delivered_volume_unit_of_measure | Unidade de medida do volume | String (enum) | Sim | Valores aceitos: kg, sc, ton |
[].delivery_date | Data da entrega | String | Sim | Formato obrigatório: YYYY-MM-DD |
[].car | Código CAR (Cadastro Ambiental Rural) | String | Não | - |
Exemplo de Requisição
Exemplo de Requisição
curl -X POST "https://homolog.api.merx.tech/api/v1/integration/deliveries/batch" \
-H "Content-Type: application/json" \
-d '[
{
"contract_id": "000122",
"delivered_volume": 10,
"delivered_volume_unit_of_measure": "ton",
"delivery_date": "2026-03-02"
},
{
"contract_id": "000123",
"delivered_volume": 500,
"delivered_volume_unit_of_measure": "sc",
"delivery_date": "2026-03-03",
"car": "GO-5201405-XYZ987"
}
]'
Parâmetros
Parâmetros de Cabeçalho
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| Content-Type | Deve ser application/json | String | Sim |
Parâmetros do Corpo
Array de objetos de entrega. Cada objeto segue a mesma estrutura do endpoint singular.
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
[].contract_id | Identificador do contrato | String | Sim |
[].delivered_volume | Volume entregue | Number | Sim |
[].delivered_volume_unit_of_measure | Unidade de medida do volume | String (enum) | Sim |
[].delivery_date | Data da entrega (formato YYYY-MM-DD) | String | Sim |
[].car | Código CAR (Cadastro Ambiental Rural) | String | Não |
Respostas
- 201 - Created
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"contract_id": "000122",
"delivered_volume": 10,
"delivered_volume_unit_of_measure": "ton",
"delivery_date": "2026-03-02"
},
{
"id": "f1e2d3c4-b5a6-7890-abcd-ef0987654321",
"contract_id": "000123",
"delivered_volume": 500,
"delivered_volume_unit_of_measure": "sc",
"delivery_date": "2026-03-03",
"car": "GO-5201405-XYZ987"
}
]
- 400 - Bad Request
{
"messages": [
"descricao do erro 1",
"descricao do erro 2"
]
}
| Cenário | Mensagem de erro |
|---|---|
| Array vazio | batch cannot be empty |
| Item inválido (identifica índice) | Item at index {n}: delivered_volume must be greater than zero |
| Unidade inválida em item | Item at index {n}: delivered_volume_unit_of_measure must be one of: kg, sc, ton |
Nota: O índice é zero-based (o primeiro item é index 0). O rollback é total: se qualquer item falhar, nenhum registro é criado.
- 415 - Unsupported Media Type
Content-Type diferente de application/json.