# Listar todos los clientes

Enumere todos los clientes de Débito Directo asociados con su cuenta.

Endpoint: GET /customers/
Version: 1.0.0
Security: ApiKeyAuth, ApiKeySecret

## Query parameters:

  - `page` (integer)
    Un número de página dentro del conjunto de resultados paginados.
    Example: 1

  - `limit` (integer)
    Indica cuántos resultados devolver por página. Por defecto, devolvemos 20 resultados por página.

ℹ️ El número mínimo de resultados devueltos por página es 1 y el máximo es 100. Si introduces un valor mayor que 100, nuestra API usará por defecto el valor máximo (100).
    Example: 15

  - `search` (string)
    Devuelve resultados que coincidan con el email, firstname, lastname o documentNumber que buscaste.

Nota:

Este filtro admite consultas de búsqueda tanto completas como parciales.

Por ejemplo, buscar car puede coincidir con los siguientes valores:

  - carlos.vives@musicamexico.mx (email)
  - Carlos (firstname)
  - Cartregena (lastname)
  - 789-CAR-789456789 (documentNumber)
    Example: "trai"

## Response 200 fields (application/json):

  - `items` (array)
    Un array de objetos de cliente.
    - `id` (string)
      El identificador único creado por Belvo utilizado para referenciar al cliente.
      Example: "3118128a-6792-4b06-bd61-4acf6f6ad6b5"
    - `createdDate` (string,null)
      La marca de tiempo ISO-8601 cuando el cliente fue creado en la base de datos de Belvo.
      Example: "2022-02-09T08:45:50.406032Z"
    - `lastUpdatedDate` (string,null)
      La marca de tiempo ISO-8601 cuando se actualizó por última vez la información sobre el cliente.
      Example: "2022-02-09T08:45:50.406032Z"
    - `firstname` (string)
      El primer nombre del cliente.
      Example: "Carlos"
    - `lastname` (string)
      El apellido del cliente.
      Example: "Vives"
    - `email` (string)
      El correo electrónico del cliente.
      Example: "carlos-vives@musica.mx"
    - `phone` (string)
      El número de teléfono del cliente (incluido el código de país).
      Example: "+523001234567"
    - `country` (string)
      El código de país de tres letras ISO 3166-1 alpha-3 del cliente.
      Example: "mex"
    - `documentType` (string)
      El tipo de documento del individuo.

Para 🇲🇽 México, puede ser uno de los siguientes:
  - mx_rfc: Número de Identificación Fiscal (Registro Federal de Contribuyentes)
  - mx_curp: Clave Única de Registro de Población (Clave Única de Registro de Población)
      Enum: "mx_rfc", "mx_curp"
    - `documentNumber` (string)
      El número de documento del cliente.
      Example: "123456789"

  - `metadata` (object)
    Metadatos adicionales sobre el conjunto de resultados paginados.

  - `metadata.totalItems` (integer)
    El número total de elementos en el conjunto de resultados paginados.
    Example: 100

  - `metadata.itemCount` (integer)
    El número de elementos en la página actual.
    Example: 10

  - `metadata.itemsPerPage` (integer)
    El número de elementos solicitados por página.
    Example: 10

  - `metadata.totalPages` (integer)
    El número total de páginas en el conjunto de resultados paginados.
    Example: 10

  - `metadata.currentPage` (integer)
    El número de página actual.
    Example: 1

  - `links` (object)
    Enlaces para navegar por el conjunto de resultados paginados.

  - `links.first` (string)
    La URL a la primera página del conjunto de resultados paginados.
    Example: "/{resource}?limit=20"

  - `links.last` (string)
    La URL a la última página del conjunto de resultados paginados.
    Example: "/{resource}?page=4&limit=20"

  - `links.next` (string)
    La URL a la siguiente página del conjunto de resultados paginados.
    Example: "/{resource}?page=3&limit=20"

  - `links.previous` (string)
    La URL a la página anterior del conjunto de resultados paginados.
    Example: "/{resource}?page=2&limit=20"

## Response 400 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 400

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Bad Request"

  - `message` (any)
    Una breve descripción del error, indicando qué está mal con la solicitud.
> Nota: Devolvemos una cadena o un arreglo de cadenas, dependiendo del/los error(es) de validación.

La descripción puede ser (entre otras):

  - id must be a UUID
  - Not enough balance
  - amount is not a valid decimal number.
  - currency must be one of the following values: cop, mxn, usd
  - reference must be a string
  - Customer not found for merchant
  - documentType is a required field
    Example: "id must be a UUID"

## Response 401 fields (application/json):

  - `statusCode` (integer)
    El código de estado HTTP para este error.
    Example: 401

  - `error` (string)
    La descripción del código de estado HTTP para este error.
    Example: "Unauthorized"

  - `message` (string)
    Una breve descripción del error, indicando qué está mal con la solicitud. En el caso de un error 401 Unauthorized, el mensaje es:

  - Unauthorized credentials
    Example: "Unauthorized credentials"


