🔑 1. Autenticação & Governança do Token
Todas as requisições aos endpoints da API requerem autenticação por chave privada de API (*API Key*). A chave é fornecida formalmente no ato do onboarding e deve ser informada em cada requisição por meio de um dos seguintes cabeçalhos HTTP:
x-api-key: SUA_CHAVE_PRIVADA_AQUI # ou Authorization: Bearer SUA_CHAVE_PRIVADA_AQUI
A chave de API JAMAIS deve ser exposta no código frontend do navegador (React, Vue, JS público) ou repositórios públicos. O tráfego deve ser intermediado pelo seu servidor backend (Proxy/BFF), que mantém a chave em variável de ambiente (process.env).
⚡ 2. POST /api/v1/simulate/master
Exclusivo Plano MasterEndpoint completo para a mesa de operações e fechamento no CRM. Retorna todos os dados contratuais da esteira do Banco do Brasil: código do grupo, código do bem, descrição oficial, saldo de vagas em tempo real, data da próxima assembleia, menor lance contemplado dos últimos 12 meses e simulação de lance embutido de até 30%.
Parâmetros da Requisição (Body JSON):
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| grupo | String | Sim* | Código oficial do grupo BB (ex: "001583"). |
| cotas | Number | Não | Quantidade de cotas desejada (padrão: 1). |
| lanceBolso | Number | Não | Valor em Reais de recursos próprios para lance livre (ex: 50000). |
| usarEmbutido | Boolean | Não | Se true, calcula abatimento de até 30% da própria carta. |
| cliente | String | Não | Nome do titular para personalizar a mensagem do WhatsApp. |
curl -X POST https://api-bb.strategodigital.com.br/api/v1/simulate/master \
-H "Content-Type: application/json" \
-H "x-api-key: SUA_CHAVE_MASTER" \
-d '{
"grupo": "001583",
"cotas": 2,
"lanceBolso": 50000,
"usarEmbutido": true,
"cliente": "Lucas Reis"
}'
Exemplo de Resposta de Sucesso (HTTP 200 OK):
{
"success": true,
"propostas": [
{
"opcao": 1,
"plano": "Plano Flex (-2% Taxa)",
"objetivo": "Trator / Agrícola",
"grupo": "001583",
"bemCodigo": "00095",
"bemDescricao": "50 PULSE DRIVE 1 3 8V FLEX AT",
"assembleiaProxima": "27/11/2026",
"historicoLanceMinimo12m": "46.9%",
"cotas": 2,
"prazoMeses": 53,
"creditoBruto": 113383.00,
"creditoLiquido": 79368.10,
"lanceEmbutido": { "percentual": 30.0, "valor": 34014.90 },
"lanceBolso": { "percentual": 9.8, "valor": 50000.00 },
"parcelaMensalSemLance": 2671.98,
"parcelaPosLanceEstimada": 2017.85
}
],
"whatsappTextoPronto": "*PROPOSTA DE CONSÓRCIO BB...*"
}
🎯 3. POST /api/v1/simulate
Plano Comercial & MasterSimulação inteligente "Caixa-Preta" para captação de leads em websites, landing pages e chatbots de WhatsApp. Retorna as melhores composições de parcelas e créditos sem expor dados internos de grupos ou esteira bancária, retendo 100% o lead no seu time comercial.
| Campo | Tipo | Obrigatório | Valores Aceitos |
|---|---|---|---|
| objetivo | String | Sim | "TRATOR", "CAMINHAO", "IMOVEL", "CARRO_FIPE", "SOLAR", "REBANHO", etc. |
| creditoLiquido | Number | Sim | Valor em Reais que o cliente deseja receber (ex: 350000). |
| plano | String | Não | "Flex" (taxa reduzida -2%) ou "Master" (padrão: "Flex"). |
| mode | String | Não | "compare3" (3 melhores cenários de prazos) ou "single". |
curl -X POST https://api-bb.strategodigital.com.br/api/v1/simulate \
-H "Content-Type: application/json" \
-H "x-api-key: SUA_CHAVE_AQUI" \
-d '{
"objetivo": "TRATOR",
"creditoLiquido": 350000,
"plano": "Flex",
"mode": "compare3"
}'
📱 4. POST /api/v1/whatsapp-text
Gera diretamente a mensagem altamente persuasiva e pronta para envio no WhatsApp do cliente a partir do objeto da simulação gerado pelo motor.
{
"success": true,
"textoFormatado": "*PROPOSTA DE CONSÓRCIO BB — TRATOR / AGRÍCOLA*\n📋 *Plano:* Flex (-2% Taxa)..."
}
📋 5. Endpoints Utilitários (Públicos)
GET /api/v1/objetivos
Retorna os segmentos disponíveis e suas modalidades de consórcio vinculadas.
GET /api/v1/health
Verifica a disponibilidade do cluster e integridade do catálogo do Banco do Brasil em tempo real.
💻 6. Exemplos de Implementação (Backend Proxy)
Exemplos prontos para copiar e colocar no seu servidor backend em minutos:
Node.js / Express (Proxy Seguro):
const express = require('express');
const axios = require('axios');
const app = express();
app.use(express.json());
// A chave fica 100% no servidor (.env)
const STRATEGO_KEY = process.env.STRATEGO_CONSORCIO_KEY;
app.post('/api/minha-simulacao', async (req, res) => {
try {
const resposta = await axios.post('https://api-bb.strategodigital.com.br/api/v1/simulate/master', req.body, {
headers: { 'x-api-key': STRATEGO_KEY, 'Content-Type': 'application/json' },
timeout: 8000
});
return res.json(resposta.data);
} catch (err) {
return res.status(err.response?.status || 500).json({ erro: 'Falha no cálculo' });
}
});
app.listen(3000, () => console.log('Proxy seguro ativo'));
Python / Requests:
import os
import requests
STRATEGO_KEY = os.getenv("STRATEGO_CONSORCIO_KEY")
url = "https://api-bb.strategodigital.com.br/api/v1/simulate/master"
headers = {
"Content-Type": "application/json",
"x-api-key": STRATEGO_KEY
}
payload = {
"grupo": "001583",
"cotas": 2,
"lanceBolso": 50000,
"usarEmbutido": True
}
resp = requests.post(url, json=payload, headers=headers, timeout=8)
print(resp.json())
🚦 7. Códigos de Resposta HTTP
| Código HTTP | Significado | Causa Provável |
|---|---|---|
| 200 OK | Sucesso | Simulação processada com sucesso. |
| 400 Bad Request | Parâmetros Inválidos | Campo obrigatório ausente ou tipo de dado inválido. |
| 401 Unauthorized | Chave Não Autorizada | Header x-api-key ausente ou inválido. |
| 403 Forbidden | Acesso Negado | Tentativa de acessar rota Master com chave Comercial. |
| 429 Too Many Requests | Rate Limit / Anti-Scraping | Teto de 30 req/min excedido ou varredura de grupos detectada. |
🛡️ 8. Diretrizes de Segurança & Defesa Anti-Scraping
O cluster da Stratego Digital opera como motor transacional de decisão sob demanda e possui proteções ativas contra abusos, cópia de catálogo e ataques automatizados:
• Rate Limiting: Teto de 30 chamadas por minuto por chave/IP de origem.
• Trilha Forense: Todas as requisições geram log com IP, UTC timestamp, User-Agent e hash pericial para respaldo jurídico (Leis 9.609/98 e 9.279/96).