Skip to main content

Entradas e ingresos

Una entrada acá es una credencial: el QR concreto que una persona presenta en la puerta. Es la unidad que se escanea, se transfiere y se anula. Requiere el permiso TICKETS_READ.

Listar entradas

Parámetros

Las credenciales inválidas se devuelven con su estado, no se esconden. Es a propósito: un sistema que pierde en silencio las anuladas y las reembolsadas no puede conciliar contra ellas.

Consultar una entrada

El ticket_id es el valor que está codificado en el QR, así que este endpoint también sirve para “leí este código, decime qué es”.
Consultar acá no hace entrar a nadie: la API es de solo lectura y no marca la credencial como usada. El ingreso lo registra únicamente el escáner de qrTicket.

El objeto Entrada

Campos

string
  • valid — sin usar, lista para entrar.
  • scanned — ya entró. La hora está en checked_in_at.
  • transferred — la persona se la pasó a otra. Esta credencial ya no sirve; la buena es la que apunta transferred_to_ticket_id.
  • cancelled — la eliminaron desde el dashboard.
  • refunded — se reembolsó la orden.
El orden de precedencia es el mismo que aplica la puerta: anulada y reembolsada pesan más que un escaneo, y una transferencia pesa más que las dos.
string | null
El nombre de la estación que escaneó (“Puerta 1”, “Barra”), no una persona. La mayoría del escaneo se hace con el link compartible, donde no hay cuenta detrás — por eso la etiqueta de la estación es la atribución que realmente existe.
boolean
true cuando la credencial salió de un combo y no de una venta directa. Útil para no contar dos veces al comparar contra sold de un tipo de entrada.
string | null
La orden que la originó. Puede ser null en credenciales muy viejas cargadas a mano.
string
Cuándo se generó la credencial. Todo lo emitido antes del 11 de agosto de 2026 trae la misma fecha (el día que sumamos el campo); para ubicar en el tiempo una venta anterior a eso, usá created_at de la orden.

Recetas

Contá las filas. Si querés solo entradas y no consumiciones de barra, filtrá por ticket_type.category === "ticket".
Suscribite a ticket.scanned y, cada tantos minutos, reconciliá con scanned_after usando el checked_in_at más alto que hayas visto.
Cuando status es transferred, transferred_to_ticket_id te da la credencial nueva. Encadenando ese campo llegás al titular actual — una entrada puede pasar de mano varias veces.