PreCFDI - Listado paginado de peticiones

View as Markdown
Este endpoint permite consultar de forma paginada las peticiones de facturación registradas en Fénix. Está diseñado para: - Obtener listados por bloques de registros - Aplicar ordenamiento - Filtrar resultados por datos clave de la petición. Es útil para integraciones que necesiten consultar el estado de peticiones PreCFDI, revisar errores, identificar facturas enviadas o localizar órdenes específicas. --- # Parámetros de consulta (Query Params) Estos parámetros son opcionales y se envían por URL. | Parámetro | Tipo | Requerido | Descripción | | --- | --- | --- | --- | | `orderNo` | string | No | Filtra por un número de orden específico. | | `status` | string | No | Filtra por el estado actual de la petición. | | `customerRfc` | string | No | Filtra las peticiones por RFC del cliente receptor. | ## Query Param `status` | Parámetro | Tipo | Requerido | Descripción | | --- | --- | --- | --- | | `status` | string | No | Filtra las peticiones por su estado actual dentro del flujo PreCFDI. Solo acepta valores definidos en el catálogo de estados. | ### Valores permitidos para `status` | Valor | Descripción | | --- | --- | | `NUEVA` | La petición fue registrada en el sistema y está pendiente de procesamiento. | | `ERROR` | La petición presentó un error durante alguna etapa del proceso. | | `ENVIADA_AL_SELLER` | La petición fue enviada al seller y está en espera de la carga del CFDI por parte del Seller | | `FACTURADA` | La petición ya fue procesada y facturada correctamente. | ## Body de ejemplo ``` json { "lazyState": { "first": 0, "page": 0, "rows": 10, "sortField": null, "sortOrder": "asc" } } ``` --- # Descripción del body ## Objeto raíz | Campo | Tipo | Requerido | Descripción | | --- | --- | --- | --- | | `lazyState` | object | Sí | Contiene la configuración de paginación y ordenamiento de la consulta. | ## Objeto `lazyState` | Campo | Tipo | Requerido | Descripción | | --- | --- | --- | --- | | `first` | integer | Sí | Índice del primer registro a recuperar. Normalmente se usa como desplazamiento para paginación. | | `page` | integer | Sí | Número de página actual. Generalmente inicia en `0`. | | `rows` | integer | Sí | Número de registros que se desean recuperar por página. | | `sortField` | string / null | No | Campo por el cual se ordenarán los resultados. Si se envía `null`, no se aplica orden por un campo específico. | | `sortOrder` | string | Sí | Dirección del ordenamiento. Valores esperados: `asc` o `desc`. | # Descripción del response ## Objeto raíz | Campo | Tipo | Descripción | | --- | --- | --- | | `total_records` | integer | Número total de registros que coinciden con la búsqueda, independientemente del tamaño de página solicitado. | | `records` | array | Lista de peticiones PreCFDI recuperadas en la página actual. | --- # Detalle de cada registro en `records` ## Datos generales de la petición | Campo | Tipo | Descripción | | --- | --- | --- | | `id` | string | Identificador único interno de la petición en Fénix. | | `reqTransactionId` | string | Identificador de transacción agrupadora de la petición. Puede representar un lote o conjunto relacionado de líneas. | | `reqTransactionLineId` | string | Identificador único de la línea de transacción. Se usa para distinguir una petición específica dentro de una transacción. | | `purpose` | string | Propósito de la petición. Ejemplo: `ORIGINAL, REFACTURA, REENVIO` | | `dateInvoiced` | string (ISO 8601) | Fecha asociada a la peticion. | | `invoiceId` | string | Identificador de la factura o referencia principal de negocio. | | `orderNo` | string | Número de orden asociado a la petición. | | `sellerId` | string | Identificador del vendedor o emisor relacionado con la petición. | | `autoMotor` | boolean | Indica si la petición pertenece a flujo automotriz. Valores: `true` o `false`. | --- ## Objeto `payload` Contiene datos funcionales para la generación del comprobante. | Campo | Tipo | Descripción | | --- | --- | --- | | `usoCDFI` | string | Clave de uso CFDI del receptor. Ejemplo: `G03`. | | `paymentMethods` | object | Información de método o tipo de pago reportado en la petición. | ### `payload.paymentMethods` | Campo | Tipo | Descripción | | --- | --- | --- | | `paymentType` | string | Tipo de pago recibido en la petición. Ejemplos: `CREDIT`, `DEBIT`. | --- ## Objeto `customer` Datos del cliente o receptor del CFDI. | Campo | Tipo | Descripción | | --- | --- | --- | | `rfc` | string | RFC del cliente receptor. | | `name` | string | Nombre o razón social del cliente. | | `regimenFiscalReceptor` | string | Clave del régimen fiscal del receptor. | | `address` | object | Domicilio fiscal o domicilio asociado al receptor. | ### `customer.address` | Campo | Tipo | Descripción | | --- | --- | --- | | `addressType` | string | Tipo de dirección. Ejemplo observado: `INVOICE`. | | `addressLineOne` | string | Primera línea de dirección. | | `addressLineTwo` | string | Segunda línea de dirección o número exterior/interior. | | `locality` | string | Localidad del domicilio. | | `subLocality` | string | Colonia, zona o subdivisión de la localidad. | | `city` | string | Ciudad o municipio descriptivo. | | `state` | string | Nombre del estado. | | `countryCode` | string | Código de país. Ejemplo: `MX`. | | `zipCode` | string | Código postal del receptor. | | `stateCode` | string | Código interno o abreviado del estado. | | `localityCode` | string | Código interno de localidad. | | `municipalityCode` | string | Código interno de municipio. | --- ## Objeto `seller` Datos del emisor o vendedor. | Campo | Tipo | Descripción | | --- | --- | --- | | `name` | string | Nombre o razón social del vendedor. | | `rfc` | string | RFC del vendedor o emisor. | | `zipCode` | string | Código postal fiscal del vendedor. | --- ## Objeto `lineDetail` Describe el detalle de la línea o concepto de la petición. | Campo | Tipo | Descripción | | --- | --- | --- | | `primeLineNo` | string | Número de línea principal dentro de la orden o transacción. | | `unitOfMeasure` | string | Unidad de medida del producto. | | `quantity` | number | Cantidad de unidades solicitadas o facturadas. | | `unitPrice` | number | Precio unitario del concepto antes de totales finales. | | `objetoImp` | string | Clave SAT que indica si el concepto es objeto de impuesto. | | `item` | object | Información descriptiva y fiscal del producto. | | `charges` | array | Lista de cargos o descuentos asociados a la línea. | | `taxes` | object | Impuestos calculados para la línea. | | `lineTotals` | object | Totales monetarios consolidados de la línea. | ### `lineDetail.item` | Campo | Tipo | Descripción | | --- | --- | --- | | `description` | string | Descripción comercial del producto o servicio. | | `taxProductCode` | string | Clave SAT del producto o servicio. | | `upc` | string | Código UPC o identificador comercial del artículo. | ### `lineDetail.charges[]` | Campo | Tipo | Descripción | | --- | --- | --- | | `code` | string | Código del cargo o descuento aplicado. Ejemplos observados: `COUPON_DISC`, `SHIPPING_CH`, `SHIP_DISC`. | | `amount` | number | Monto del cargo o descuento. | ### `lineDetail.taxes` | Campo | Tipo | Descripción | | --- | --- | --- | | `total` | number | Total de impuestos de la línea. | | `raw` | array | Desglose individual de impuestos calculados. | ### `lineDetail.taxes.raw[]` | Campo | Tipo | Descripción | | --- | --- | --- | | `tax` | number | Importe del impuesto. | | `taxName` | string | Nombre interno del impuesto. Ejemplos observados: `IVA_TAX`, `SHIP_IVA_TAX`. | | `category` | string | Categoría sobre la que aplica el impuesto. Ejemplos observados: `PRICE`, `SHIPPING`. | | `taxPercentage` | number | Porcentaje del impuesto aplicado. | ### `lineDetail.lineTotals` | Campo | Tipo | Descripción | | --- | --- | --- | | `subTotal` | number | Subtotal del concepto antes de impuestos finales. | | `discountTotal` | number | Total de descuentos aplicados a la línea. | | `shippingTotal` | number | Total de envío asociado a la línea. | | `taxTotal` | number | Total de impuestos de la línea. | | `total` | number | Total final de la línea. | --- ## Objeto `metadata` Información operativa de la petición dentro de Fénix. | Campo | Tipo | Descripción | | --- | --- | --- | | `status` | string | Estado actual de la petición. Ejemplos observados: `ERROR`, `FACTURADA`, `ENVIADA_AL_CLIENTE`. | | `creationDate` | string (ISO 8601) | Fecha de creación del registro en el sistema. | --- ## Objeto `lastLog` Último evento o bitácora asociado a la petición. | Campo | Tipo | Descripción | | --- | --- | --- | | `title` | string | Título resumido del último evento registrado. | | `message` | string | Descripción detallada del último evento o error. | | `level` | string | Nivel del log. Ejemplos observados: `INFO`, `ERROR`. | | `date` | string (ISO 8601) | Fecha y hora en que ocurrió el último evento. |

Request

This endpoint expects an object.
lazyStateobjectRequired

Response

OK
total_recordsinteger
recordslist of objects

Errors

400
Bad Request Error