As aplicações são o núcleo da integração entre parceiros e clientes da Nuvende. Cada aplicação representa um produto ou serviço específico que o parceiro oferece e define quais permissões serão solicitadas aos clientes.
Uma aplicação de parceiro é caracterizada por:
client_id e client_secret únicos (gerados após aprovação)client_id e client_secret são gerados/api/v2/partners/applicationLista todas as aplicações cadastradas pelo parceiro autenticado.
curl --location 'https://api-h.nuvende.com.br/api/v2/partners/application' \
--header 'Authorization: Bearer {access_token}'
{
"data": [
{
"id": "abnks92-cb57-4ee3-a997-655fb5d0ea45",
"partner": {
"id": "981239kd-98d9-45d3-a1e0-eb24db30d22e",
"name": "Nome do Parceiro",
"contact_email": "[email protected]",
"contact_phone": "11999999999",
"status": "active",
"scopes": [
"cob.read",
"cob.write",
"pix.read",
"pix.write"
]
},
"name": "Minha Aplicação",
"description": "Descrição detalhada da aplicação",
"briefing": "Resumo da aplicação",
"category": "Fintech",
"scopes": [
"cob.read",
"cob.write"
],
"client_id": "ffcfb2ed-d669-4e33-9c4d-fa87dd4c226e",
"client_secret": "nFNTATLHFp1hGAPZNU0JwJAPY3fQQZVW",
"status": "active",
"created_at": "2025-01-15T14:25:57-03:00",
"updated_at": "2025-01-15T14:25:57-03:00"
}
],
"links": {
"first": "https://api-h.nuvende.com.br/api/v2/partners/application?page=1",
"last": "https://api-h.nuvende.com.br/api/v2/partners/application?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"per_page": 10,
"to": 1,
"total": 1
}
}
/api/v2/partners/applicationCria uma nova aplicação vinculada ao parceiro autenticado.
curl --location 'https://api-h.nuvende.com.br/api/v2/partners/application' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '{
"name": "Nome da Aplicação",
"description": "Descrição detalhada da aplicação",
"briefing": "Resumo da aplicação",
"category": "Fintech",
"scopes": [
"cob.read",
"cob.write"
]
}'
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome da aplicação |
description | string | Sim | Descrição detalhada |
briefing | string | Sim | Resumo da aplicação |
category | string | Sim | Categoria da aplicação |
scopes | array | Sim | Lista de escopos necessários |
| Escopo | Descrição |
|---|---|
cob.read | Leitura de cobranças Pix |
cob.write | Criação de cobranças Pix |
pix.read | Leitura de dados Pix |
pix.write | Operações Pix |
account.read | Leitura de dados da conta |
account.write | Operações na conta |
terminal.read | Leitura de terminais |
terminal.write | Operações em terminais |
/api/v2/partners/application/{application_id}Atualiza os dados de uma aplicação específica.
curl --location --request PATCH 'https://api-h.nuvende.com.br/api/v2/partners/application/{application_id}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '{
"name": "Novo Nome da Aplicação",
"description": "Nova descrição",
"briefing": "Novo briefing",
"category": "Nova Categoria",
"scopes": [
"cob.read",
"cob.write",
"pix.read"
]
}'
| Status | Descrição |
|---|---|
pending | Aguardando homologação |
approved | Aprovada e ativa |
rejected | Rejeitada na homologação |
suspended | Suspensa temporariamente |
client_secret em segurança// Criar nova aplicação
const createApplication = async (token, applicationData) => {
const response = await fetch('https://api-h.nuvende.com.br/api/v2/partners/application', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
name: applicationData.name,
description: applicationData.description,
briefing: applicationData.briefing,
category: applicationData.category,
scopes: applicationData.scopes
})
});
if (!response.ok) {
throw new Error(`Erro ao criar aplicação: ${response.status}`);
}
return response.json();
};
// Listar aplicações
const listApplications = async (token) => {
const response = await fetch('https://api-h.nuvende.com.br/api/v2/partners/application', {
headers: {
'Authorization': `Bearer ${token}`
}
});
return response.json();
};
// Uso
const applications = await listApplications(accessToken);
console.log('Aplicações:', applications.data);
Após criar e aprovar uma aplicação: