Gerar Relatório EUDR
Descrição: Gera um relatório pré-invoice de compliance EUDR (Regulamento de Desmatamento da União Europeia) a partir de um CAR, de forma síncrona. O relatório é processado por completo e retornado na mesma resposta HTTP, com timeout máximo de 30 segundos.
Endpoint
POST/api/v1/integration/eudr
Regras
| Atributos | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| car | Código CAR do imóvel | String | Sim | |
| producer_name | Nome do produtor | String | Sim | |
| producer_document | CPF ou CNPJ do produtor | String | Sim | Com ou sem pontuação |
Exemplo de Requisição
- cURL
- Java
- JavaScript
- Python
curl -X POST \
-H "Authorization: {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"car": "MT-5107925-A1B2C3D4E5F6",
"producer_name": "Nome do Produtor",
"producer_document": "00000000000"
}' \
"https://api.merx.tech/api/v1/integration/eudr"
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String body = "{\"car\": \"MT-5107925-A1B2C3D4E5F6\", \"producer_name\": \"Nome do Produtor\", \"producer_document\": \"00000000000\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.merx.tech/api/v1/integration/eudr"))
.header("Authorization", "{SUA_API_KEY}")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpClient client = HttpClient.newHttpClient();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
const response = await fetch(
'https://api.merx.tech/api/v1/integration/eudr',
{
method: 'POST',
headers: {
'Authorization': '{SUA_API_KEY}',
'Content-Type': 'application/json',
},
body: JSON.stringify({
car: 'MT-5107925-A1B2C3D4E5F6',
producer_name: 'Nome do Produtor',
producer_document: '00000000000',
}),
}
);
const data = await response.json();
console.log(data);
import requests
url = "https://api.merx.tech/api/v1/integration/eudr"
headers = {
"Authorization": "{SUA_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"car": "MT-5107925-A1B2C3D4E5F6",
"producer_name": "Nome do Produtor",
"producer_document": "00000000000"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Parâmetros
Parâmetros de Cabeçalho
| Nome | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| Authorization | Chave de API obtida via support-api@merx.tech | String | Sim |
| Content-Type | application/json | String | Sim |
Parâmetros do Corpo
| Nome | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| car | Código CAR do imóvel | String | Sim | |
| producer_name | Nome do produtor | String | Sim | |
| producer_document | CPF ou CNPJ do produtor | String | Sim | Com ou sem pontuação |
Dicionário de dados
| Nome | Descrição | Tipo |
|---|---|---|
| status | Status do processamento do relatório. Valores: "GENERATED", "PROCESSING", "GENERATING_REPORT", "UPDATING_CAR", "ERROR", "ERROR_TIMEOUT", "ERROR_UPDATING" | Enum |
| processing_date | Data de processamento do relatório | DateTime |
| created_at | Data de criação do relatório | DateTime |
| report_request_id | Identificador único do relatório gerado | UUID |
| cooperative_id | ID da cooperativa | UUID |
| cooperative_name | Nome da cooperativa | String |
| commitment_id | ID da negociação vinculada (quando aplicável) | UUID |
| report_integration_id | ID de integração do relatório | UUID |
| external_id | Identificador externo do relatório (não-anonimizado), utilizado para compartilhamento público | UUID |
| eu_status_summary | Status consolidado de conformidade EUDR. Valores: "CONFORME", "NAO_CONFORME", "NAO_ENCONTRADO", "PROCESSANDO" | Enum |
| eu_status_farms | Status consolidado das fazendas. Valores: "CONFORME", "NAO_CONFORME", "NAO_ENCONTRADO", "PROCESSANDO" | Enum |
| extracted_related_farms | Indica se fazendas relacionadas foram extraídas | Boolean |
| prodes_source | Fonte do PRODES utilizada. Valores: "AMAZONIA_LEGAL", "BIOMA_AMAZONIA" | Enum |
| forest_loss_data | Dados de perda florestal | Object |
| forest_loss_data.total_area | Área total desmatada (ha) | Number |
| producer_data | Dados do produtor | Object |
| producer_data.producer_id | ID do produtor | UUID |
| producer_data.document | CPF ou CNPJ do produtor | String |
| producer_data.name | Nome do produtor | String |
| producer_data.dap_code | Código DAP | String |
| producer_data.caf_code | Código CAF | String |
| producer_data.ricaf_code | Código RiCAF | String |
| producer_data_eu | Dados EUDR do produtor | Object |
| producer_data_eu.document | CPF ou CNPJ | String |
| producer_data_eu.name | Nome do produtor | String |
| eu | Lista de resultados por propriedade (CAR) | Array |
| eu.id_report | ID do relatório da propriedade | UUID |
| eu.farm_id | ID da fazenda | UUID |
| eu.property_data | Dados da propriedade | Object |
| eu.property_data.farm_name | Nome da fazenda | String |
| eu.property_data.car | Código CAR | String |
| eu.property_data.area | Área do imóvel (ha) | Number |
| eu.property_data.geometry | Geometria do imóvel (WKT) | String |
| eu.property_data.centroid | Centróide da geometria | String |
| eu.property_data.latitude | Latitude | Number |
| eu.property_data.longitude | Longitude | Number |
| eu.property_data.address | Endereço da propriedade | Object |
| eu.property_data.address.city | Cidade | String |
| eu.property_data.address.state | Estado | String |
| eu.property_data.car_status | Status do CAR. Valores: "AT", "CA", "SU", "PE" | Enum |
| eu.property_data.car_status_updated_at | Data de atualização do status do CAR | DateTime |
| eu.property_data_eu | Dados EUDR da propriedade | Object |
| eu.property_data_eu.farm_name | Nome da fazenda | String |
| eu.property_data_eu.car | Código CAR | String |
| eu.property_data_eu.eu_status | Status EUDR da propriedade. Valores: "CONFORME" ou "NAO_CONFORME" | Enum |
| eu.property_data_eu.total_issues | Total de apontamentos da propriedade | Number |
| eu.car_declaration_sigef | Dados da declaração CAR/SIGEF | Object |
| eu.layer_data | Camadas de análise EUDR da propriedade | Array |
| eu.layer_data.layer_esg_enum | Identificador da camada | String |
| eu.layer_data.layer_name | Nome da camada/órgão fiscalizador | String |
| eu.layer_data.layer_updated_at | Data de atualização da camada | DateTime |
| eu.layer_data.esg_status | Status EUDR da camada. Valores: "CONFORME" ou "NAO_CONFORME" | Enum |
| eu.layer_data.total_area | Área total afetada (ha) | Number |
| eu.layer_data.total_issues | Total de apontamentos na camada | Number |
| eu.prodes_layer_data | Camadas PRODES de análise de desmatamento | Array |
Respostas
- 200 - Ok
{
"status": "GENERATED",
"processing_date": "2026-03-11T14:30:00-03:00",
"created_at": "2026-03-11T14:30:00.000+00:00",
"report_request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"cooperative_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cooperative_name": "Cooperativa Exemplo",
"commitment_id": null,
"report_integration_id": "c3d4e5f6-7890-1234-abcd-ef5678901234",
"external_id": "f6a7b8c9-0123-4567-efgh-i89012345678",
"eu_status_summary": "NAO_CONFORME",
"eu_status_farms": "NAO_CONFORME",
"extracted_related_farms": false,
"prodes_source": "BIOMA_AMAZONIA",
"anonimyzed": false,
"forest_loss_data": {
"total_area": 0.319
},
"producer_data": {
"producer_id": null,
"document": "00000000000",
"name": "Nome do Produtor",
"dap_code": null,
"caf_code": null,
"ricaf_code": null
},
"producer_data_eu": {
"document": "00000000000",
"name": "Nome do Produtor"
},
"layer_data_producer": [],
"eu": [...]
}
- 400 - Bad Request
{
"messages": ["message.entidade.campo-inválido"]
}
401 - Unauthorized
404 - NotFound