Share
Explore

icon picker
Auth e Contact Create

Documentação API Bom Pra Crédito: Autenticação JWT

Esta documentação fornece informações detalhadas sobre como autenticar na API da Bom Pra Crédito usando JWT (JSON Web Token) e como criar um novo contato usando a autenticação obtida. O documento é destinado a desenvolvedores que precisam integrar sistemas com nossa API.

Índice

Pré-requisitos

Para utilizar esta API, você vai precisar de:
Uma conta de desenvolvedor com a Bom Pra Crédito (email e senha)
Acesso à API (em ambiente de desenvolvimento ou produção)
Ferramentas para fazer requisições HTTP (como cURL, Postman, ou qualquer cliente HTTP)

Credenciais Bom pra crédito

Para testes, você pode usar as seguintes credenciais:
Senha: Bpr@Crd2025
Nota: Estas credenciais são apenas para ambiente de desenvolvimento. Em produção, você deverá solicitar credenciais próprias.

Processo de Autenticação JWT

A API utiliza autenticação baseada em JWT (JSON Web Token). Para obter um token, siga os passos abaixo:
Faça uma requisição POST para o endpoint de login com suas credenciais:
curl -X POST "https://api.menosjuros.com/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "seu-email@dominio.com",
"password": "sua-senha"
}'
A resposta incluirá um token JWT no formato:
{
"success": true,
"data": {
"session": {
"access_token": "eyJhbGciOiJIUzI1NiIsIn...[token completo]",
"token_type": "bearer"
},
"user": {
"id": "00e5c712-615d-4afe-87cb-33d1592d3f34",
"email": "admin@bompracredito.com.br",
"name": "Bom Pra Crédito"
}
}
}
Extraia o token JWT (access_token) da resposta. Este token deve ser incluído em todas as requisições subsequentes no cabeçalho de autorização:
Authorization: Bearer seu-token-jwt-aqui

Criação de Contato

Após obter o token JWT, você pode criar um novo contato:
Faça uma requisição POST para o endpoint de criação de contatos:
curl -X POST "https://api.menosjuros.com/contatos" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer seu-token-jwt-aqui" \
-d '{
"nome": "Nome do Cliente",
"cpf": "123.456.789-00",
"email": "cliente@exemplo.com",
"telefone": "11987654321",
"banco": "Bradesco",
"origem": "Bom_pra_credito",
"pf_documento": {
"data_nascimento":"2025-04-04",
"ocupacao":"aposentado"
}
}'
A resposta incluirá os detalhes do contato criado:
{
"success": true,
"data": {
"id": 1599,
"created_at": "2025-05-07T14:54:25.393598-03:00",
"nome": "Nome do Cliente",
"cpf": "12345678900",
"email": "cliente@exemplo.com",
"banco": "Bradesco",
"origem": "API",
"telefone": "5511987654321",
"open_finance": null,
"pf_documento": {
"data_nascimento":"2025-04-04",
"ocupacao":"aposentado"
}
}
}

Notas importantes sobre a criação de contatos:

O CPF e o email são campos únicos no sistema. Cada contato deve ter valores diferentes.
O campo pf_documento é opcional e aceita qualquer estrutura JSON para armazenar informações adicionais sobre documentos.
A propriedade telefone é formatada automaticamente com o código do país (55), se não estiver presente.
Os campos obrigatórios são: nome, telefone, cpf, banco e origem.
Valores válidos para o campo banco: “Caixa Econômica”, “Banco Brasil”, “Bradesco”, “Santander”, “Outros”.
O campo origem deve ser “Bom_pra_credito”.

Encerramento da Sessão (Logout)

Quando terminar de utilizar a API, você pode encerrar a sessão:
curl -X POST "https://api.menosjuros.com/auth/logout" \
-H "Authorization: Bearer seu-token-jwt-aqui"
Resposta esperada:
{
"success": true,
"message": "Logout realizado com sucesso"
}

Exemplos de Código

cURL

Aqui está o fluxo completo em cURL:
# 1. Login e obtenção do token JWT
LOGIN_RESPONSE=$(curl -s -X POST "https://api.menosjuros.com/auth/login" \
-H "Content-Type: application/json" \
-d '{
"email": "seu-email@dominio.com",
"password": "sua-senha"
}')

# Extrair o token JWT
ACCESS_TOKEN=$(echo "$LOGIN_RESPONSE" | grep -o '"session":{[^}]*"access_token":"[^"]*"' | grep -o '"access_token":"[^"]*"' | cut -d'"' -f4)

# 2. Criar um contato
CONTATO_RESPONSE=$(curl -s -X POST "https://api.menosjuros.com/contatos" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-d '{
"nome": "Cliente Teste",
"cpf": "123.456.789-00",
"email": "cliente@exemplo.com",
"telefone": "11987654321",
"banco": "Bradesco",
"origem": "Bom_pra_credito",
"pf_documento": {
"tipo": "RG",
"numero": "87654321",
"orgao_emissor": "SSP",
"uf_emissor": "RJ"
}
}')

# 3. Fazer logout
LOGOUT_RESPONSE=$(curl -s -X POST "https://api.menosjuros.com/auth/logout" \
-H "Authorization: Bearer $ACCESS_TOKEN")

JavaScript

const axios = require('axios');

async function main() {
try {
// 1. Login e obtenção do token JWT
const loginResponse = await axios.post('https://api.menosjuros.com/auth/login', {
email: 'seu-email@dominio.com',
password: 'sua-senha'
});
if (!loginResponse.data.success) {
throw new Error('Falha na autenticação');
}
// Extrair o token JWT
const token = loginResponse.data.data.session.access_token;
console.log('Token JWT obtido com sucesso');
// Configurar cliente axios com o token de autorização
const api = axios.create({
baseURL: 'https://api.menosjuros.com',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
}
});
// 2. Criar um contato
const timestamp = Date.now(); // Para evitar duplicidade de CPF/email
const contatoResponse = await api.post('/contatos', {
nome: `Cliente Teste ${timestamp}`,
cpf: `111.222.${timestamp % 1000}-33`, // CPF único
email: `cliente.teste.${timestamp}@exemplo.com`, // Email único
telefone: '11987654321',
banco: 'Bradesco',
origem: 'Bom_pra_credito',
pf_documento: {
tipo: 'RG',
numero: '87654321',
orgao_emissor: 'SSP',
uf_emissor: 'RJ'
}
});
console.log('Contato criado com sucesso:', contatoResponse.data);
// 3. Fazer logout
const logoutResponse = await api.post('/auth/logout');
console.log('Logout realizado com sucesso:', logoutResponse.data);
} catch (error) {
console.error('Erro:', error.response?.data || error.message);
}
}

main();

Python

import requests
import json
import time

# URL base da API
API_URL = "https://api.menosjuros.com"

def main():
try:
# 1. Login e obtenção do token JWT
login_response = requests.post(
f"{API_URL}/auth/login",
json={
"email": "seu-email@dominio.com",
"password": "sua-senha"
}
)
login_data = login_response.json()
if not login_data.get("success"):
raise Exception(f"Falha na autenticação: {login_data.get('message')}")
# Extrair o token JWT
token = login_data["data"]["session"]["access_token"]
print("Token JWT obtido com sucesso")
# Configurar headers com token de autorização
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {token}"
}
# 2. Criar um contato
timestamp = int(time.time()) # Para evitar duplicidade de CPF/email
contato_response = requests.post(
f"{API_URL}/contatos",
headers=headers,
json={
"nome": f"Cliente Teste {timestamp}",
"cpf": f"111.222.{timestamp % 1000}-33", # CPF único
"email": f"cliente.teste.{timestamp}@exemplo.com", # Email único
"telefone": "11987654321",
"banco": "Bradesco",
"origem": "Bom_pra_credito",
"pf_documento": {
"tipo": "RG",
"numero": "87654321",
"orgao_emissor": "SSP",
"uf_emissor": "RJ"
}
}
)
contato_data = contato_response.json()
print(f"Contato criado com sucesso: {json.dumps(contato_data, indent=2)}")
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.