# PreCFDI - Listado paginado de peticiones

POST https://fenix-api/fenix-api/precfdi/lazy
Content-Type: application/json

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. |

Reference: https://doc.ediwebalterno.com/fenix-sellers/pre-cfdi-listado-paginado-de-peticiones

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /fenix-api/precfdi/lazy:
    post:
      operationId: pre-cfdi-listado-paginado-de-peticiones
      summary: PreCFDI - Listado paginado de peticiones
      description: >-
        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. |
      tags:
        - ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PreCFDI - Listado paginado de
                  peticiones_Response_200
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PostFenix-apiPrecfdiLazyRequestBadRequestError
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                lazyState:
                  $ref: >-
                    #/components/schemas/FenixApiPrecfdiLazyPostRequestBodyContentApplicationJsonSchemaLazyState
              required:
                - lazyState
servers:
  - url: https://fenix-api
  - url: https://precfdi
  - url: https://cfdi
components:
  schemas:
    FenixApiPrecfdiLazyPostRequestBodyContentApplicationJsonSchemaLazyState:
      type: object
      properties:
        first:
          type: integer
        page:
          type: integer
        rows:
          type: integer
        sortField:
          description: Any type
        sortOrder:
          type: string
      required:
        - first
        - page
        - rows
        - sortOrder
      title: FenixApiPrecfdiLazyPostRequestBodyContentApplicationJsonSchemaLazyState
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayloadPaymentMethods:
      type: object
      properties:
        paymentType:
          type: string
      required:
        - paymentType
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayloadPaymentMethods
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayload:
      type: object
      properties:
        usoCDFI:
          type: string
        paymentMethods:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayloadPaymentMethods
      required:
        - usoCDFI
        - paymentMethods
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayload
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomerAddress:
      type: object
      properties:
        addressType:
          type: string
        addressLineOne:
          type: string
        addressLineTwo:
          type: string
        locality:
          type: string
        subLocality:
          type: string
        city:
          type: string
        state:
          type: string
        countryCode:
          type: string
        zipCode:
          type: string
        stateCode:
          type: string
        localityCode:
          type: string
        municipalityCode:
          type: string
      required:
        - addressType
        - addressLineOne
        - addressLineTwo
        - locality
        - subLocality
        - city
        - state
        - countryCode
        - zipCode
        - stateCode
        - localityCode
        - municipalityCode
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomerAddress
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomer:
      type: object
      properties:
        rfc:
          type: string
        name:
          type: string
        regimenFiscalReceptor:
          type: string
        address:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomerAddress
      required:
        - rfc
        - name
        - regimenFiscalReceptor
        - address
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomer
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsSeller:
      type: object
      properties:
        name:
          type: string
        rfc:
          type: string
        zipCode:
          type: string
      required:
        - name
        - rfc
        - zipCode
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsSeller
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailItem:
      type: object
      properties:
        description:
          type: string
        taxProductCode:
          type: string
        upc:
          type: string
      required:
        - description
        - taxProductCode
        - upc
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailItem
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailChargesItems:
      type: object
      properties:
        code:
          type: string
        amount:
          type: number
          format: double
      required:
        - code
        - amount
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailChargesItems
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailTaxes:
      type: object
      properties:
        total:
          type: integer
        raw:
          type: array
          items:
            description: Any type
      required:
        - total
        - raw
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailTaxes
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailLineTotals:
      type: object
      properties:
        subTotal:
          type: number
          format: double
        discountTotal:
          type: number
          format: double
        shippingTotal:
          type: integer
        taxTotal:
          type: integer
        total:
          type: number
          format: double
      required:
        - subTotal
        - discountTotal
        - shippingTotal
        - taxTotal
        - total
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailLineTotals
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetail:
      type: object
      properties:
        primeLineNo:
          type: string
        unitOfMeasure:
          type: string
        quantity:
          type: integer
        unitPrice:
          type: integer
        objetoImp:
          type: string
        item:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailItem
        charges:
          type: array
          items:
            $ref: >-
              #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailChargesItems
        taxes:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailTaxes
        lineTotals:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetailLineTotals
      required:
        - primeLineNo
        - unitOfMeasure
        - quantity
        - unitPrice
        - objetoImp
        - item
        - charges
        - taxes
        - lineTotals
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetail
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsMetadata:
      type: object
      properties:
        status:
          type: string
        creationDate:
          type: string
          format: date-time
      required:
        - status
        - creationDate
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsMetadata
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLastLog:
      type: object
      properties:
        title:
          type: string
        message:
          type: string
        level:
          type: string
        date:
          type: string
          format: date-time
      required:
        - title
        - message
        - level
        - date
      title: >-
        FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLastLog
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItems:
      type: object
      properties:
        id:
          type: string
        reqTransactionId:
          type: string
        reqTransactionLineId:
          type: string
        purpose:
          type: string
        dateInvoiced:
          type: string
          format: date-time
        invoiceId:
          type: string
        orderNo:
          type: string
        sellerId:
          type: string
        autoMotor:
          type: boolean
        payload:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsPayload
        customer:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsCustomer
        seller:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsSeller
        lineDetail:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLineDetail
        metadata:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsMetadata
        lastLog:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItemsLastLog
      required:
        - id
        - reqTransactionId
        - reqTransactionLineId
        - purpose
        - dateInvoiced
        - invoiceId
        - orderNo
        - sellerId
        - autoMotor
        - payload
        - customer
        - seller
        - lineDetail
        - metadata
        - lastLog
      title: FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItems
    PreCFDI - Listado paginado de peticiones_Response_200:
      type: object
      properties:
        total_records:
          type: integer
        records:
          type: array
          items:
            $ref: >-
              #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaRecordsItems
      required:
        - total_records
        - records
      title: PreCFDI - Listado paginado de peticiones_Response_200
    FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaError:
      type: object
      properties:
        details:
          type: string
        message:
          type: string
      required:
        - details
        - message
      title: FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaError
    PostFenix-apiPrecfdiLazyRequestBadRequestError:
      type: object
      properties:
        error:
          $ref: >-
            #/components/schemas/FenixApiPrecfdiLazyPostResponsesContentApplicationJsonSchemaError
      required:
        - error
      title: PostFenix-apiPrecfdiLazyRequestBadRequestError

```

## SDK Code Examples

```python PreCFDI - Listado paginado de peticiones_example
import requests

url = "https://fenix-api/fenix-api/precfdi/lazy"

payload = { "lazyState": {
        "first": 0,
        "page": 0,
        "rows": 10,
        "sortOrder": "asc"
    } }
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript PreCFDI - Listado paginado de peticiones_example
const url = 'https://fenix-api/fenix-api/precfdi/lazy';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"lazyState":{"first":0,"page":0,"rows":10,"sortOrder":"asc"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go PreCFDI - Listado paginado de peticiones_example
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://fenix-api/fenix-api/precfdi/lazy"

	payload := strings.NewReader("{\n  \"lazyState\": {\n    \"first\": 0,\n    \"page\": 0,\n    \"rows\": 10,\n    \"sortOrder\": \"asc\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby PreCFDI - Listado paginado de peticiones_example
require 'uri'
require 'net/http'

url = URI("https://fenix-api/fenix-api/precfdi/lazy")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"lazyState\": {\n    \"first\": 0,\n    \"page\": 0,\n    \"rows\": 10,\n    \"sortOrder\": \"asc\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java PreCFDI - Listado paginado de peticiones_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://fenix-api/fenix-api/precfdi/lazy")
  .header("Content-Type", "application/json")
  .body("{\n  \"lazyState\": {\n    \"first\": 0,\n    \"page\": 0,\n    \"rows\": 10,\n    \"sortOrder\": \"asc\"\n  }\n}")
  .asString();
```

```php PreCFDI - Listado paginado de peticiones_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://fenix-api/fenix-api/precfdi/lazy', [
  'body' => '{
  "lazyState": {
    "first": 0,
    "page": 0,
    "rows": 10,
    "sortOrder": "asc"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp PreCFDI - Listado paginado de peticiones_example
using RestSharp;

var client = new RestClient("https://fenix-api/fenix-api/precfdi/lazy");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"lazyState\": {\n    \"first\": 0,\n    \"page\": 0,\n    \"rows\": 10,\n    \"sortOrder\": \"asc\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift PreCFDI - Listado paginado de peticiones_example
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["lazyState": [
    "first": 0,
    "page": 0,
    "rows": 10,
    "sortOrder": "asc"
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://fenix-api/fenix-api/precfdi/lazy")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```