API IMBRANET · v1

Manual de integração para sistemas externos
A chave é usada apenas no seu navegador (para montar os exemplos e testar). Nada é enviado ou armazenado em nossos servidores ao digitá-la — só quando você clica em Testar, que apenas valida a credencial.

🔐 Autenticação

Todas as requisições protegidas exigem o cabeçalho HTTP:

Authorization: Bearer SUA_CHAVE

A base da API é https://sysimb.imbranet.com.br/api/v1/. Use sempre HTTPS. A chave é exibida uma única vez na criação — guarde-a com segurança.

📁 Diagnóstico

GET /api/v1/healthcheck.php público

Status do serviço. Verifica se a API está no ar e se o banco responde. Ideal para monitores de uptime. Não exige autenticação e não expõe nenhum dado.

Exemplo

curl -s "https://sysimb.imbranet.com.br/api/v1/healthcheck.php"

Resposta

{
  "ok": true,
  "data": {
    "service": "sysimb-api",
    "version": "v1",
    "status": "online",
    "banco": "ok",
    "horario": "2026-06-25T05:28:44-03:00"
  }
}
GET /api/v1/ping.php 🔒 requer chave

Identidade (whoami). Valida a sua chave e devolve a identidade da aplicação (nome, escopos, IP de origem). Use para confirmar que a credencial está funcionando.

Exemplo

curl -s "https://sysimb.imbranet.com.br/api/v1/ping.php" \
  -H "Authorization: Bearer SUA_CHAVE"

Resposta

{
  "ok": true,
  "data": {
    "mensagem": "pong",
    "aplicacao": "Site institucional",
    "escopos": ["*"],
    "seu_ip": "200.1.2.3",
    "horario": "2026-06-25T05:29:01-03:00"
  }
}

📁 SPC Brasil

POST /api/v1/spc_consultar.php 🔒 requer chave · spc:consultar

Consultar CPF no SPC. Consulta a situação de um CPF no SPC Brasil (restrição, score, protestos, ações, cheques, pendências e valor de dívidas). Com consulta_nova=1 vai direto ao SPC; com 0 (ou ausente) reaproveita o histórico do SysIMB quando há consulta válida e só vai ao SPC se não houver. Aceita GET ou POST.

Parâmetros

NomeTipoObrigatórioDescrição
cpfstringSimCPF do consumidor (com ou sem máscara).
consulta_novainteiroNão1 = consulta nova direto no SPC; 0 ou ausente = usa o histórico do SysIMB antes (padrão 0).
detalhadointeiroNão1 = inclui também a resposta bruta do SPC em "spc_raw".

Exemplo

curl -s "https://sysimb.imbranet.com.br/api/v1/spc_consultar.php" \
  -H "Authorization: Bearer SUA_CHAVE"

Resposta

{
  "ok": true,
  "data": {
    "cpf": "12345678900",
    "consulta_nova": false,
    "origem": "historico",
    "consultado_em": "2026-06-25 10:00:00",
    "protocolo": "2026062301234567",
    "nome": "FULANO DE TAL",
    "tem_restricao": false,
    "score": 712,
    "score_classe": "Verde",
    "resumo": {
      "registros_spc": 0,
      "protestos": 0,
      "acoes": 0,
      "cheques": 0,
      "pendencias_financeiras": 0,
      "consultas_recentes": 3,
      "valor_total_dividas": 0
    },
    "consulta_id": 1016
  }
}

📁 Cobertura

POST /api/v1/area_validar.php 🔒 requer chave · cobertura:consultar

Validar área de cobertura. Verifica se um ponto está dentro de alguma área de cobertura ativa. Informe o ponto por GPS (lat+lng), CEP ou endereço (prioridade: GPS > CEP > endereço). CEP e endereço são geocodificados automaticamente. Aceita GET ou POST.

Parâmetros

NomeTipoObrigatórioDescrição
latnúmeroNãoLatitude (use junto com lng).
lngnúmeroNãoLongitude (use junto com lat).
cepstringNãoCEP (com ou sem máscara). Usado se lat/lng não vierem.
enderecostringNãoEndereço livre. Usado se lat/lng e cep não vierem.

Exemplo

curl -s "https://sysimb.imbranet.com.br/api/v1/area_validar.php" \
  -H "Authorization: Bearer SUA_CHAVE"

Resposta

{
  "ok": true,
  "data": {
    "consulta_por": "gps",
    "lat": -27.00425303,
    "lng": -48.62140596,
    "dentro": true,
    "areas": [
      { "id": 3, "nome": "BC - Rua 3700", "descricao": null, "cor": "#1976d2" }
    ]
  }
}

⚠️ Tratamento de erros

Erros seguem o envelope { "ok": false, "erro": { "codigo", "mensagem" } }.

HTTPCódigoSignificado
401sem_credencialHeader Authorization ausente
401credencial_invalidaChave não existe
403chave_revogadaChave desativada
403chave_expiradaPassou da validade
403ip_nao_autorizadoIP de origem fora da whitelist
403sem_escopoChave não tem o escopo exigido
429rate_limitExcedeu o limite de requisições/minuto

🎯 Escopos

Cada chave possui escopos que definem o que ela pode acessar. * concede tudo.

EscopoDescrição
*Acesso total (todos os escopos atuais e futuros)
pingDiagnóstico / identidade (endpoint ping)
spc:consultarConsultar CPF no SPC Brasil
cobertura:consultarValidar ponto (GPS/CEP/endereço) nas áreas de cobertura
clientes:lerConsultar dados de clientes (somente leitura)
whatsapp:enviarDisparar mensagens WhatsApp/e-mail
atendimentos:criarAbrir atendimentos/ocorrências