Árbol del API · Clientes › customer
Detalle de un cliente
customer
Devuelve un cliente por su id, con su crédito y su saldo, sus lugares de entrega y contactos, sus órdenes de venta más recientes y sus facturas con saldo por cobrar.
Si la llave no tiene el permiso, la respuesta es customer: null sin error;
un cliente que no existe responde NOT_FOUND. Así distingues una llave mal
configurada de un id equivocado.
Las órdenes recientes (recentOrders) piden además «Ventas» en la llave y
las facturas pendientes (pendingInvoices), «Facturación»; sin ellos, ese
campo llega null y el resto del cliente llega completo. Las órdenes van de
la más reciente a la más antigua y no incluyen cotizaciones de venta.
Para toda la historia del cliente, filtra por su id en customerId: sus
órdenes de venta en ordersConnection,
sus facturas en invoicesConnection
y sus cobros en collectionsConnection.
customer( id: ID! ): CustomerDetail
Argumentos
1
| Argumento | Tipo | Descripción |
|---|---|---|
idID! |
ID! | Identificador del cliente, el mismo |
Lo que devuelve
CustomerDetail
Campos principales de CustomerDetail:
| Campo | Tipo | Descripció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. |
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. |
pendingInvoicesCountInt! |
Int! | Número de facturas con saldo por cobrar, sin contar las facturas de anticipo. Requiere «Cliente» en la llave; sin él la petición responde HTTP 422. |
creditTermCreditTerm |
CreditTerm | Término de crédito del cliente; es el que se propone en sus órdenes. |
priceStructurePriceStructure |
PriceStructure | Estructura de precios principal del cliente. Requiere «Cliente» en la llave; sin él llega null. |
auxPriceStructurePriceStructure |
PriceStructure | Estructura de precios auxiliar. Cuando el cliente tiene una, sus precios tienen prioridad sobre los de priceStructure. Requiere «Cliente» en la llave; sin él llega null. |
documentCurrencyCurrency |
Currency | Moneda de los documentos del 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. |
contacts[CustomerContact!]! |
[CustomerContact!]! | Contactos del cliente, ordenados por nombre. |
recentOrdersOrderConnection |
OrderConnection | Órdenes de venta del cliente, de la más reciente a la más antigua, sin cotizaciones de venta. Llegan 10 si no pides otro número con first. Requiere «Ventas» en la llave; sin él llega null.10 por omisión, hasta 100 por página. |
pendingInvoicesInvoiceConnection |
InvoiceConnection | Facturas del cliente con saldo por cobrar, sin las facturas de anticipo. Con search, sólo las que tienen ese texto en el folio o en el UUID; si el texto aparece en el nombre o la clave del cliente, llegan todas. Requiere «Facturación» en la llave; sin él llega null.50 por omisión, hasta 100 por página. |
Permisos
Llave API Integraciones
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ódigo | Cuándo ocurre | Qué hacer |
|---|---|---|
| HTTP 401 | Falta 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. |
NOT_FOUND | No hay un cliente con ese id en la empresa. | Revisa el id. |
| HTTP 422 | Falla 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.