developers Entrar a AdvantaCloud
Árbol del API · Clientes › customersConnection

Lista de clientes

customersConnection

Tipo

Query

Devuelve

CustomerConnection

Permiso de la llave

Cliente

Página

20 por omisión · máx. 100

Estable

Lista los clientes de la empresa, del modificado hace más tiempo al más reciente. Busca por nombre, RFC, correo o clave, trae sólo los que tienen saldo por cobrar o los modificados desde un momento, y recorre el resultado por páginas con cursores.

Úsala para sincronizar tu catálogo de clientes: la primera vez recorre la lista completa; después pide sólo lo modificado con updatedAfter y el updatedAt más reciente que guardaste. Para traer un cliente con sus órdenes recientes y sus facturas pendientes usa customer(id:).

updatedAfter sigue los cambios de los datos del cliente. Su saldo, sus lugares de entrega y sus contactos pueden cambiar sin que cambie updatedAt: si los guardas, vuelve a pedirlos de vez en cuando.

Llegan todos los clientes de la empresa, también los inactivos. Los importes de crédito (creditLimit, balance, overdueBalance, availableCredit) están en la moneda de crédito del cliente, creditCurrency.

customersConnection(
  first: Int  after: String  search: String
  withPendingBalance: Boolean  updatedAfter: DateTime
): CustomerConnection

Argumentos

5

ArgumentoTipoDescripción
Paginación
firstInt Int

Cuántos clientes devolver desde el inicio o desde after. Sin first llegan 20; si pides más de 100 recibes 100.

afterString String

Cursor de la página anterior (pageInfo.endCursor). Devuelve los clientes que siguen.

Filtros
withPendingBalanceBoolean Boolean

true: sólo los clientes con al menos una factura con saldo por cobrar, sin contar las facturas de anticipo. Esas facturas están en invoicesConnection con customerId y onlyPending: true.

updatedAfterDateTime DateTime

Sólo los clientes modificados después de este momento (ISO 8601 con desfase horario). Para sincronizar, envía el updatedAt más reciente que ya guardaste.

Lo que devuelve

CustomerConnection

nodes[Customer]Los clientes de esta página. La forma más corta de leerlos.
edges[CustomerEdge]Los mismos clientes, cada uno con su cursor.
pageInfoPageInfo!Dónde estás en la lista.
hasNextPageBoolean!Hay más elementos después de esta página.
endCursorStringCursor del último elemento; pásalo en after para pedir la página siguiente.
hasPreviousPageBoolean!true si pediste esta página con after, es decir, si no es la primera.
startCursorStringCursor del primer elemento de esta página.

Campos principales de Customer

CampoTipoDescripción
idID! ID! Identificador del cliente; es el que se envía en customerId.
codeString String Clave del cliente, p. ej. C-0042.
nameString String Nombre del cliente.
rfcString String RFC del cliente.
emailString String Correo electrónico.
phoneString String Teléfono.
creditLimitMoney Money Límite de crédito, en la moneda de crédito (creditCurrency). Requiere «Cliente» en la llave; sin él llega null.
creditCurrencyString String Clave SAT de la moneda de crédito, p. ej. MXN. El límite y los saldos están en esta moneda. Requiere «Cliente» en la llave; sin él llega null.
balanceMoney Money Saldo por cobrar: las parcialidades pendientes de sus facturas, vencidas y por vencer, menos los cobros que aún no se aplican a una factura. Es negativo si el cliente tiene saldo a favor. Requiere «Cliente» en la llave; sin él llega null.
overdueBalanceMoney Money Importe de las parcialidades ya vencidas, sin descontar los cobros por aplicar. Requiere «Cliente» en la llave; sin él llega null.
availableCreditMoney Money Crédito disponible, creditLimit menos balance. Requiere «Cliente» en la llave; sin él llega null.
priceStructurePriceStructure PriceStructure Estructura de precios principal del cliente. Requiere «Cliente» en la llave; sin él llega null.
salespersonEmployee Employee Vendedor asignado al cliente.
addressesCustomerAddressConnection! CustomerAddressConnection! Lugares de entrega del cliente, del modificado hace más tiempo al más reciente.20 por omisión, hasta 100 por página.
updatedAtDateTime DateTime Fecha y hora de la última modificación del cliente; úsala con customersConnection(updatedAfter:).

Ver todos los campos de Customer

Paginación

first · after

Pide hasta 100 clientes por página junto con pageInfo. Repite la misma consulta pasando endCursor en after mientras hasNextPage sea true. El orden es estable: no se saltan clientes entre páginas. Más sobre paginación.

Página 1

first: 100
endCursor: "WzEs…MTAwXQ"
hasNextPage: true

Página 2

after: "WzEs…MTAwXQ"
endCursor: "WzEs…MjAwXQ"
hasNextPage: true

Página 3

after: "WzEs…MjAwXQ"
endCursor: "WzEs…MjQ3XQ"
hasNextPage: false

Si un cliente cambia mientras recorres la lista, pasa al final y te llega otra vez con sus datos nuevos: guarda por id. Los lugares de entrega de cada cliente (addresses) son otra conexión con su propio límite de 100.

Permisos

Llave API Integraciones

Cliente

La llave ve los registros de toda la empresa del subdominio.

Sin el permiso Sin error

La consulta responde sin error, pero el resultado llega null.

Así lo conserva el API para las integraciones que ya lo usan: revisa los permisos de la llave si una lista llega vacía sin razón.

Errores

CódigoCuándo ocurreQué hacer
HTTP 401Falta el header Authorization o la llave no existe en la empresa del subdominio. La respuesta no trae cuerpo.Revisa la llave y el subdominio. No reintentes.
VALIDATIONEl cursor de after no tiene el formato de esta lista, o first es negativo.Usa el endCursor tal como llegó y con los mismos argumentos; si lo perdiste, reinicia sin after.
argumentLiteralsIncompatibleUn argumento escrito en la consulta no tiene el tipo esperado, como un updatedAfter que no es ISO 8601. Si el valor llega en una variable, el error trae extensions.problems y puede no traer code.Corrige la consulta; reintentar no ayuda.
HTTP 422Falla interna o dato rechazado al guardar. El cuerpo es {"error": …}, sin data.Si no cambiaste nada, reintenta con espera exponencial.

Los errores de la consulta llegan con HTTP 200 en errors, con su código en extensions.code. Revisa siempre errors, no sólo el estatus HTTP. Errores y reintentos.

Relacionadas

Schema del 26 oct 2026 · Ver cambios¿Algo no cuadra? Repórtalo en ayuda.advanta.mx