Cartões - Consultar
Visão Geral
Este endpoint permite consultar informações detalhadas sobre um cartão específico, identificado pelo seu ID único. Os dados retornados incluem informações parciais do cartão (por segurança), detalhes sobre o estado do cartão, e metadados associados.
Precauções
- Segurança: Apenas dados parciais do cartão são retornados (primeiros e últimos dígitos), nunca o número completo.
- Autenticação: Certifique-se de que o usuário tem permissão para acessar os dados do cartão especificado.
- ID do Cartão: O ID do cartão deve ser válido e existir no sistema.
Descrição
O endpoint Consultar Cartão permite obter todas as informações disponíveis sobre um cartão específico cadastrado no sistema, utilizando seu identificador único.
Requisição
GET /v1/cards/{cardId}Parâmetros da Requisição
| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
cardId | string | Sim | Identificador único do cartão | "card_01hqzvabc" |
Resposta - 200 OK
Se a requisição for bem-sucedida, um objeto JSON com detalhes do cartão solicitado é retornado.
Exemplo de Resposta
{
"id": "card_01hqzvabc",
"holderName": "João Silva",
"brand": "Visa",
"firstDigits": "411111",
"lastDigits": "1111",
"expirationMonth": "12",
"expirationYear": "2030",
"primary": true,
"active": true,
"valid": true,
"verified": true,
"associated": 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/cards/card_01hqzvabc",
"method": "GET",
"description": "Read a card."
},
"delete": {
"href": "https://api.selectwin.io/v1/cards/card_01hqzvabc",
"method": "DELETE",
"description": "Delete the card."
},
"list": {
"href": "https://api.selectwin.io/v1/cards",
"method": "GET",
"description": "List all cards."
}
}
}Atributos da Resposta
| 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 | null | Associado ao cliente. null = pendente: o cartão entrou por uma porta do COMPRADOR (checkout hospedado, portal do assinante, o payment.card de uma cobrança ou assinatura, o token cunhado no navegador — também o salvo em /v1/cards) e ainda não tem cobrança aprovada — o resultado da validação de valor zero não é exibido antes disso (ver Visão geral). Nos cartões criados pela própria conta em /v1/cards com os dados completos, true/false como sempre |
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) |
merchant | object | Bloco do merchant (name, merchantId, isSubAccount) |
_links | object | HATEOAS (self, create, delete, list) |
Respostas de Erro
Todas as respostas de erro seguem o envelope { "error": { status, statusCode, category, code, message, resource, details?, params? } }.
400 Bad Request - Formato de ID Inválido
Retornado quando o cardId não tem o prefixo card_.
{
"error": {
"status": "Bad Request",
"statusCode": 400,
"category": "validation",
"code": "validation",
"message": "Validation errors occurred.",
"resource": "card",
"params": [
{ "cardId": "must be a valid card_ id" }
]
}
}404 Not Found - Cartão não encontrado
{
"error": {
"status": "Not Found",
"statusCode": 404,
"category": "client",
"code": "cardIdNotFound",
"message": "Card ID not found.",
"resource": "card",
"details": "The card ID was not found. Please check the card ID and try again."
}
}409 Conflict - Cartão expirado
Retornado quando o cartão existe mas já está marcado como expirado.
{
"error": {
"status": "Conflict",
"statusCode": 409,
"category": "client",
"code": "cardExpired",
"message": "Card expired",
"resource": "card",
"details": "The provided card has expired. Please use a valid card."
}
}Casos de Uso
- Exibição de Detalhes do Cartão: Mostrar informações do cartão na interface do cliente
- Verificação de Status: Verificar se um cartão está ativo, válido ou marcado como primário
- Confirmação Antes do Pagamento: Exibir informações mascaradas do cartão para confirmação antes de efetuar uma transação
- Validação Antes de Operações: Verificar a validade e o estado do cartão antes de operações críticas
Melhores Práticas
- Caching Limitado: Implemente cache com tempo de expiração curto para reduzir chamadas repetidas ao API
- Exibição Segura: Sempre exiba apenas informações mascaradas dos cartões na interface do usuário
- Verificações Regulares: Verifique periodicamente a validade dos cartões armazenados para notificar clientes sobre cartões prestes a expirar
- Tratamento de Erros: Implemente tratamento adequado para os diferentes cenários de erro
- Verificação de Permissões: Confirme que o usuário atual tem permissão para acessar as informações do cartão solicitado
Integração com Outros Endpoints
- Use Listar Cartões para obter todos os cartões de um cliente
- Cartões são imutáveis: para alterar dados, exclua o cartão e cadastre um novo
- Use Excluir Cartão para remover um cartão que não será mais utilizado
Atualizado em 17 de outubro de 2026