IMBRANET · Assinador — Manual da API

Base: https://assinador.imbranet.com.br/api/v1/ · Autenticação: header Authorization: Bearer SUA_CHAVE · Sempre HTTPS.

Autenticação

Toda requisição precisa do header Authorization: Bearer SUA_CHAVE. As chaves são emitidas no painel administrativo e exibidas por completo apenas uma vez, no momento da criação.

Testar sua chave

Cole sua chave abaixo para chamar GET /api/v1/ping. A chave é usada apenas nesta requisição, direto do seu navegador — não é enviada nem armazenada em nosso servidor até você clicar em testar.

Testar POST /cadastros ao vivo

Dispara um POST real para /api/v1/cadastros a partir do seu navegador, usando a chave acima. É a forma mais fácil de testar a API — o resultado é o mesmo JSON que um sistema externo receberia. Requer o escopo cadastros:criar na chave.

Endpoints

MétodoEndpointEscopoDescrição
GET/api/v1/pingValida a chave e retorna identidade/escopos.
POST/api/v1/cadastroscadastros:criarEnvia cadastro + documento (multipart) e retorna o link de assinatura.
GET/api/v1/cadastros/{id}cadastros:lerConsulta o status do processamento do cadastro.
GET/api/v1/contratos/{id}contratos:lerConsulta o status do contrato e o link de assinatura.
GET/api/v1/contratos/{id}/pdf-assinadoassinaturas:lerBaixa o PDF assinado (quando disponível).

Escopos

EscopoPermite
cadastros:criarCriar cadastros e gerar contrato/link.
cadastros:lerConsultar status de cadastros.
contratos:lerConsultar contratos.
assinaturas:lerBaixar contratos assinados.
webhooks:gerenciarGerenciar webhooks (fase futura).
*Acesso total.

Erros padronizados

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.

Formato do erro: { "sucesso": false, "codigo": "...", "mensagem": "..." }

Exemplo — criar cadastro (cURL)

curl -X POST https://assinador.imbranet.com.br/api/v1/cadastros \
  -H "Authorization: Bearer SUA_CHAVE" \
  -F "nome=Maria Silva" \
  -F "cpf=39053344705" \
  -F "data_nascimento=1990-05-10" \
  -F "email=maria@exemplo.com" \
  -F "telefone=5599999999999" \
  -F "cep=01001000" \
  -F "numero=100" \
  -F "documento=@/caminho/rg.jpg"

JavaScript (fetch)

const fd = new FormData();
fd.append('nome', 'Maria Silva');
fd.append('cpf', '39053344705');
fd.append('cep', '01001000');
fd.append('numero', '100');
fd.append('documento', arquivoInput.files[0]);

const r = await fetch('https://assinador.imbranet.com.br/api/v1/cadastros', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer SUA_CHAVE' },
  body: fd
});
console.log(await r.json());

PHP

<?php
$ch = curl_init('https://assinador.imbranet.com.br/api/v1/cadastros');
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ['Authorization: Bearer SUA_CHAVE'],
  CURLOPT_POSTFIELDS => [
    'nome' => 'Maria Silva',
    'cpf' => '39053344705',
    'cep' => '01001000',
    'numero' => '100',
    'documento' => new CURLFile('/caminho/rg.jpg'),
  ],
]);
$resp = curl_exec($ch);
echo $resp;

Resposta de sucesso inclui contrato_id, numero e link_assinatura para envio ao cliente.