Criar link de contratação para um cliente
const url = 'https://sandbox-api.eagleix-corban.com.br/v1/links';const options = { method: 'POST', headers: { 'Idempotency-Key': 'indicacao-2026-000123', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"cpf":"52998224725","celular":"11987654321","referenciaExterna":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://sandbox-api.eagleix-corban.com.br/v1/links \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: indicacao-2026-000123' \ --data '{ "cpf": "52998224725", "celular": "11987654321", "referenciaExterna": "example" }'Cria o link que o canal envia ao cliente para iniciar a contratação. A URL leva um token de uso pessoal; envie-a só ao cliente.
Idempotência: o header Idempotency-Key é opcional. Com ele, repetir a chamada com a
mesma chave e os mesmos dados devolve o mesmo link (200); a mesma chave com outro CPF ou
outra referência devolve 409. Sem o header, o sistema gera um UUID e cada chamada cria
um link novo.
Ambiente: por enquanto, só sandbox: banco simulado, sem SMS e sem chamadas à BMG.
Código OTP sempre 123456; o CPF 00000000191 é tratado como inelegível; ofertas
fictícias. A produção chega em breve.
Autorizações
Seção intitulada “Autorizações”Parâmetros
Seção intitulada “Parâmetros”Header Parameters
Seção intitulada “Header Parameters”Identificador único do pedido no canal (8 a 100 caracteres: letras, números e _ . : -). Se não for enviado, o sistema gera um UUID (e cada chamada cria um link novo).
Corpo da requisiçãorequired
Seção intitulada “Corpo da requisiçãorequired”object
11 dígitos, só números.
Opcional. DDD + 9 dígitos; se informado, é sugerido para o SMS.
Referência do canal (por exemplo, o id do promotor que indicou).
Respostas
Seção intitulada “Respostas”Replay idempotente; devolve o link criado antes.
object
Só na criação. Envie ao cliente; não registre em log.
Presente quando o cliente já enviou a proposta.
object
Example
{ "status": "CRIADO", "ambiente": "SANDBOX", "cpfMascarado": "***.982.247-**"}Link criado.
object
Só na criação. Envie ao cliente; não registre em log.
Presente quando o cliente já enviou a proposta.
object
Example
{ "status": "CRIADO", "ambiente": "SANDBOX", "cpfMascarado": "***.982.247-**"}Dados inválidos (cpf, celular, Idempotency-Key).
object
Código estável, para tratamento programático.
Mensagem legível (pt-BR).
Id da requisição, igual ao header X-Request-Id.
Example
{ "code": "unauthorized"}Token ausente, inválido ou expirado.
object
Código estável, para tratamento programático.
Mensagem legível (pt-BR).
Id da requisição, igual ao header X-Request-Id.
Example
{ "code": "unauthorized", "message": "token inválido ou expirado", "requestId": "8d1f0c2a9b7e4c3d2a1b0f9e"}Headers
Seção intitulada “Headers”Example
Bearer error="invalid_token"Canal inativo ou requisição vinda de IP não autorizado.
object
Código estável, para tratamento programático.
Mensagem legível (pt-BR).
Id da requisição, igual ao header X-Request-Id.
Example
{ "code": "forbidden", "message": "canal inativo", "requestId": "8d1f0c2a9b7e4c3d2a1b0f9e"}Idempotency-Key já usada com outros dados.
object
Código estável, para tratamento programático.
Mensagem legível (pt-BR).
Id da requisição, igual ao header X-Request-Id.
Example
{ "code": "unauthorized"}