Resumo ESG consolidado por CAR
Descricao: Devolve o resumo de conformidade socioambiental de uma propriedade, com a contagem de apontamentos por camada de analise, a partir do codigo do CAR.
Qual endpoint usar: este devolve o consolidado com um campo fixo por camada de analise, independente do template ESG da cooperativa. Para o resumo restrito as camadas habilitadas no template, use Status ESG por CAR.
Endpoint
Regras
| Atributos | Descricao | Tipo | Obrigatorio | Validacoes |
|---|---|---|---|---|
| car | Codigo do Cadastro Ambiental Rural | String | Sim | Sem validacao de formato. CAR sem analise registrada resulta em 404 |
Importante: nao envie o header
cooperative-id. Ele e injetado automaticamente pelo API gateway a partir do token. Qualquer valor enviado pelo cliente e ignorado ou sobrescrito.
Exemplo de Requisicao
- cURL
- Java
- JavaScript
- Python
- SDK Java
curl -X GET \
-H "Authorization: {SUA_API_KEY}" \
"https://api.merx.tech/api/v1/integration/esg/cars/MT-5107925-A1B2C3D4E5F6:resume"
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.merx.tech/api/v1/integration/esg/cars/MT-5107925-A1B2C3D4E5F6:resume"))
.header("Authorization", "{SUA_API_KEY}")
.GET()
.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/esg/cars/MT-5107925-A1B2C3D4E5F6:resume',
{
method: 'GET',
headers: {
'Authorization': '{SUA_API_KEY}',
},
}
);
const data = await response.json();
console.log(data);
import requests
url = "https://api.merx.tech/api/v1/integration/esg/cars/MT-5107925-A1B2C3D4E5F6:resume"
headers = {
"Authorization": "{SUA_API_KEY}"
}
response = requests.get(url, headers=headers)
print(response.json())
// SDK Java oficial (tech.merx.sdk). Instalacao e setup do MerxClient: secao "SDK Java".
import com.merx.sdk.api.MerxClient;
import com.merx.sdk.core.Environment;
MerxClient merx = MerxClient.builder()
.apiKey("{SUA_API_KEY}")
.environment(Environment.SANDBOX)
.build();
var resume = merx.esg().findResumeByCar("MT-5107925-A1B2C3D4E5F6").orElseThrow();
System.out.println(resume.getEsgStatus());
Parametros
Parametros de Caminho
| Nome | Descricao | Tipo | Obrigatorio |
|---|---|---|---|
| car | Codigo do Cadastro Ambiental Rural | String | Sim |
Parametros de Cabecalho
| Nome | Descricao | Tipo | Obrigatorio |
|---|---|---|---|
| Authorization | Chave de API obtida via support-api@merx.tech | String | Sim |
Respostas
- 200 - Ok
{
"esg_status": "NAO_CONFORME"
}
Campos sem valor sao omitidos, e na pratica a maior parte das contagens costuma vir omitida: uma propriedade
sem apontamento registrado devolve apenas esg_status. Trate a ausencia da chave como zero, nao como erro.
Dicionario de dados
| Nome | Descricao | Tipo |
|---|---|---|
| car_imovel | Codigo do CAR consultado | String |
| municipio | Municipio do imovel | String |
| uf | UF do imovel | String |
| area_imovel | Area do imovel em hectares | Number |
| qtd_apontamentos_assentamentos | Apontamentos de assentamentos do INCRA | Number |
| qtd_apontamentos_embargos_ibama | Apontamentos de embargo do IBAMA | Number |
| qtd_apontamentos_embargos_sema | Apontamentos de embargo da SEMA | Number |
| qtd_apontamentos_embargos_sema_pa | Apontamentos de embargo da SEMA-PA | Number |
| qtd_apontamentos_embargos_icmbio | Apontamentos de embargo do ICMBio | Number |
| qtd_apontamentos_prodes | Apontamentos do PRODES (Amazonia) | Number |
| qtd_apontamentos_prodes_caatinga | Apontamentos do PRODES Caatinga | Number |
| qtd_apontamentos_prodes_cerrado | Apontamentos do PRODES Cerrado | Number |
| qtd_apontamentos_prodes_mata_atlantica | Apontamentos do PRODES Mata Atlantica | Number |
| qtd_apontamentos_prodes_pampa | Apontamentos do PRODES Pampa | Number |
| qtd_apontamentos_prodes_pantanal | Apontamentos do PRODES Pantanal | Number |
| qtd_apontamentos_terras_indigenas | Apontamentos de terras indigenas | Number |
| qtd_apontamentos_territorios_quilombolas | Apontamentos de territorios quilombolas | Number |
| qtd_apontamentos_unidades_conservacao | Apontamentos de unidades de conservacao | Number |
| qtd_moratoria_soja | Apontamentos da moratoria da soja | Number |
| total_apontamentos | Soma dos apontamentos da propriedade | Number |
| esg_status | Status consolidado. Valores: NONE, PARCIAL, CONFORME, NAO_CONFORME, NAO_ENCONTRADO, PROCESSANDO | Enum |
| car_status | Situacao do CAR. Valores: AT, CA, SU, PE | Enum |
| car_status_updated_at | Data da ultima atualizacao da situacao do CAR, em epoch com segundos decimais | Number |
- 401 - Unauthorized
Devolvido pelo gateway quando o Authorization esta ausente ou invalido — nesse caso a resposta traz corpo, no formato {"data": [], "error": {...}}. A mensagem dentro de error varia conforme o plugin de autenticacao da rota, entao nao programe em cima do texto.
- 404 - Not Found
Nao ha resumo registrado para o CAR informado. O corpo vem no formato de erro da API — o cliente do carbon repassa status e conteudo:
{
"messages": ["message.internal.error"]
}
Corpo vazio so acontece no caso raro em que o servico de carbono responde 200 sem conteudo.