Clientes

Listar clientes

Este endpoint permite recuperar uma lista paginada de clientes, com opções de filtragem e ordenação, facilitando a busca e visualização de múltiplos registros de clientes. É especialmente útil para in

Visão Geral

Este endpoint permite recuperar uma lista paginada de clientes, com opções de filtragem e ordenação, facilitando a busca e visualização de múltiplos registros de clientes. É especialmente útil para interfaces de gerenciamento, análise de dados de clientes e relatórios administrativos.

Precauções

ATENÇÃO! Por favor, leia estas informações importantes antes de usar este endpoint.

  • Paginação: Utilizar os parâmetros de paginação para limitar o volume de dados retornados por requisição.
  • Filtros: Aplicar filtros específicos para reduzir o conjunto de resultados e melhorar a performance.
  • Volume de Dados: Este endpoint pode retornar grandes volumes de dados, o que pode impactar o desempenho da aplicação.

Descrição

O endpoint Listar Clientes permite recuperar uma coleção paginada de clientes registrados no sistema. Os resultados podem ser filtrados por diversos parâmetros como e-mail ou documento, e ordenados conforme necessário.

Requisição

GET /v1/customers

Parâmetros de Consulta (Query)

ParâmetroTipoObrigatórioDescriçãoExemploLocalização
limitintegerNãoNúmero máximo de registros (1–100, padrão: 20)20Query
offsetintegerNãoPosição inicial para retornar registros (padrão: 0)0Query
sortstringNãoExpressão de ordenação (ex.: -createdAt)-createdAtQuery
idstringNãoFiltra clientes pelo ID específico (cus_*)cus_01hqzvabcQuery
namestringNãoFiltra clientes pelo nome ou sobrenome (busca parcial)joãoQuery
emailstringNãoFiltra clientes pelo endereço de e-mail[email protected]Query
documentstringNãoFiltra clientes pelo número do documento (11–20 dígitos)12345678900Query
telephonelinestringNãoFiltra clientes pela linha de telefone (7–20 dígitos, sem formatação)11987654321Query
externalreferencestringNãoFiltra clientes pela referência externaCUSTOMER_ID_12345Query

Também são aceitos os filtros de intervalo de data: daterange, daterangegt, daterangegte, daterangelt, daterangelte.

Resposta - 200 OK

Se a requisição for bem-sucedida, o servidor retornará um código de status HTTP 200 OK e uma lista paginada de clientes.

Exemplo de Resposta

{
  "offset": 0,
  "limit": 20,
  "total": 142,
  "hasMore": true,
  "page": {
    "current": 1,
    "total": 8,
    "offset": { "first": 0, "prev": null, "next": 20, "last": 140 }
  },
  "data": [
    {
      "id": "cus_01hqzvabc",
      "firstName": "João",
      "lastName": "Silva",
      "email": "[email protected]",
      "document": {
        "type": "cpf",
        "number": "12345678900"
      },
      "telephone": {
        "countryCode": "55",
        "areaCode": "11",
        "number": "987654321",
        "line": "11987654321"
      },
      "birthdate": "1990-05-15",
      "gender": "male",
      "available": true,
      "delinquent": false,
      "externalReference": "CRM-98765",
      "additionalEmails": ["[email protected]"],
      "metadata": { "source": "website" },
      "createdAt": "2026-04-12T17:56:33.000Z",
      "updatedAt": "2026-04-12T17:56:33.000Z",
      "_links": {
        "self": { "href": "https://api.selectwin.io/v1/customers/cus_01hqzvabc", "method": "GET", "description": "Read a customer." }
      }
    }
  ],
  "merchant": {
    "name": "Seller Name",
    "merchantId": "bus_1234567890",
    "isSubAccount": false
  },
  "_links": {
    "self": {
      "href": "https://api.selectwin.io/v1/customers",
      "method": "GET",
      "description": "List all customers."
    },
    "create": {
      "href": "https://api.selectwin.io/v1/customers",
      "method": "POST",
      "description": "Create a new customer."
    }
  }
}

Atributos da Resposta Paginada (lista de customers)

AtributoTipoDescrição
offsetintegerPosição inicial dos resultados retornados
limitintegerQuantidade máxima de registros retornados
totalintegerTotal de registros disponíveis para a consulta
hasMorebooleanIndica se existem mais resultados além dos retornados
page.currentintegerNúmero da página atual
page.totalintegerTotal de páginas disponíveis
page.offset.first / .prev / .next / .lastinteger | nullOffsets de navegação
dataarrayLista de clientes — cada item é o objeto completo do cliente (sem os embeds transactions/subscriptions/addresses/cards), com seu próprio _links
merchantobject{ name, merchantId, isSubAccount }
_linksobjectLinks HATEOAS da listagem (self, create)

Respostas de Erro

400 Bad Request

Ocorre quando a requisição contém parâmetros inválidos ou está mal formatada.

{
  "error": {
    "status": "Bad Request",
    "statusCode": 400,
    "category": "validation",
    "message": "Validation errors occurred.",
    "params": [
      {
        "limit": "O limite deve ser um número entre 1 e 100."
      }
    ]
  }
}

Casos de Uso

  1. Interfaces Administrativas: Exibir lista de clientes em painéis de controle
  2. Relatórios: Gerar relatórios de clientes com base em filtros específicos
  3. Busca de Clientes: Permitir que operadores busquem clientes por e-mail ou documento
  4. Exportação de Dados: Base para extração de dados de clientes para sistemas externos

Melhores Práticas

  1. Implementar Paginação Eficiente: Sempre utilize os parâmetros limit e offset para controlar o volume de dados
  2. Utilizar Filtros: Aproveite os filtros disponíveis para reduzir o conjunto de resultados
  3. Cache de Resultados: Implemente cache nos resultados que não mudam com frequência
  4. Evitar Listagens Completas: Sempre inclua algum filtro ao buscar clientes em bases muito grandes

Integração com Outros Endpoints

  • Use Consultar Cliente para obter detalhes completos de um cliente específico após encontrá-lo na lista
  • Use Atualizar Cliente para modificar informações de clientes encontrados na listagem
  • Use Excluir Cliente para remover clientes identificados através da listagem

How is this guide?

On this page