Consultar Saldo Total do Produtor por Produto
Descricao: Retorna o saldo consolidado do produtor, um item por produto. E a consulta correspondente aos lancamentos feitos em Processar Saldo de Produtor.
Endpoint
Regras
| Atributos | Descricao | Tipo | Obrigatorio | Validacoes |
|---|---|---|---|---|
| producer_document | CPF ou CNPJ do produtor | String | Sim | Envie sempre sem pontuacao. A API normaliza o documento, mas isso acontece depois do roteamento: o documento vai no caminho da URL, e a mascara de CNPJ contem /, que quebra o roteamento antes de chegar na normalizacao. Mascara de CPF (529.982.247-25) funciona; a de CNPJ nao. CNPJ alfanumerico e aceito: as letras sao normalizadas para maiusculas. Documento sem produtor correspondente resulta em 404 message.producer.not-found |
Importante: nao envie o header
cooperative-id. Ele e injetado automaticamente pelo API gateway a partir do token.
Exemplo de Requisicao
- cURL
- Java
- JavaScript
- Python
curl -X GET \
-H "Authorization: {SUA_API_KEY}" \
"https://api.merx.tech/api/v1/integration/balances/total/producers/12345678000190"
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/balances/total/producers/12345678000190"))
.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/balances/total/producers/12345678000190',
{
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/balances/total/producers/12345678000190"
headers = {
"Authorization": "{SUA_API_KEY}"
}
response = requests.get(url, headers=headers)
print(response.json())
Parametros
Parametros de Caminho
| Nome | Descricao | Tipo | Obrigatorio |
|---|---|---|---|
| producer_document | 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
[
{
"product_id": "8750a761-61f1-49ed-b252-c15199daa828",
"product_name": "Trigo",
"total": 0
},
{
"product_id": "f23dad85-f209-4cad-9e07-446eb4d6fb7f",
"product_name": "Soja",
"total": 1250.5
}
]
O endpoint devolve sempre um array, com um item por produto que a cooperativa tem cadastrado — inclusive os de saldo zero. Campos sem valor sao omitidos.
Dicionario de dados
| Nome | Descricao | Tipo |
|---|---|---|
| product_id | Identificador do produto | UUID |
| product_name | Nome do produto | String |
| total | Saldo total do produtor para o produto | Number |
- 401 - Unauthorized
Devolvido pelo gateway quando o Authorization está ausente ou inválido — nesse caso a resposta traz corpo, no formato {"data": [], "error": {...}}. A mensagem dentro de error varia conforme o plugin de autenticação da rota, então não programe em cima do texto.
- 404 - Not Found
{
"messages": ["message.producer.not-found"]
}
Nenhum produtor encontrado para o documento informado na cooperativa do token.