Ir al contenido

Listar clientes

GET
/customers
curl --request GET \
--url 'https://api.posdata.so/public/v1/customers?limit=25&include_deleted=false' \
--header 'Authorization: Bearer <token>'

Permiso requerido: customers:read.

limit
integer
por defecto: 25 >= 1 <= 100
starting_after
string

El next_cursor de la página anterior, tal cual.

created_since
string formato: date-time

ISO 8601 con zona horaria. Incluye.

created_until
string formato: date-time

ISO 8601 con zona horaria. Excluye.

updated_since
string formato: date-time

ISO 8601 con zona horaria. Para sincronización incremental.

email
string
<= 254 caracteres

Coincidencia exacta, sin distinguir mayúsculas.

document_number
string
<= 40 caracteres

Número de documento, coincidencia exacta.

q
string
>= 2 caracteres <= 100 caracteres

Busca en nombre, apellido, email, teléfono y documento.

include_deleted
boolean

Si es true, incluye los registros eliminados (con deleted_at).

OK

Tipo de contenidoapplication/json
object
object
obligatorio
Valor permitido: list
data
obligatorio
Array<object>

Cliente del negocio.

object
object
obligatorio
Valor permitido: customer
id
obligatorio
string formato: uuid
name
obligatorio
string
last_name
obligatorio
Cualquiera de:
string
email
obligatorio
Cualquiera de:
string
phone
obligatorio
Cualquiera de:
string
person_type
obligatorio

person (persona natural) o company (persona jurídica).

string
document_type
obligatorio

Tipo de identificación: CC, TI, NIT, CE, PASAPORTE.

string
document_number
obligatorio
Cualquiera de:
string
contact_channel
obligatorio
Cualquiera de:

Cómo llegó el cliente: none, store, whatsapp, instagram, website, referral.

string
deleted_at
obligatorio
Cualquiera de:
string formato: date-time
created_at
obligatorio
string formato: date-time
updated_at
obligatorio
string formato: date-time
has_more
obligatorio
boolean
next_cursor
obligatorio
Cualquiera de:
string
Ejemplo
{
"object": "list",
"data": [
{
"object": "customer"
}
]
}

Petición inválida (VALIDATION_ERROR, INVALID_JSON, INVALID_CURSOR).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Sin API key válida (UNAUTHENTICATED, INVALID_API_KEY, API_KEY_REVOKED, API_KEY_EXPIRED, API_KEY_WRONG_ENVIRONMENT, ACCOUNT_INACTIVE).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Sin permiso (PLAN_REQUIRED, INSUFFICIENT_SCOPE, BROWSER_REQUESTS_NOT_ALLOWED).

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Límite de peticiones (RATE_LIMITED). Respeta Retry-After.

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}

Error interno (INTERNAL_ERROR). Reintenta y comparte el request_id si persiste.

Tipo de contenidoapplication/json
object
error
obligatorio
object
code
obligatorio
string
Valores permitidos: UNAUTHENTICATED INVALID_API_KEY API_KEY_REVOKED API_KEY_EXPIRED API_KEY_WRONG_ENVIRONMENT ACCOUNT_INACTIVE PLAN_REQUIRED INSUFFICIENT_SCOPE BROWSER_REQUESTS_NOT_ALLOWED VALIDATION_ERROR INVALID_JSON PAYLOAD_TOO_LARGE INVALID_CURSOR NOT_FOUND ROUTE_NOT_FOUND IDEMPOTENCY_KEY_REQUIRED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS CONFLICT SKU_ALREADY_EXISTS VARIANT_STOCK_UNSUPPORTED COMPOSITE_STOCK_UNSUPPORTED NO_WAREHOUSE DEVICES_OUTDATED RATE_LIMITED INTERNAL_ERROR
message
obligatorio

Explicación en español, con el siguiente paso.

string
param

Campo que causó el error, si aplica.

string
request_id
obligatorio
string
key
propiedades adicionales
any
Ejemplo
{
"error": {
"code": "UNAUTHENTICATED"
}
}