Gerar Relatório Socioambiental
Descrição: Gera um relatório pré-invoice de compliance socioambiental (ESG) a partir de um CAR ou CPF/CNPJ do produtor, 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/socioambiental
Regras
| Atributos | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| car | Código CAR do imóvel | String | Condicional | Pelo menos um entre car e producer_document deve ser preenchido |
| producer_name | Nome do produtor | String | Não | |
| producer_document | CPF ou CNPJ do produtor | String | Condicional | Pelo menos um entre car e producer_document deve ser preenchido. 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/socioambiental"
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/socioambiental"))
.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/socioambiental',
{
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/socioambiental"
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 | Condicional | Pelo menos um entre car e producer_document deve ser preenchido |
| producer_name | Nome do produtor | String | Não | |
| producer_document | CPF ou CNPJ do produtor | String | Condicional | Pelo menos um entre car e producer_document deve ser preenchido. 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 |
| esg_status_summary | Status consolidado de conformidade socioambiental. Valores: "CONFORME", "NAO_CONFORME", "NAO_ENCONTRADO", "PROCESSANDO" | Enum |
| esg_status_farms | Status consolidado das fazendas. Valores: "CONFORME", "NAO_CONFORME", "NAO_ENCONTRADO", "PROCESSANDO" | Enum |
| 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_esg | Dados ESG do produtor | Object |
| producer_data_esg.document | CPF ou CNPJ | String |
| producer_data_esg.name | Nome do produtor | String |
| producer_data_esg.total_issues | Total de apontamentos do produtor | Number |
| producer_data_esg.esg_status | Status ESG do produtor | Enum |
| layer_data_producer | Camadas de análise do produtor | Array |
| esg | Lista de resultados por propriedade (CAR) | Array |
| esg.property_data | Dados da propriedade | Object |
| esg.property_data.car | Código CAR | String |
| esg.property_data.area | Área do imóvel (ha) | Number |
| esg.property_data_esg | Dados ESG da propriedade | Object |
| esg.property_data_esg.esg_status | Status ESG da propriedade | Enum |
| esg.property_data_esg.total_issues | Total de apontamentos da propriedade | Number |
| esg.layer_data | Camadas de análise da propriedade | 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": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"cooperative_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"cooperative_name": "Cooperativa Exemplo",
"esg_status_summary": "NAO_CONFORME",
"esg_status_farms": "NAO_CONFORME",
"producer_data": {
"producer_id": null,
"document": "00000000000",
"name": "Nome do Produtor"
},
"producer_data_esg": {
"document": "00000000000",
"name": "Nome do Produtor",
"total_issues": 0,
"esg_status": "CONFORME"
},
"layer_data_producer": [...],
"esg": [...]
}
- 400 - Bad Request
{
"messages": ["message.entidade.campo-inválido"]
}
401 - Unauthorized
404 - NotFound