# Listar tickets

`GET https://api.fiscalisto.com/v1/tickets`

Del más reciente al más antiguo por fecha de venta.

## Parámetros

| Nombre | Dónde | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `limit` | consulta |  | Cuántos por página, de 1 a 100. Por omisión 10. |
| `starting_after` | consulta |  | El id del último de la página anterior, para la siguiente. |
| `issuer` | consulta |  | El emisor (iss_…). Puede omitirse si la llave o la cuenta tienen uno solo. |
| `status` | consulta |  | pending, invoiced, global o cancelled. |
| `sold_at_gte` | consulta |  | Vendidos desde (ISO 8601 o AAAA-MM-DD). |
| `sold_at_lte` | consulta |  | Vendidos hasta (ISO 8601 o AAAA-MM-DD, el día completo). |

## Con el SDK de TypeScript

```ts
import { Fiscalisto } from "fiscalisto";

// La llave viene de FISCALISTO_API_KEY.
const fiscalisto = new Fiscalisto();

for await (const item of fiscalisto.tickets.list()) {
  console.log(item.id);
}
```

## Con el SDK de Python

```python
from fiscalisto import Fiscalisto

# La llave viene de FISCALISTO_API_KEY.
fiscalisto = Fiscalisto()

for item in fiscalisto.tickets.list():
    print(item["id"])
```

## Con el SDK de PHP

```php
<?php

use Fiscalisto\Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
$fiscalisto = new Fiscalisto();

foreach ($fiscalisto->tickets->list() as $item) {
    echo $item['id'], "\n";
}
```

## Con el SDK de .NET

```csharp
using Fiscalisto;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

await foreach (var item in fiscalisto.Tickets.ListAutoPagingAsync())
    Console.WriteLine(item.Id);
```

## Con el SDK de Go

```go
package main

import (
	"context"
	"fmt"
	"log"

	fiscalisto "fiscalisto.com/go"
)

func main() {
	// La llave viene de FISCALISTO_API_KEY.
	client, err := fiscalisto.NewClient("")
	if err != nil {
		log.Fatal(err)
	}
	ctx := context.Background()

	for item, err := range client.Tickets.ListAutoPaging(ctx, nil) {
		if err != nil {
			log.Fatal(err)
		}
		fmt.Println(item.ID)
	}
}
```

## Con el SDK de Java

```java
import com.fiscalisto.FiscalistoClient;

// La llave viene de FISCALISTO_API_KEY.
var fiscalisto = new FiscalistoClient();

for (var item : fiscalisto.tickets().listAutoPaging()) {
    System.out.println(item.getId());
}
```

## Respuesta 200

Correcto.

Un objeto `TicketList`:

| Campo | Tipo | Siempre viene | Descripción |
| --- | --- | --- | --- |
| `object` | `"list"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data` | arreglo de objeto | sí | Los objetos de esta página. |
| `data[].id` | string | sí | Identificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_). |
| `data[].livemode` | boolean | sí | true en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT. |
| `data[].object` | `"ticket"` | sí | Qué tipo de objeto es («invoice», «customer»…). |
| `data[].issuer` | string | sí | El emisor que vendió. |
| `data[].folio` | string | sí | El folio de la venta en su sistema. |
| `data[].code` | string | sí | Lo que su comprador escribe en el portal junto con el total: el folio y 4 caracteres al azar (A123-K7QX). Imprímalo en el ticket o mándelo con la compra. |
| `data[].status` | `pending`, `invoiced`, `global`, `cancelled` | sí | pending (se puede facturar), invoiced (su comprador lo facturó: la factura en invoice), global (entró en la factura global del periodo) o cancelled. |
| `data[].url` | string o null | sí | La página del portal con el código ya escrito: el comprador pone el total y sus datos. Puede incrustarla con fiscalisto.js. null si ya no está pendiente. |
| `data[].total` | number | sí | Lo que se cobró, impuestos incluidos y sin propina. |
| `data[].tip` | number | sí | La propina (no va en la factura). |
| `data[].payment_form` | string | sí | c_FormaPago de la venta. |
| `data[].description` | string | sí | El concepto de la factura. |
| `data[].product_key` | string | sí | c_ClaveProdServ del concepto. |
| `data[].sold_at` | string (date-time) | sí | Cuándo se vendió. |
| `data[].invoiceable_until` | string | sí | El último día (AAAA-MM-DD) en que el comprador puede facturarlo; después entra en la factura global. |
| `data[].invoice` | string o null | sí | La factura (inv_…) que hizo su comprador, o null. |
| `data[].global_invoice` | string o null | sí | La factura global (inv_…) en que entró, o null. |
| `data[].customer` | objeto o null | sí | A quién se facturó, o null. |
| `data[].customer.tax_id` | string | sí | RFC (Rfc), 12 caracteres una persona moral y 13 una física. |
| `data[].customer.legal_name` | string o null | sí | Nombre o razón social tal como está en la constancia de situación fiscal, sin el régimen de capital (sin «S.A. de C.V.»). |
| `data[].created_at` | string (date-time) o null | sí | Cuándo se registró. |
| `has_more` | boolean | sí | true si hay más: pida la siguiente con starting_after igual al id del último. |
| `url` | string | sí | La ruta de esta lista. |

```json
{
  "object": "list",
  "data": [
    {
      "id": "tkt_OufpKqnrvx9p6hW1yQbT3mZr8sKdLx0VeN",
      "object": "ticket",
      "livemode": false,
      "issuer": "iss_OufpKqnrvx9p",
      "folio": "A1042",
      "code": "A1042-K7QX",
      "status": "pending",
      "url": "https://fiscalisto.com/autofactura/Tx8mQ2vLp9WnR4c?c=A1042-K7QX",
      "total": 580,
      "tip": 0,
      "payment_form": "04",
      "description": "Consumo de alimentos",
      "product_key": "90101501",
      "sold_at": "2026-10-24T14:32:00-06:00",
      "invoiceable_until": "2026-10-31",
      "invoice": null,
      "global_invoice": null,
      "customer": null,
      "created_at": "2026-10-24T14:32:05-06:00"
    }
  ],
  "has_more": false,
  "url": "/v1/tickets"
}
```

## Errores

Puede responder 400, 401, 403, 404, 429, 500 con el cuerpo de error de siempre; cada código está en https://fiscalisto.com/docs/api/errores.md.
