Bem-vindo ao guia completo de exemplos para integração com a API da Nuvende! Aqui você encontrará diversos exemplos para guiá-lo na integração da sua aplicação e o ambiente Nuvende.
Uma SDK (Software Development Kit) é como uma "caixa de ferramentas" que facilita o uso de uma API. Em vez de fazer requisições HTTP complexas manualmente, você usa métodos simples e prontos que já estão organizados e testados.
// Fazer requisição HTTP manual
fetch('https://api-h.nuvende.com.br/api/v2/cobranca/cob/charge-123', {
method: 'PUT',
headers: {
'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
chave: 'e3fe4462-4c8e-42c1-8360-b41b404ae557',
nomeRecebedor: 'Minha Loja',
valor: { original: '100.00', modalidadeAlteracao: 0 },
devedor: { nome: 'João Silva', cpf: '12345678901' }
})
})
import { Client, SolicitacaoCobranca } from '@nuvende/sdk-node';
const cob = await client.cob().criarOuSubstituir('seu-txid', Object.assign(new SolicitacaoCobranca(), {
chave: 'e3fe4462-4c8e-42c1-8360-b41b404ae557',
nomeRecebedor: 'Minha Loja',
calendarioExpiracao: 3600,
}));
A Nuvende oferece SDKs oficiais para as principais linguagens de programação:
npm install @nuvende/sdk-node
cob(), pagamentos(), etc.pip install nuvende-sdk
py.typed), zero deps runtimecomposer require nuvende/sdk-php
Todas as nossas SDKs seguem uma estrutura organizada em namespaces para facilitar o uso:
// Métodos diretos para autenticação
await client.login() // Fazer login
await client.logout() // Fazer logout
await client.getUser() // Obter dados do usuário
// Verificação de pessoas físicas e jurídicas
await client.kyc.backgroundCheckNaturalPerson('12345678901')
await client.kyc.backgroundCheckLegalPerson('12345678000195')
// Gestão completa de pagamentos Pix
await client.payment.createCharge('charge-123', {...})
await client.payment.getCharge('charge-123')
await client.payment.listTransactions()
await client.payment.createTransaction({...})
// Configuração de notificações automáticas
await client.webhook.createWebhook('sua-chave-pix', {...})
await client.webhook.listWebhooks('sua-chave-pix')
await client.webhook.deleteWebhook('sua-chave-pix')
// Gestão de estabelecimentos comerciais
await client.merchant.listMerchants()
await client.merchant.createMerchant({...})
await client.merchant.updateMerchant('merchant-id', {...})
await client.merchant.deleteMerchant('merchant-id')
// Gestão de terminais de pagamento
await client.terminal.listTerminals()
await client.terminal.createTerminal({...})
await client.terminal.updateTerminal('terminal-id', {...})
// Gestão de documentos e comprovantes
await client.document.createDocument({...})
await client.document.updateDocument('document-id', {...})
A API da Nuvende opera em dois ambientes distintos:
https://api-h.nuvende.com.brhttps://api.nuvende.com.br# Node.js
npm install @nuvende/sdk-node
# Python
pip install nuvende-sdk
# PHP
composer require nuvende/sdk-php
// Node.js
import { Client, AutenticarClienteRequest } from '@nuvende/sdk-node';
const client = new Client('https://api-h.nuvende.com.br');
const auth = new AutenticarClienteRequest();
auth.grantType = 'client_credentials';
const token = await client.autenticacao().login(
auth,
process.env.NUVENDE_CLIENT_ID!,
process.env.NUVENDE_CLIENT_SECRET!,
);
client.definirToken(token.accessToken);
# Python
import os
from nuvende import Client, AutenticarClienteRequest
client = Client('https://api-h.nuvende.com.br')
auth = AutenticarClienteRequest(grant_type='client_credentials')
token = client.autenticacao().login(
auth,
os.environ['NUVENDE_CLIENT_ID'],
os.environ['NUVENDE_CLIENT_SECRET'],
)
client.definir_token(token.access_token)
// PHP (nuvende/sdk-php)
use Nuvende\Client;
use Nuvende\Requests\Autenticacao\AutenticarClienteRequest;
$client = new Client('https://api-h.nuvende.com.br');
$auth = new AutenticarClienteRequest();
$auth->grantType = 'client_credentials';
$token = $client->autenticacao()->login($auth, clientId: '...', clientSecret: '...');
$client->definirToken($token->accessToken);
import { SolicitacaoCobranca } from '@nuvende/sdk-node';
const cob = await client.cob().criar(
Object.assign(new SolicitacaoCobranca(), {
chave: 'sua-chave-pix',
nomeRecebedor: 'Minha Loja',
calendarioExpiracao: 3600,
}),
);
console.log('txid:', cob.txid);
.env:NUVENDE_CLIENT_ID=seu-client-id
NUVENDE_CLIENT_SECRET=seu-client-secret
const client = new Client(
process.env.NUVENDE_BASE_URL ?? 'https://api-h.nuvende.com.br',
);
// login com process.env.NUVENDE_CLIENT_ID / NUVENDE_CLIENT_SECRET
A API possui limites de requisições para garantir estabilidade:
| Endpoint | Limite | Janela |
|---|---|---|
| Login | 1 req | 1 minuto |
| Cobranças (GET) | 60 req | 1 minuto |
| Cobranças (PUT) | 30 req | 1 minuto |
| Webhooks | 5 req | 1 minuto |
import { RateLimitException } from '@nuvende/sdk-node';
try {
await client.pagamentos().listar();
} catch (e) {
if (e instanceof RateLimitException) {
// aguardar e repetir
}
}
Agora que você entende o básico sobre nossas SDKs, escolha sua linguagem preferida e siga para o guia específico:
Dica: Comece sempre pelo ambiente sandbox para testar suas integrações antes de migrar para produção!