Connect
Geração de tokens para o widget de conexão frontend. O token permite que o usuário final conecte suas contas bancárias de forma segura.
Fluxo de Conexão
- Seu backend gera um connect token via esta API
- O frontend usa o token no widget do provedor (ex: Pluggy Connect)
- O usuário autentica com sua instituição financeira
- O provedor retorna um
externalItemId - Seu backend sincroniza o item via
POST /api/v1/items/sync
Gerar Token de Conexão
POST /api/v1/connect/token
Gera um token temporário para iniciar o fluxo de conexão no frontend.
Request
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
configId | string | Não | ID da configuração do provedor (usa o padrão se omitido) |
webhookUrl | string | Não | URL para receber webhooks desta conexão |
clientUserId | string | Não | ID do usuário no seu sistema |
- cURL
- JavaScript
curl -X POST 'https://open-finance.stg.catalisa.app/api/v1/connect/token' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"clientUserId": "usuario-123"
}'
const response = await fetch('https://open-finance.stg.catalisa.app/api/v1/connect/token', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
clientUserId: 'usuario-123',
}),
});
const { data } = await response.json();
// Use data.attributes.accessToken no widget do provedor
console.log('Token:', data.attributes.accessToken);
console.log('Expira em:', data.attributes.expiresAt);
Response (201 Created)
{
"data": {
"type": "openfinance-connect-token",
"attributes": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"expiresAt": "2024-01-15T11:30:00Z"
}
}
}
Exemplo: Integração com Widget
// 1. Gerar token no backend
const tokenResponse = await fetch('https://open-finance.stg.catalisa.app/api/v1/connect/token', {
method: 'POST',
headers: {
'Authorization': `Bearer ${backendToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ clientUserId: userId }),
});
const { data } = await tokenResponse.json();
// 2. Abrir widget no frontend (exemplo com Pluggy)
const pluggyConnect = new PluggyConnect({
connectToken: data.attributes.accessToken,
onSuccess: async (itemData) => {
// 3. Sincronizar item no backend
await fetch('https://open-finance.stg.catalisa.app/api/v1/items/sync', {
method: 'POST',
headers: {
'Authorization': `Bearer ${backendToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
externalItemId: itemData.item.id,
personId: customerId,
}),
});
},
});
pluggyConnect.init();