Árbol del API · Facturas y cobranza › collectionsConnection
Lista de cobros
collectionsConnection
Tipo
Query
Devuelve
Permiso de la llave
Consultar Cobros
Página
20 por omisión · máx. 100
Lista los cobros de la empresa con su importe, su forma de cobro y las facturas a las que se aplicaron. Filtra por cliente y por fecha del pago, y recorre el resultado por páginas con cursores.
Úsala para saber qué pagos recibió la empresa y a qué facturas se aplicaron;
con customerId ves los cobros de un cliente. El saldo que queda
en cada factura está en
invoicesConnection.
La llave ve los cobros de toda la empresa del subdominio, sin importar quién los registró.
collectionsConnection( first: Int after: String customerId: ID from: Date to: Date ): CollectionConnection!
Argumentos
5
| Argumento | Tipo | Descripción |
|---|---|---|
| Paginación | ||
firstInt |
Int | Cuántos cobros devolver desde el inicio o desde |
afterString |
String | Cursor de la página anterior ( |
| Filtros | ||
customerIdID |
ID | Sólo los cobros de este cliente. |
fromDate |
Date | Pagos recibidos desde este día, inclusive ( |
toDate |
Date | Pagos recibidos hasta este día, inclusive. Con Llave API el día se corta en la hora del centro de México. |
Estatus de un cobro
CollectionStatus
REGISTEREDRegistrado, sin aplicar a facturasPARTIALLY_APPLIEDAplicado en parte; le queda importe por aplicarAPPLIEDAplicado completo a facturasRECONCILEDAplicado y conciliado con el bancoCANCELLEDCanceladoUNKNOWNSin equivalente; revisa rawStatusLo que devuelve
CollectionConnection!
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 Collection
| Campo | Tipo | Descripción |
|---|---|---|
idID! |
ID! | Identificador del cobro; úsalo con collection(id:) y con paymentComplement(collectionId:). |
statusCollectionStatus! |
CollectionStatus! | Estatus del cobro. |
dateDateTime |
DateTime | Fecha y hora en que se recibió el pago. Es la fecha de pago que lleva el complemento de pago. |
amountMoney |
Money | Importe recibido, en la moneda de la cuenta bancaria que lo recibió. |
currencyString |
String | Clave SAT de la moneda del cobro, p. ej. MXN o USD. |
paymentMethodPaymentMethod |
PaymentMethod | Forma de cobro. |
referenceString |
String | Referencia del pago, p. ej. la clave de rastreo de una transferencia. |
tpcbroString |
String | Tipo de cobro, Cobro o Anticipo. |
applicationsCollectionApplicationConnection! |
CollectionApplicationConnection! | Las facturas a las que se aplicó el cobro, con el importe aplicado a cada una, por su último cambio.20 por omisión, hasta 100 por página. |
receiptPdfUrlString |
String | Liga al PDF del complemento de pago que incluye el cobro, aunque todavía no esté timbrado. Llega null mientras el cobro no está en un complemento. Está firmada y vence a los 10 minutos. |
Paginación
first · after
Pide hasta 100 cobros 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 cobros entre páginas. Más sobre paginación.
Página 1
first: 100
endCursor: "WzEs…MTAwXQ"
hasNextPage: truePágina 2
after: "WzEs…MTAwXQ"
endCursor: "WzEs…MjAwXQ"
hasNextPage: truePágina 3
after: "WzEs…MjAwXQ"
endCursor: "WzEs…MjQ3XQ"
hasNextPage: falseLos cobros llegan por su última modificación, del más antiguo al más reciente: si uno cambia de estatus mientras recorres la lista, pasa al final y puede llegar otra vez con sus datos al día. Las aplicaciones de cada cobro (applications) son otra conexión con su propio límite de 100; si un cobro tiene más, pide el resto con collection(id:) y applications(after:).
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 nodes llega vacío y hasNextPage es false.
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. |
argumentLiteralsIncompatible | Una fecha escrita en la consulta no es AAAA-MM-DD. Si el valor llega en una variable, el error trae extensions.problems y puede no traer code. | Corrige la consulta; reintentar no ayuda. |
VALIDATION | El cursor de after está mal formado o es de otra lista, o first es negativo. También aplica al cursor de applications. | Empieza de nuevo sin after y usa sólo cursores de pageInfo. |
| 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.