Árbol del API · Facturas y cobranza › collection
Detalle de un cobro
collection
Devuelve un cobro por su id, con su importe, su forma de cobro y las facturas a las que se aplicó.
Si la llave no tiene el permiso, la respuesta es collection: null sin
error; un cobro que no existe responde NOT_FOUND. Así distingues una llave
mal configurada de un id equivocado.
La factura de cada aplicación (applications.invoice) pide además el
permiso «Facturación» en la llave; sin él llega null, pero el importe
aplicado sí llega.
receiptPdfUrl llega cuando el cobro ya está en un complemento de pago,
aunque el complemento aún no esté timbrado. Para saber si ya se timbró y
descargar el XML, usa
paymentComplement(collectionId:).
collection( id: ID! ): Collection
Argumentos
1
| Argumento | Tipo | Descripción |
|---|---|---|
idID! |
ID! | Identificador del cobro, el mismo |
Lo que devuelve
Collection
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. |
xcumIdID |
ID | Unidad de negocio del cobro. |
cobdorIdID |
ID | Cobrador asignado al cobro; null si no tiene. |
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. |
Las aplicaciones llegan en applications, una conexión con 20 por omisión y hasta 100 por página. Para un cobro aplicado a más facturas, repite la consulta con applications(first: 100, after: $cursor).
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 cobro 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.