Criar Análise de Crédito
Descrição: Solicita a criação de uma análise de crédito para um produtor.
Endpoint
Regras
| Atributos | Descrição | Tipo | Obrigatório | Validações |
|---|---|---|---|---|
| requester_id | UUID do solicitante | UUID | Sim | - |
| requester_name | Nome do solicitante | String | Sim | - |
| requester_email | E-mail do solicitante | String | Sim | Apenas obrigatório e não em branco. O formato não é validado pela API — qualquer texto é aceito. |
| name | Nome do produtor | String | Sim | - |
| identity | CPF do produtor | String | Sim | Apenas CPF, com dígito verificador válido. CNPJ ou CPF inválido é recusado pelo serviço financeiro com 400 message.cpf.invalid. |
| auth_type | Tipo de autenticação | String | Sim | Enum: EMAIL, SMS ou WHATSAPP. Valor fora da lista é recusado pelo serviço financeiro com 400 message.malformed-request. |
| person_type | Tipo de pessoa | String | Sim | Enum: NATURAL (pessoa física) ou LEGAL (pessoa jurídica). Valor fora da lista é recusado pelo serviço financeiro com 400 message.malformed-request. |
| period_consult | Período de consulta | String | Sim | Enum: ONE_MONTH, THREE_MONTHS ou EIGHTEEN_MONTHS. Valor fora da lista é recusado pelo serviço financeiro com 400 message.malformed-request. |
| E-mail do produtor | String | Não | Quando informado, precisa estar em formato de e-mail válido. Formato inválido é recusado pelo serviço financeiro com 400 message.email-type.mandatory. | |
| phone | Telefone do produtor | String | Não | - |
| corporate_name | Nome da empresa (se PJ) | String | Não | - |
| corporate_identity | CNPJ da empresa (se PJ) | String | Não | Quando informado, precisa ser um CNPJ com dígito verificador válido. CNPJ inválido é recusado pelo serviço financeiro com 400 message.cnpj.invalid. |
Exemplo de Requisição
- cURL
- Java
- JavaScript
- Python
- SDK Java
curl -X POST \
-H "Authorization: {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"requester_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"requester_name": "Cooperativa Exemplo",
"requester_email": "cooperativa@exemplo.com",
"name": "João da Silva",
"identity": "12345678909",
"auth_type": "EMAIL",
"person_type": "NATURAL",
"period_consult": "THREE_MONTHS"
}' \
"https://api.merx.tech/api/v1/integration/financial/analysis-credit"
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
String body = "{"
+ "\"requester_id\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\","
+ "\"requester_name\": \"Cooperativa Exemplo\","
+ "\"requester_email\": \"cooperativa@exemplo.com\","
+ "\"name\": \"João da Silva\","
+ "\"identity\": \"12345678909\","
+ "\"auth_type\": \"EMAIL\","
+ "\"person_type\": \"NATURAL\","
+ "\"period_consult\": \"THREE_MONTHS\""
+ "}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.merx.tech/api/v1/integration/financial/analysis-credit"))
.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/financial/analysis-credit',
{
method: 'POST',
headers: {
'Authorization': '{SUA_API_KEY}',
'Content-Type': 'application/json',
},
body: JSON.stringify({
requester_id: '3fa85f64-5717-4562-b3fc-2c963f66afa6',
requester_name: 'Cooperativa Exemplo',
requester_email: 'cooperativa@exemplo.com',
name: 'João da Silva',
identity: '12345678909',
auth_type: 'EMAIL',
person_type: 'NATURAL',
period_consult: 'THREE_MONTHS',
}),
}
);
const data = await response.json();
console.log(data);
import requests
url = "https://api.merx.tech/api/v1/integration/financial/analysis-credit"
headers = {
"Authorization": "{SUA_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"requester_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"requester_name": "Cooperativa Exemplo",
"requester_email": "cooperativa@exemplo.com",
"name": "João da Silva",
"identity": "12345678909",
"auth_type": "EMAIL",
"person_type": "NATURAL",
"period_consult": "THREE_MONTHS"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
import com.merx.sdk.api.MerxClient;
import com.merx.sdk.core.Environment;
import com.merx.sdk.model.financial.CreateAnalysisCreditRequest;
import java.util.UUID;
MerxClient merx = MerxClient.builder()
.apiKey("{SUA_API_KEY}")
.environment(Environment.SANDBOX)
.build();
var id = merx.financial().createAnalysisCredit(CreateAnalysisCreditRequest.builder()
.requesterId(UUID.fromString("00000000-0000-0000-0000-000000000000"))
.requesterName("Cooperativa Demo")
.requesterEmail("ops@demo.coop")
.name("Fulano de Tal")
.identity("12345678909")
.authType("EMAIL")
.personType("NATURAL")
.periodConsult("THREE_MONTHS")
.build());
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 |
|---|---|---|---|
| requester_id | UUID do solicitante | UUID | Sim |
| requester_name | Nome do solicitante | String | Sim |
| requester_email | E-mail do solicitante | String | Sim |
| name | Nome do produtor | String | Sim |
| identity | CPF do produtor | String | Sim |
| auth_type | Tipo de autenticação | String | Sim |
| person_type | Tipo de pessoa: NATURAL ou LEGAL | String | Sim |
| period_consult | Período de consulta | String | Sim |
| E-mail do produtor | String | Não | |
| phone | Telefone do produtor | String | Não |
| corporate_name | Nome da empresa (se PJ) | String | Não |
| corporate_identity | CNPJ da empresa (se PJ) | String | Não |
Respostas
- 200 - Ok
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
- 400 - Bad Request
Campo obrigatório ausente, nulo ou em branco. A lista traz uma chave por campo reprovado:
{
"messages": ["message.requester-id.mandatory"]
}
| Campo | Chave devolvida |
|---|---|
requester_id | message.requester-id.mandatory |
requester_name | message.requester-name.mandatory |
requester_email | message.requester-email.mandatory |
name | message.name.mandatory |
identity | message.identity.mandatory |
auth_type | message.auth-type.mandatory |
person_type | message.person-type.mandatory |
period_consult | message.period-consult.mandatory |
Erros vindos do serviço financeiro. Este endpoint é um repasse para o serviço financeiro da Merx. Quando o erro nasce lá, a API devolve o status HTTP original do serviço financeiro e o corpo cru da resposta dele, sem reescrever no formato
{"messages": [...]}. Trate as respostas de erro deste endpoint em dois casos:
- Erro de validação da própria integração — corpo no formato
{"messages": ["chave.i18n"]}.- Erro repassado do serviço financeiro — status e corpo definidos pelo serviço de origem; o formato pode ser qualquer um, inclusive um JSON com estrutura diferente. Não faça o parsing assumindo a chave
messages.
- 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. Um 401 repassado do serviço financeiro, esse sim, vem sem corpo.
404 - Not Found
502 - Bad Gateway
O serviço financeiro está indisponível ou recusou a conexão:
{
"messages": ["message.integration.connection.refused"]
}