Listar Clientes
Obtiene la lista de clientes de todos tus workspaces con opciones de paginación y filtrado.
GET https://api.platica.mx/v1/clients Parámetros de consulta
| Parámetro | Tipo | Descripción | Requerido |
|---|---|---|---|
limit | number | Límite de clientes en la respuesta. Máximo: 200. Por defecto: 50 | — |
pageToken | string | Cursor nextPageToken de la respuesta anterior. Recomendado sobre offset. No se combina con offset y se invalida si cambias los filtros o el ordenamiento | — |
offset | number | Número de registros a saltar. Alternativa heredada a pageToken; máximo 100000 | — |
sortBy | enum | Campo para ordenar: name (default) o creationDate | — |
sortDirection | enum | Dirección del ordenamiento: asc (default) o desc | — |
status | enum | Filtra por estado: active o blocked. active incluye a los clientes que nunca tuvieron un estado explícito | — |
searchTerm | string | Reservado. Se acepta pero todavía no filtra resultados | — |
tags | array | Lista de etiquetas para filtrar | — |
dateFilter | object | Filtro por fecha o período | — |
Fecha específica:
GET /v1/clients?dateFilter={"type":"specific","date":"2024-01-15"} Rango de fechas:
GET /v1/clients?dateFilter={"type":"range","startDate":"2024-01-01","endDate":"2024-01-31"} El listado devuelve status pero no el objeto moderation completo: para eso usa Obtener un Cliente .
Respuesta
{
"workspaces": [
{
"id": "g6yCA16pkWl5eXo7KszB",
"name": "ws_1",
"clients": [
{
"id": "167b545fcde641dcb319eca0cc4d7b0f",
"phoneNumber": "12345678910",
"name": "José",
"firstname": "José",
"lastname": "García",
"email": "jose@empresa.com",
"birthdate": null,
"gender": "male",
"company": null,
"country": "MX",
"state": "Michoacán",
"city": "Morelia",
"address": null,
"postalCode": null,
"status": "active",
"tags": [],
"owners": ["user1@company.com", "user2@company.com"],
"customFields": {
"placas": "",
"id_recepcion": "",
"fecha_siniestro": ""
},
"creationDate": "2025-02-06T16:45:50.146Z",
"lastUpdate": "2025-02-06T16:45:50.146Z"
}
],
"clientsCount": 1,
"pagination": {
"limit": 50,
"offset": 0,
"hasMore": true
}
}
],
"nextPageToken": "eyJ2IjoxLCJxIjoiYTFi..."
} Campos de la respuesta
| Campo | Descripción |
|---|---|
id | ID interno del cliente |
phoneNumber | Número telefónico del cliente sin prefijo + |
name | Nombre completo del cliente |
firstname | Primer nombre del cliente |
lastname | Apellido del cliente |
email | Correo electrónico |
birthdate | Fecha de nacimiento |
gender | Género |
company | Nombre de la compañía |
country | País de residencia |
state | Estado de residencia |
city | Ciudad de residencia |
address | Dirección completa |
postalCode | Código postal |
status | Estado del cliente: active o blocked |
tags | Etiquetas asociadas al cliente |
owners | Lista de correos de usuarios responsables |
customFields | Campos personalizados del cliente |
creationDate | Fecha de creación en formato ISO 8601 |
lastUpdate | Fecha de última actualización en formato ISO 8601 |
Campos de paginación
| Campo | Descripción |
|---|---|
clientsCount | Total de clientes devueltos en ese workspace |
pagination.limit | Número máximo de resultados solicitados |
pagination.offset | Número de resultados omitidos |
pagination.hasMore | Indica si existen más resultados en ese workspace |
nextPageToken | Cursor para pedir la página siguiente; null cuando no quedan resultados. Un solo token cubre todos los workspaces de la key, por eso va en la raíz y no dentro de cada uno |