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 no marca la credencial como usada. El ingreso lo registra únicamente el escáner de qrTicket.

Entradas de una persona en un evento

Las entradas que ese email todavía puede usar en el evento, agrupadas por tipo de entrada. Responde en una sola llamada lo que, si no, sería listar /tickets y agrupar.
  • Cuáles cuenta: las de estado valid: sin escanear, sin transferir, sin anular y sin reembolsar. Si no tiene ninguna, data viene vacío.
  • Qué email: el del asistente, el que figura en cada entrada. Si alguien le transfirió una entrada, aparece acá con su email, y deja de aparecer en el de quien se la pasó. No distingue mayúsculas.
  • price: el precio actual del tipo de entrada, el mismo que en tipos de entrada. Lo que se cobró en cada compra (con cupón, o dentro de un combo) está en la venta.
  • category: ticket para entradas, merchandise para adicionales.

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