Ir para o conteúdo

1.1. Primeiros Passos

Nesta seção, apresentamos o conjunto de APIs públicas que viabilizam o processo de cessão de direitos creditórios, liquidação de ativos e consulta de informações operacionais de lotes e títulos na plataforma VeHub.

1.1 Acesso aos Serviços

Para obter acesso aos serviços, entre em contato com nosso time pelo e-mail:

📧 contato@vertrau.capital

A liberação será realizada tanto para o ambiente de Homologação (Sandbox) quanto para o ambiente Produtivo. Após a liberação, serão fornecidos os dados de autenticação da aplicação integrada.

1.2 Autenticação

A autenticação é realizada por credenciais de cliente. Utilize o endpoint abaixo para obter o token de acesso.

Método URL
POST https://BASE_URL/public/v1/auth/login
Request Body
{
  "clientId": "seu-client-id",
  "clientSecret": "seu-client-secret"
}

O endpoint também aceita os campos client_id e client_secret como aliases de escrita. Para novas integrações, prefira clientId e clientSecret.

Response 200 OK
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "refresh_expires_in": 1800,
  "not-before-policy": 0,
  "scope": "openid profile"
}

Atenção: os nomes dos campos da resposta seguem o padrão snake_case do Keycloak (access_token, token_type, expires_in). Para autenticação nas demais rotas, use o cabeçalho Authorization: Bearer {access_token}.

1.3 Headers

As rotas públicas da API utilizam os headers abaixo.

Header Obrigatório Descrição
Authorization Sim Token de acesso no formato Bearer {token}.
GrupoEconomico Sim Grupo econômico autorizado para a integração.
Accept-Language Não Idioma da resposta. Padrão: pt-BR. Também aceita en-US.

1.4 Respostas de Erro

As rotas documentadas podem retornar os status abaixo conforme o Swagger.

Status Modelo Descrição
400 Bad Request ProblemDetails ou RetornoPadrao, conforme a rota Requisição inválida ou erro de processamento.
401 Unauthorized ProblemDetails Token ausente ou inválido.
403 Forbidden ProblemDetails Credenciais válidas, mas sem permissão para o recurso.
500 Internal Server Error Sem corpo documentado Erro interno não tratado.
ProblemDetails
{
  "type": "string",
  "title": "string",
  "status": 400,
  "detail": "string",
  "instance": "string"
}
RetornoPadrao
{
  "status": "erro",
  "mensagem": "Mensagem retornada pela API."
}