Resumo ESG consolidado por CPF/CNPJ
Descricao: Devolve o resumo de conformidade socioambiental de um produtor, com a contagem de apontamentos por camada de analise, a partir do CPF ou CNPJ.
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 Produtor.
Endpoint
Regras
| Atributos | Descricao | Tipo | Obrigatorio | Validacoes |
|---|---|---|---|---|
| cpf_cnpj | CPF ou CNPJ do produtor | String | Sim | Sem validacao de formato nem de digito verificador. Documento 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/social-identities/12345678000190: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/social-identities/12345678000190: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/social-identities/12345678000190: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/social-identities/12345678000190: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().findResumeBySocialIdentity("12345678000190").orElseThrow();
System.out.println(resume.getEsgStatus());
Parametros
Parametros de Caminho
| Nome | Descricao | Tipo | Obrigatorio |
|---|---|---|---|
| cpf_cnpj | CPF ou CNPJ do produtor | String | Sim |
Parametros de Cabecalho
| Nome | Descricao | Tipo | Obrigatorio |
|---|---|---|---|
| Authorization | Chave de API obtida via support-api@merx.tech | String | Sim |
Respostas
- 200 - Ok
{
"cpf_cnpj": "033.440.211-50",
"esg_status": "CONFORME",
"qtd_apontamentos_sema_mt": 0,
"qtd_apontamentos": 0
}
O campo cpf_cnpj volta no formato em que esta armazenado na plataforma, que pode incluir pontuacao mesmo quando a
consulta foi feita sem ela. Campos sem valor sao omitidos: as contagens de camadas sem apontamento registrado
nao aparecem no corpo.
Dicionario de dados
| Nome | Descricao | Tipo |
|---|---|---|
| cpf_cnpj | Documento consultado, no formato em que esta armazenado | String |
| esg_status | Status consolidado. Valores: NONE, PARCIAL, CONFORME, NAO_CONFORME, NAO_ENCONTRADO, PROCESSANDO | Enum |
| qtd_apontamentos_sema_mt | Apontamentos de embargo da SEMA-MT | Number |
| qtd_apontamentos_ibama_tabular | Apontamentos de embargo do IBAMA | Number |
| qtd_apontamentos_lista_suja | Apontamentos na lista suja do trabalho escravo | Number |
| qtd_apontamentos_moratoria_soja | Apontamentos da moratoria da soja | Number |
| qtd_apontamentos_icmbio_produtor | Apontamentos de embargo do ICMBio | Number |
| qtd_apontamentos_sema_pa | Apontamentos de embargo da SEMA-PA | Number |
| qtd_apontamentos | Soma dos apontamentos do produtor | 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 documento 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.