Carteiras

Visão geral

O recurso de Carteiras é um componente fundamental da Selectwin API, permitindo o gerenciamento de contas bancárias para recebimento de valores de transações processadas pela plataforma. Este recurso

Introdução

O recurso de Carteiras é um componente fundamental da Selectwin API, permitindo o gerenciamento de contas bancárias para recebimento de valores de transações processadas pela plataforma. Este recurso possibilita configurar múltiplas contas de destino para liquidação, com suporte para diferentes bancos e tipos de conta, facilitando a gestão financeira de sua empresa.

A API de Carteiras foi projetada com foco na segurança, integração bancária e flexibilidade, permitindo que os desenvolvedores implementem soluções robustas para gestão financeira e recebimento de valores.

Conceito e Funcionalidade

As carteiras representam contas bancárias dentro da plataforma, armazenando de forma segura as informações necessárias para processar transferências e liquidações financeiras. Este recurso permite que os vendedores configurem destinos para recebimento dos valores provenientes de vendas e outras operações financeiras.

Cada carteira está associada a um vendedor específico e pode ser utilizada em diversas operações financeiras, como recebimento de liquidações, saques e transferências. Uma carteira pode ser marcada como principal, sendo utilizada como destino padrão para as liquidações automáticas.

Estrutura do Objeto Carteira

O objeto Carteira contém informações detalhadas sobre a conta bancária, titular e configurações. A estrutura completa (create/read) inclui:

{
  "id": "wall_01hqzvabc",
  "name": "Minha Carteira Principal",
  "holderName": "João Santos",
  "bankName": null,
  "bankCode": "260",
  "routingNumber": "0001",
  "accountNumber": "11111111-5",
  "accountType": "checking",
  "pixKey": null,
  "primary": true,
  "enabled": true,
  "updatedAt": "2026-04-12T17:56:33.000Z",
  "createdAt": "2026-04-12T17:56:33.000Z",
  "merchant": {
    "name": "Seller Name",
    "merchantId": "bus_1234567890",
    "isSubAccount": false
  },
  "_links": { "self": { "href": "https://api.selectwin.io/v1/wallets/wall_01hqzvabc", "method": "GET", "description": "Read a wallet." } }
}

Campos do Objeto

CampoTipoDescrição
idstringIdentificador (wall_*)
namestringNome descritivo
holderNamestringTitular (preenchido a partir dos dados da empresa)
bankNamestring | nullNome do banco (atualmente sempre null — lookup COMPE é evolução futura)
bankCodestring | nullCódigo do banco
routingNumberstring | nullAgência
accountNumberstring | nullConta
accountTypestringTipo de conta — sempre checking
pixKeystring | nullChave PIX (atualmente sempre null — carteiras PIX são evolução futura)
primarybooleanCarteira principal (destino padrão de liquidação)
enabledbooleanCarteira habilitada
createdAt / updatedAtstringTimestamps ISO 8601
merchantobjectBloco merchant (name, merchantId, isSubAccount) — apenas em respostas de recurso
_linksobjectHATEOAS — apenas em respostas de recurso (omitido nos itens de list-all)

Notas de fidelidade (respostas da API):

  • Respostas de recurso (create/read/set-primary) incluem merchant + _links no root.
  • List (/v1/wallets): envelope paginado { offset, limit, total, page, hasMore, data, merchant, _links }.
  • List-all (/v1/wallets/listall): array simples de carteiras (cada item carrega o objeto completo, mas sem _links).
  • Delete: { id, resource:"wallet", deleted:true, merchant, _links }.

Sem campo de status: a carteira não possui um campo status (não há fluxo pending → enabled → rejected). O estado da carteira é descrito pelos booleanos primary e enabled. Não existem endpoints de atualização de dados bancários nem de habilitar/desabilitar pela API pública; a única mutação além de criar/excluir é definir a carteira como principal (set-primary).

Recursos Disponíveis

RecursoMétodoEndpointEscopoDescrição
Criar CarteiraPOST/v1/walletswallets:createCria uma nova carteira (retorna o objeto completo com merchant/_links)
Consultar CarteiraGET/v1/wallets/{walletId}wallets:readObtém detalhes completos
Listar CarteirasGET/v1/walletswallets:listLista paginada (com merchant/_links)
List AllGET/v1/wallets/listallwallets:listLista sem paginação (array simples)
Definir como PrincipalPATCH/v1/wallets/{walletId}/set-primarywallets:updateMarca a carteira como destino padrão de liquidação
Excluir CarteiraDELETE/v1/wallets/{walletId}wallets:deleteArquiva a carteira (confirmação com merchant/_links)

Webhooks Acionados

EventoDescrição
wallet.createdAcionado quando uma nova carteira é criada no sistema.
wallet.deletedAcionado quando uma carteira é removida (arquivada) do sistema.

Apenas wallet.created e wallet.deleted são emitidos. Não há eventos wallet.pending/enabled/disabled/rejected.

Casos de Uso Comuns

  • Marketplace: Configuração de múltiplas carteiras para diferentes vendedores ou lojas
  • E-commerce: Configuração de carteira principal para recebimento de valores de vendas
  • Gestão Financeira: Direcionamento de recebíveis para diferentes contas baseado em regras de negócio
  • Contabilidade: Separação de recebimentos por categoria ou área de negócio
  • Empresas com Múltiplas Filiais: Configuração de carteiras específicas para cada unidade

Melhores Práticas

  1. Sempre valide os dados bancários antes de criar uma carteira para evitar problemas de liquidação
  2. Utilize o campo primary para designar uma carteira como principal quando apropriado
  3. Adote nomes descritivos para facilitar a identificação das carteiras
  4. Verifique se a carteira existe antes de tentar operações como exclusão
  5. Utilize filtros na listagem para localizar carteiras específicas mais facilmente
  6. Considere o contexto de uso ao decidir entre criar múltiplas carteiras ou centralizar em uma única
  7. Mantenha as informações atualizadas para evitar falhas nas transferências bancárias

Solução de Problemas Comuns

ProblemaPossível CausaSolução Recomendada
409 Conflict ao criar carteiraJá existe uma carteira com os mesmos dados bancários (dedupe)Reutilize a carteira existente em vez de recriá-la
400 bankCodeNotSupportedCódigo do banco não suportadoVerifique se o código do banco é válido e suportado
Valores sendo direcionados para carteira erradaMúltiplas carteiras com flag primaryUse PATCH /v1/wallets/{walletId}/set-primary para definir a carteira principal correta
404 walletNotFoundID de carteira inválido ou carteira arquivadaVerifique o wall_* informado
409 walletHasPendingWithdrawal ao excluirHá um saque em andamento para esta carteiraAguarde a conclusão do saque antes de excluir a carteira

Integração com Outros Recursos

O recurso de Carteiras integra-se com:

  • Finance: Carteiras são destinos para saques e liquidações financeiras
  • Transactions: Valores processados em transações são direcionados para carteiras
  • Webhooks: Notificações em tempo real sobre mudanças de status nas carteiras
  • Receivables: Recebíveis são liquidados nas carteiras configuradas

How is this guide?

On this page