SelectwinDOCS
Carteiras

Consultar uma carteira

Recupera todos os detalhes de uma carteira (conta bancária) cadastrada, a partir do seu identificador único. Use esta consulta para conferir os dados bancários antes de realizar um saque, verificar qu

Recupera todos os detalhes de uma carteira (conta bancária) cadastrada, a partir do seu identificador único. Use esta consulta para conferir os dados bancários antes de realizar um saque, verificar qual carteira é a principal ou exibir a conta de recebimento na sua interface.

GET /v1/wallets/{walletId}

Como funciona

Uma carteira representa uma conta bancária vinculada ao seu negócio (o merchant) e serve como destino dos seus saques. Este endpoint é uma operação de leitura (GET): ele não altera nada no servidor, é seguro de repetir quantas vezes quiser (idempotente por natureza) e devolve o objeto completo da carteira.

Diferente da listagem — que retorna projeções leves (versões resumidas de cada carteira) —, a consulta individual entrega o objeto completo, incluindo campos como accountType e o bloco merchant. Sempre que precisar de todos os detalhes de uma carteira específica, prefira este endpoint ao invés de filtrar a lista.

A resposta também traz um bloco _links (padrão HATEOAS — links que indicam as próximas ações possíveis a partir deste recurso). Em vez de montar URLs manualmente, você pode seguir _links.delete.href para apagar esta carteira ou _links.list.href para listar todas. Veja Convenções para os padrões transversais da API.

Quando usar (e quando não usar)

Use quando:

  • Precisar exibir ou conferir os dados bancários completos de uma carteira específica (titular, agência, conta, tipo).
  • Quiser confirmar se uma carteira está habilitada (enabled) ou se é a principal (primary) antes de iniciar um saque.
  • Já tiver o walletId em mãos (por exemplo, salvo após a criação ou obtido na listagem).

Prefira alternativas quando:

  • Quiser percorrer ou filtrar várias carteiras de uma vez — use Listar carteiras, que aceita paginação e filtros.
  • Ainda não tiver o ID — você não pode consultar por número de conta; obtenha o walletId primeiro na listagem.

Requisição

Headers

CabeçalhoObrigatórioDescrição
SelectKeySimSua chave de API. Em produção começa com sl_live_; em sandbox, com sl_test_. Veja Autenticação.

Por ser uma leitura sem corpo, não é necessário enviar Content-Type nem X-Idempotency-Key. Nunca use Authorization: Bearer ou Basic — a autenticação é sempre via header SelectKey.

Parâmetros de caminho

ParâmetroTipoObrigatórioDescrição
walletIdstringSimIdentificador da carteira, no formato wall_* (ex.: wall_01hqzvabc). Trate-o como uma string opaca — não tente fazer parsing dele.

Exemplo (curl)

curl https://api.selectwin.io/v1/wallets/wall_01hqzvabc \
  -H "SelectKey: sl_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ"

Resposta

Sucesso (200 OK)

{
  "id": "wall_01hqzvabc",
  "name": "Conta principal",
  "bankName": "Nubank",
  "bankCode": "260",
  "holderName": "João Santos",
  "routingNumber": "0001",
  "accountNumber": "12345678",
  "accountType": "checking",
  "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."
    },
    "create": {
      "href": "https://api.selectwin.io/v1/wallets",
      "method": "POST",
      "description": "Create a new wallet."
    },
    "delete": {
      "href": "https://api.selectwin.io/v1/wallets/wall_01hqzvabc",
      "method": "DELETE",
      "description": "Delete the wallet."
    },
    "list": {
      "href": "https://api.selectwin.io/v1/wallets",
      "method": "GET",
      "description": "List all wallets."
    }
  }
}

Campos da resposta

CampoTipoDescrição
idstringIdentificador da carteira (wall_*).
namestringNome descritivo da conta.
bankNamestringNome do banco (ex.: Nubank).
bankCodestringCódigo do banco (COMPE/ISPB, ex.: 260).
holderNamestringNome do titular da conta.
routingNumberstringAgência bancária.
accountNumberstringNúmero da conta (com dígito).
accountTypestringTipo de conta (ex.: checking). Presente na consulta individual e na criação.
primarybooleantrue se esta é a carteira principal usada para saques.
enabledbooleantrue se a carteira está ativa e disponível.
createdAtstringData/hora de criação, em ISO 8601 UTC.
updatedAtstringData/hora da última atualização, em ISO 8601 UTC.
merchantobjectDados do negócio dono da carteira.
merchant.namestringNome do negócio.
merchant.merchantIdstringIdentificador do negócio (ex.: bus_*).
merchant.isSubAccountbooleantrue se o negócio é uma subconta.
_linksobjectLinks HATEOAS (self, create, delete, list) com as próximas ações.

Nota

A consulta individual inclui accountType e o objeto merchant, que não aparecem nos itens resumidos da listagem. Quando precisar de todos os campos, use sempre este endpoint.

Erros

Em caso de falha, a resposta segue o envelope padrão de erro — identifique sempre pelo error.code (estável), nunca pela message (texto livre). Veja Tratamento de Erros e o Catálogo de Códigos de Erro.

error.codeHTTPQuando ocorre
walletIdIsInvalid400O walletId informado tem formato inválido.
unauthorized401SelectKey ausente, inválida ou revogada.
forbidden403Autenticado, mas sem permissão para acessar esta carteira.
walletNotFound404Nenhuma carteira com esse ID, ou ela não pertence ao seu negócio.
bankAccountNotReadable422A conta bancária existe, mas não pôde ser lida (restrição de negócio).
tooManyRequests429Limite de requisições excedido — respeite error.retryAfterMinutes e repita com backoff.
serverError500Erro interno inesperado — tente novamente; se persistir, contate o suporte.
{
  "error": {
    "code": "walletNotFound",
    "statusCode": 404,
    "category": "client",
    "message": "Wallet not found"
  }
}

Boas práticas

  • Armazene o walletId retornado na criação para consultar a carteira depois sem precisar varrer a listagem.
  • Trate o ID como opaco: não valide comprimento nem tente derivar dados dele; apenas verifique a presença antes de chamar a API para evitar walletIdIsInvalid.
  • Confira enabled e primary antes de iniciar um saque: opere com a carteira certa e evite tentar sacar de uma conta inativa.
  • Diferencie 404 de 403: walletNotFound significa que o ID não existe (ou não é seu); forbidden indica falta de permissão. Trate-os de formas distintas na sua aplicação.
  • Não registre dados sensíveis (accountNumber, holderName) em logs ou bancos desprotegidos.
  • Faça cache com cuidado: se cachear a resposta, use um TTL curto e invalide-o após qualquer alteração; campos como primary e enabled podem mudar.
  • Siga os _links em vez de montar URLs à mão — assim seu código acompanha mudanças de rota automaticamente.

Veja também

How is this guide?

On this page