Para obter os tokens de acesso à API, o cliente deve solicitar as credenciais Client ID e Client Secret. Essas credenciais são utilizadas na autenticação via Basic Auth para gerar um token de acesso válido.
Credenciais principais para autenticação Basic Auth.
{
"client_id": "seu_client_id_aqui",
"client_secret": "seu_client_secret_aqui",
"environment": "homologacao"
}
Token gerado após autenticação bem-sucedida.
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"token_type": "bearer",
"expires_in": 3600
}
Os clientes podem obter suas credenciais através dos canais de atendimento, da mesma forma que obtem as credenciais de produção
Configure as chaves no seu projeto:
# .env (Desenvolvimento)
NUVENDE_ENV=homologacao
NUVENDE_CLIENT_ID=seu_client_id_aqui
NUVENDE_CLIENT_SECRET=seu_client_secret_aqui
NUVENDE_BASE_URL=https://api-h.nuvende.com.br
// config/nuvende.js
const config = {
homologacao: {
clientId: process.env.NUVENDE_CLIENT_ID,
clientSecret: process.env.NUVENDE_CLIENT_SECRET,
baseUrl: 'https://api-h.nuvende.com.br'
},
production: {
clientId: process.env.NUVENDE_PROD_CLIENT_ID,
clientSecret: process.env.NUVENDE_PROD_CLIENT_SECRET,
baseUrl: 'https://api.nuvende.com.br'
}
};
curl -X POST https://api-h.nuvende.com.br/api/v2/auth/login \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Authorization: Basic YjhhMDc1MTgtZDBjZS00ODk3LThlOGUtM2VjOWM1NmMyNjMyOnlvdXItc2VjcmV0LWhlcmU=" \
--data-urlencode "grant_type=client_credentials" \
--data-urlencode "scope=cob.read cob.write webhooks.read webhooks.write pix.read pix.write contas.read contas.saldo.read contas.extrato.read contas.chaves.read kyc.background-check.natural-person kyc.background-check.legal-person"
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"token_type": "bearer",
"expires_in": 3600
}
curl -X GET https://api-h.nuvende.com.br/api/v2/protected-resource \
-H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." \
-H "Content-Type: application/json"
A API da Nuvende oferece os seguintes escopos para controle de acesso. Solicite apenas os necessários ao caso de uso.
| Scope | Descrição |
|---|---|
kyc.background-check.natural-person | Verificação de antecedentes — pessoa física |
kyc.background-check.legal-person | Verificação de antecedentes — pessoa jurídica |
| Scope | Descrição |
|---|---|
cob.write | Criar e atualizar cobranças |
cob.read | Consultar cobranças |
| Scope | Descrição |
|---|---|
pix.write | Iniciar e confirmar pagamentos Pix |
pix.read | Listar pagamentos Pix |
| Scope | Descrição |
|---|---|
contas.read | Consultar dados da conta |
contas.saldo.read | Consultar saldo |
contas.extrato.read | Consultar extrato |
contas.chaves.read | Listar chaves Pix |
| Scope | Descrição |
|---|---|
webhooks.read | Consultar webhooks |
webhooks.write | Criar e atualizar webhooks |
| Scope | Descrição |
|---|---|
merchants.read | Consultar dados de estabelecimentos |
merchants.write | Gerenciar estabelecimentos |
terminals.read | Consultar terminais |
terminals.write | Gerenciar terminais |
transactions.read | Consultar transações |
transactions.write | Processar transações |
Detalhes do fluxo de login: Autenticação — Login.
A autenticação é feita via Basic Auth, onde o Client ID e Client Secret são codificados em Base64 e enviados no cabeçalho da requisição.
// Exemplo em JavaScript
const clientId = 'seu_client_id';
const clientSecret = 'seu_client_secret';
const credentials = Buffer.from(`${clientId}:${clientSecret}`).toString('base64');
const authHeader = `Basic ${credentials}`;
// Resultado: Basic YjhhMDc1MTgtZDBjZS00ODk3LThlOGUtM2VjOWM1NmMyNjMyOnlvdXItc2VjcmV0LWhlcmU=