Jornada de Gestão de Conta e Perfis
Esta documentação apresenta o fluxo de gestão de contas e perfis no sistema Finway, focando nas operações fundamentais de consulta e atualização de dados da conta e perfil do usuário.
Visão Geral
A jornada de gestão de conta e perfis permite que usuários já onboardados realizem operações básicas de gestão da conta, incluindo:
- Consulta de dados e status da conta
- Verificação de saldo atual
- Atualização de dados pessoais
- Gestão de documentos e endereço
- Configuração de preferências de notificação
1. Consulta de Conta e Saldo
Recuperar Saldo e Status da Conta
Endpoint: GET /holders/{document}/accounts
Este endpoint deve ser chamado ANTES e DEPOIS de ativar a conta no Backoffice para verificar o status atual.
Exemplo de Requisição
curl --location 'https://api-dev.finway.com.br/api/bank-services/holders/60483453000148/accounts' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX'
Parâmetros
{document}: CPF/CNPJ do titular ou "me" para usuário autenticadoX-buildersbank-Authorization: Token JWT de autenticaçãoclient_id: Identificador do cliente
Resposta
{
"account": {
"id": "acc_123456789",
"accountIdentification": "12345-6",
"holder": {
"name": "João Silva Santos",
"document": "12345678901",
"email": "joao.silva@email.com"
},
"accountStatus": "ACTIVE",
"provider": "DOCK"
},
"globalBalance": 1250.75,
"menus": [
{
"id": "pix",
"name": "PIX",
"enabled": true,
"order": 1
},
{
"id": "transfer",
"name": "Transferências",
"enabled": true,
"order": 2
},
{
"id": "statements",
"name": "Extratos",
"enabled": true,
"order": 3
}
]
}
Status da Conta
ACTIVE: Conta ativa e operacionalINACTIVE: Conta inativaBLOCKED: Conta bloqueadaPENDING: Conta pendente de ativaçãoCANCELLED: Conta cancelada
Campos Retornados
- account.id: Identificador único da conta
- account.accountIdentification: Número da conta formatado
- account.holder: Dados do titular da conta
- account.accountStatus: Status atual da conta
- account.provider: Provedor de serviços bancários
- globalBalance: Saldo atual da conta (em centavos)
- menus: Lista de funcionalidades disponíveis para o usuário
2. Atualização de Dados da Conta
Atualizar Dados da Conta
Endpoint: PUT /holders/{document}/accounts
Atualiza dados de ativação da conta, incluindo informações pessoais do portador.
Exemplo de Requisição
curl --location --request PUT 'https://api-dev.finway.com.br/api/bank-services/holders/me/accounts' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX' \
--header 'Content-Type: application/json' \
--data '{
"name": "João Silva Santos",
"motherName": "Maria Santos Silva",
"birthDate": "1990-05-15"
}'
Campos Obrigatórios
- name: Nome completo do portador da conta
- motherName: Nome completo da mãe
- birthDate: Data de nascimento (formato YYYY-MM-DD)
Atualização Parcial da Conta
Endpoint: PATCH /holders/{document}/accounts
Executa atualizações parciais nas informações da conta, como foto do perfil ou metadados.
Exemplo de Requisição
curl --location --request PATCH 'https://api-dev.finway.com.br/api/bank-services/holders/me/accounts' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX' \
--header 'Content-Type: application/json' \
--data '{
"profilePictureLink": "https://storage.googleapis.com/profile-pics/user123_new.jpg"
}'
3. Gerenciamento de Endereço
Obter Endereço da Conta
Endpoint: GET /holders/{document}/accounts/address
Recupera as informações atuais de endereço do portador da conta.
Exemplo de Requisição
curl --location 'https://api-dev.finway.com.br/api/bank-services/holders/me/accounts/address' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX'
Resposta
{
"address": {
"street": "Rua das Flores",
"number": "123",
"complement": "Apto 45",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"zipCode": "01234-567",
"country": "Brasil"
},
"updatedAt": "2023-11-15T10:30:00Z"
}
4. Upload de Documentos
Upload de Documento (V2)
Endpoint: POST /v2/holders/{document}/accounts/documents
Faz upload de documentos usando payload JSON com conteúdo codificado em base64.
Exemplo de Requisição
curl --location 'https://api-dev.finway.com.br/api/bank-services/v2/holders/me/accounts/documents' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX' \
--header 'Content-Type: application/json' \
--data '{
"documentType": "CPF_FRONT",
"fileContent": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==",
"fileName": "cpf_frente.jpg",
"mimeType": "image/jpeg"
}'
Tipos de Documento Aceitos
CPF_FRONT: Frente do CPFCPF_BACK: Verso do CPFRG_FRONT: Frente do RGRG_BACK: Verso do RGCNH_FRONT: Frente da CNHCNH_BACK: Verso da CNHPROOF_OF_INCOME: Comprovante de rendaPROOF_OF_ADDRESS: Comprovante de endereçoSELFIE: Selfie do usuário
5. Preferências de Notificação
Obter Preferências de Notificação
Endpoint: GET /holders/{document}/notifications/preferences
Recupera as preferências atuais de notificação do usuário.
Exemplo de Requisição
curl --location 'https://api-dev.finway.com.br/api/bank-services/holders/me/notifications/preferences' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX'
Atualizar Preferências de Notificação
Endpoint: PUT /holders/{document}/notifications/preferences
Atualiza as preferências de notificação do usuário.
Exemplo de Requisição
curl --location --request PUT 'https://api-dev.finway.com.br/api/bank-services/holders/me/notifications/preferences' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX' \
--header 'Content-Type: application/json' \
--data '{
"preferences": [
{
"notificationType": "EMAIL",
"category": "TRANSACTION",
"enabled": true
},
{
"notificationType": "SMS",
"category": "SECURITY",
"enabled": true
}
]
}'
Tipos de Notificação
EMAIL: Notificações por emailSMS: Notificações por SMSPUSH: Notificações pushIN_APP: Notificações no aplicativo
Categorias de Notificação
TRANSACTION: Notificações de transaçãoSECURITY: Alertas de segurançaMARKETING: Comunicações de marketingACCOUNT: Atualizações da contaPIX: Notificações PIX
6. Integração com Backoffice
Ativação de Conta
O endpoint de consulta de conta é essencial no processo de ativação via Backoffice:
Fluxo de Ativação
- Antes da Ativação: Consultar status atual (geralmente
PENDING) - Ativar no Backoffice: Processo administrativo de ativação
- Após a Ativação: Consultar novamente para confirmar status
ACTIVE
Exemplo de Verificação
# 1. Verificar status antes da ativação
curl --location 'https://api-dev.finway.com.br/api/bank-services/holders/60483453000148/accounts' \
--header 'X-buildersbank-Authorization: {token}' \
--header 'client_id: XXX'
# Resultado esperado: "accountStatus": "PENDING"
# 2. Após ativação no Backoffice, verificar novamente
# Resultado esperado: "accountStatus": "ACTIVE"
Sincronização de Dados
A consulta de conta também serve para sincronizar dados entre sistemas:
Dados Sincronizados
- Status atual da conta
- Saldo atualizado
- Menus e funcionalidades disponíveis
- Informações do titular
- Configurações da conta
Considerações de Segurança
Autenticação
- Todas as operações requerem token JWT válido no header
X-buildersbank-Authorization - Token de cliente válido no header
client_id - Tokens têm TTL limitado e devem ser renovados periodicamente
Controle de Acesso
- Usuários só podem consultar suas próprias contas
- Parâmetro
{document}deve corresponder ao usuário autenticado ou usar "me" - Tentativas de acesso não autorizado são registradas
Proteção de Dados
- Informações sensíveis são mascaradas quando necessário
- Logs de acesso são mantidos para auditoria
- Dados pessoais seguem LGPD
Códigos de Status HTTP
200 OK: Consulta realizada com sucesso401 Unauthorized: Token inválido ou expirado403 Forbidden: Acesso negado ao recurso404 Not Found: Conta não encontrada500 Internal Server Error: Erro interno do servidor
Próximos Passos
Após verificar o status da conta e confirmar que está ativa, o usuário pode:
- Acessar funcionalidades PIX (ver documentação específica)
- Consultar extratos e transações (ver documentação específica)
- Gerar relatórios de renda através do endpoint de income-report
- Gerenciar documentos legais através dos endpoints de documentos