Listar cartões
Este endpoint permite recuperar informações sobre todos os cartões armazenados para um cliente específico, facilitando a gestão de métodos de pagamento e oferecendo opções de filtragem e paginação par
Visão Geral
Este endpoint permite recuperar informações sobre todos os cartões armazenados para um cliente específico, facilitando a gestão de métodos de pagamento e oferecendo opções de filtragem e paginação para uma consulta eficiente.
Precauções
ATENÇÃO! Por favor, leia estas informações importantes antes de usar este endpoint.
- Paginação: Este endpoint retorna resultados paginados. Utilize os parâmetros
limiteoffsetpara navegar entre as páginas. - ID do Cliente: Para listar cartões de um cliente específico, forneça o ID do cliente como parâmetro.
- Dados Sensíveis: Por razões de segurança, os números completos dos cartões nunca são retornados, apenas os primeiros e últimos dígitos.
Descrição
O endpoint Listar Cartões permite consultar a lista de cartões cadastrados no sistema, com opções de filtragem por cliente e paginação.
Requisição
GET /v1/cards?limit=10&offset=0&sort=ascending&holderid=cus_123456789Parâmetros da Requisição
| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo | Valor Padrão |
|---|---|---|---|---|---|
limit | integer | Não | Número máximo de registros por página (1 a 100) | 10 | 10 |
offset | integer | Não | Número de registros a pular (paginação) | 0 | 0 |
sort | string | Não | Direção da ordenação por data de criação. Valores: ascending ou descending | ascending | ascending |
holderid | string | Não | Filtrar cartões pelo ID do cliente (cus_*) | cus_123456789 | — |
id | string | Não | Filtrar por um ID de cartão específico (card_*) | card_01hqzvabc | — |
daterange | string | Não | Filtrar por data de criação exata (YYYY-MM-DD ou ISO 8601) | 2026-04-12 | — |
daterangegt | string | Não | Criados após o instante informado (ISO 8601) | 2026-04-01T00:00:00Z | — |
daterangegte | string | Não | Criados em/após o instante informado (ISO 8601) | 2026-04-01T00:00:00Z | — |
daterangelt | string | Não | Criados antes do instante informado (ISO 8601) | 2026-05-01T00:00:00Z | — |
daterangelte | string | Não | Criados em/até o instante informado (ISO 8601) | 2026-05-01T00:00:00Z | — |
Resposta - 200 OK
Se a requisição for bem-sucedida, um objeto JSON com a lista de cartões e informações de paginação é retornado.
Exemplo de Resposta
{
"offset": 0,
"limit": 10,
"total": 2,
"page": {
"offset": { "first": 0, "prev": 0, "next": 0, "last": 0 },
"current": 1,
"total": 1
},
"hasMore": false,
"data": [
{
"id": "card_01hqzvabc",
"holderName": "João Silva",
"brand": "Visa",
"firstDigits": "411111",
"lastDigits": "1111",
"expirationMonth": "12",
"expirationYear": "2025",
"primary": true,
"active": true,
"valid": true,
"verified": true,
"associated": true,
"createdAt": "2026-04-12T17:56:33.000Z",
"updatedAt": "2026-04-12T17:56:33.000Z"
},
{
"id": "card_02hqzvxyz",
"holderName": "João Silva",
"brand": "Mastercard",
"firstDigits": "510000",
"lastDigits": "5555",
"expirationMonth": "06",
"expirationYear": "2026",
"primary": false,
"active": true,
"valid": true,
"verified": true,
"associated": true,
"createdAt": "2026-03-15T10:20:00.000Z",
"updatedAt": "2026-03-15T10:20:00.000Z"
}
],
"merchant": {
"name": "Seller Name",
"merchantId": "bus_1234567890",
"isSubAccount": false
},
"_links": {
"self": {
"href": "https://api.selectwin.io/v1/cards",
"method": "GET",
"description": "List all cards."
},
"create": {
"href": "https://api.selectwin.io/v1/cards",
"method": "POST",
"description": "Create a new card."
}
}
}Atributos da Resposta
Atributos de Paginação
| Atributo | Tipo | Descrição |
|---|---|---|
offset | integer | Posição inicial dos resultados retornados |
limit | integer | Quantidade máxima de registros retornados |
total | integer | Total de registros disponíveis para a consulta |
page.offset.first | integer | Offset da primeira página (sempre 0) |
page.offset.prev | integer | Offset da página anterior (0 quando não há anterior) |
page.offset.next | integer | Offset da próxima página (permanece no offset atual na última página) |
page.offset.last | integer | Offset da última página |
page.current | integer | Número da página atual (1-based) |
page.total | integer | Total de páginas disponíveis |
hasMore | boolean | Indica se existem mais resultados além dos retornados |
data | array | Array contendo os registros retornados |
merchant | object | Bloco do merchant (name, merchantId, isSubAccount) |
_links | object | HATEOAS de lista (self, create) |
Os offsets em
page.offsetsão sempre inteiros (nuncanull).
Atributos de cada objeto de Cartão no array data
Cada item de data segue o mesmo objeto de cartão da leitura, porém sem os blocos merchant e _links (que aparecem apenas no nível da lista).
| Atributo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único do cartão (card_*) |
holderName | string | Nome completo do titular do cartão |
brand | string | Bandeira do cartão, capitalizada (ex.: Visa, Mastercard, Elo) |
firstDigits | string | Primeiros 6 dígitos do número do cartão (BIN) |
lastDigits | string | Últimos 4 dígitos do número do cartão |
expirationMonth | string | Mês de validade do cartão (2 dígitos) |
expirationYear | string | Ano de validade do cartão (4 dígitos) |
primary | boolean | Indica se é o cartão principal do cliente |
active | boolean | Indica se o cartão está ativo |
valid | boolean | Indica se o cartão é válido (não expirado e passou nas validações) |
verified | boolean | Indica se o cartão foi verificado |
associated | boolean | Indica se o cartão está associado a um cliente |
createdAt | string (date-time) | Data e hora de criação do cartão (ISO 8601) |
updatedAt | string (date-time) | Data e hora da última atualização do cartão (ISO 8601) |
Respostas de Erro
404 Not Found - Cliente Não Encontrado
Retornado quando o filtro holderid aponta para um cliente inexistente.
{
"error": {
"status": "Not Found",
"statusCode": 404,
"category": "client",
"code": "invalidCustomerId",
"message": "Invalid customer ID.",
"resource": "customer"
}
}Um
holderid/idcom formato de prefixo inválido (semcus_/card_) retorna400 Bad Request(validação de campo) com o arrayparams.
Casos de Uso
- Exibição em Perfil do Cliente: Mostrar todos os cartões disponíveis na área do cliente
- Seleção de Método de Pagamento: Permitir que o cliente escolha entre seus cartões durante o checkout
- Gestão de Cartões: Apresentar uma interface para que o cliente gerencie seus cartões
- Dashboard Administrativo: Visualizar todos os cartões associados a um cliente específico
Melhores Práticas
- Implementação de Paginação: Utilize os parâmetros
offsetelimitpara implementar paginação eficiente - Cache de Resultados: Considere armazenar em cache os resultados por um curto período para melhorar o desempenho
- Tratamento de Lista Vazia: Implemente um tratamento adequado para quando a lista de cartões estiver vazia
- Exibição Segura: Sempre exiba apenas informações mascaradas dos cartões na interface do usuário
- Filtro de Cartão Principal: Utilize o atributo
primarypara destacar o cartão principal do cliente
Integração com Outros Endpoints
- Use Consultar Cartão para obter detalhes completos de um cartão específico da lista
- Use Criar Cartão para adicionar um novo cartão quando a lista estiver vazia ou incompleta
- Use Excluir Cartão para remover cartões indesejados ou expirados da lista
How is this guide?