Saltar al contenido
Tickeep
Índice de la API

Objetos y tipos

Todos los objetos que devuelve la API, campo a campo, con sus tipos y sus valores posibles.

Última actualización: 23 de agosto de 2026

La referencia de campos. Si buscas cómo se usa cada endpoint, están en las páginas de referencia; esto es el diccionario.

Dos reglas generales antes de empezar:

  • Todo campo marcado como anulable puede llegar null. No es un descuido nuestro, es un dato que la sala no ha rellenado.
  • Pueden aparecer campos nuevos sin previo aviso. Ignora los que no conozcas en vez de fallar al deserializar.

Money

Cualquier importe de la API.

CampoTipoNotas
amountenteroCéntimos. 1250 son 12,50 €
currencycadenaCódigo ISO 4217. "EUR"

Nunca decimales. El porqué está en convenciones.

Page

La envoltura de todos los listados.

CampoTipoNotas
dataarrayLos elementos de esta página
hasMorebooleanoSi queda algo detrás
nextCursorcadena | nullLo que pides para la siguiente página

Venue

La sala. GET /venues.

CampoTipoNotas
idcadena
namecadenaNombre público
slugcadenaIdentificador legible
hostcadenaDominio público. Con él se componen las URLs de imagen
timezonecadena | nullIANA ("Europe/Madrid")

Event

El evento. GET /events, GET /events/{id}.

CampoTipoNotas
idcadena
venueIdcadena | null
typeenumsingle · multiPerformance · recurring
statusenumdraft · published
titlecadena
subtitlecadena | null
slugcadena | null
shortDescriptioncadena | null
imageIdcadena | nullImagen principal. Ver imágenes
posterImageIdcadena | nullCartel vertical
featuredbooleanoDestacado por la sala
minimumAgecadena | nullTexto ya resuelto ("18", "Todos los públicos")
promotercadena | null
nextPerformanceAtfecha | nullPróxima fecha con venta abierta
performanceCountenteroCuántas fechas tiene
priceFromMoney | nullEl «desde X €» del cartel
ticketing.modeenuminternal · external · free
ticketing.externalUrlcadena | nullA dónde va la venta si es externa
ticketing.maxPerOrderentero | nullTope de entradas por pedido
publishedAtfecha | null
createdAtfecha
updatedAtfechaEl campo que compara updatedSince

Performance

La fecha concreta que se vende. GET /performances, GET /performances/{id}.

CampoTipoNotas
idcadena
eventIdcadena | null
venueIdcadena | null
namecadena | nullNombre propio de la fecha, si lo tiene
statusenumactive · cancelled
doorsAtfecha | nullApertura de puertas
startsAtfechaHora de inicio. Es lo que ordena el listado
endsAtfecha | null
capacityentero | nullAforo. null = sin tope más allá del stock
soldenteroEntradas vendidas
availableentero | nullPlazas libres. null cuando capacity es null
createdAtfecha
updatedAtfecha

TicketType

La tarifa. Aparece dentro de GET /performances/{id}/availability.

CampoTipoNotas
idcadenaEs el ticketTypeId que se manda al vender
eventIdcadena | null
performanceIdcadena | nullnull en los abonos
performanceIdsarray de cadenasFechas que cubre. Solo tiene contenido en los abonos
scopeenumperformance · pass
namecadena
descriptioncadena | null
priceMoney
statusenumactive · soldOut · hidden
channelenumonline · boxOffice · both
zoneobjeto | null{ key, name } de la zona de aforo
maxPerOrderentero | null
availableFromfecha | nullInicio de la ventana de venta
availableUntilfecha | nullFin de la ventana de venta
includesarray{ key, name, quantity } — consumiciones, ropero…

Availability

El elemento del array availability, en el mismo endpoint.

CampoTipoNotas
ticketTypeIdcadenaCruza con TicketType.id
namecadena
priceMoney
availableenteroUnidades libres, con el aforo ya aplicado
onSalebooleanoDentro de ventana y con unidades

Order

El pedido. GET /orders, POST /orders, /confirm, /cancel.

CampoTipoNotas
idcadenaUso interno
referencecadenaLo que identifica el pedido de cara fuera. TK-TEMPO-20260823-AB12
venueIdcadena | null
statusenumpending · paid · cancelled · failed · refunded
sourceenumonline · boxOffice · api
paymentMethodenumcash · cardTerminal · redsys · stripe · free · demo · pending
customer.emailcadena | null
customer.namecadena | null
customer.phonecadena | null
linesarray de OrderLine
subtotalMoneyEntradas, sin gastos de gestión
serviceFeeMoneyGastos de gestión
totalMoneyLo que se cobra
ticketsIssuedbooleanoSi ya existen las entradas
reservationExpiresAtfecha | nullCuándo caduca la reserva
paidAtfecha | null
createdAtfecha
updatedAtfecha

OrderLine

CampoTipoNotas
eventIdcadena | null
performanceIdcadena | null
ticketTypeIdcadena | null
eventNamecadenaCongelado en el momento de la venta
ticketTypeNamecadenaCongelado en el momento de la venta
performanceStartsAtfecha | null
unitPriceMoney
quantityentero
lineTotalMoney
Los nombres van congelados a propósito

Si la sala renombra un evento, los pedidos ya vendidos siguen diciendo lo que el comprador compró. Es lo correcto para una factura, y explica que a veces no coincidan con el catálogo actual.

Ticket

La entrada emitida. GET /tickets, /check-in, y dentro de la respuesta de /confirm.

CampoTipoNotas
idcadena
codecadenaEl código de la entrada. Lo que hay en el QR
orderIdcadena | null
orderReferencecadena | nullPresente cuando el endpoint puede resolverlo
eventIdcadena | null
performanceIdcadena | null
ticketTypeIdcadena | null
venueIdcadena | null
statusenumvalid · used · void
sourceenum | nullonline · boxOffice · api
holderobjeto | nullnull en las entradas al portador
holder.namecadena | null
holder.lastNamecadena | null
holder.documentTypeenum | nulldni · nie · passport · other
holder.documentNumbercadena | null
emailcadena | null
pricePaidMoney
checkedInAtfecha | nullCuándo entró
includesarray{ key, name, quantity, used }
createdAtfecha
Aquí no hay ningún token

El objeto Ticket no lleva la firma que hace válida la entrada, y ningún endpoint la devuelve. Ver entradas y control de acceso.

Attendee

La persona. GET /attendees.

CampoTipoNotas
idcadena
emailcadenaClave natural de la persona
namecadena | null
phonecadena | null
marketingConsentbooleanoFíltralo antes de mandar nada comercial
orderCountenteroPedidos en toda la organización
totalSpentMoneyGasto acumulado
createdAtfecha
updatedAtfecha

SalesSummary

El bloque de recaudación de GET /reports/sales. Aparece en summary, en previousSummary y en cada día de timeline.

CampoTipoNotas
ordersentero
ticketsentero
ticketRevenueMoneyIngresos por entradas
vatMoneyIVA de las entradas
serviceFeesMoneyGastos de gestión
totalMoney
averageOrderMoneyTicket medio
byChannel.onlineChannelSliceWeb de venta de la sala
byChannel.boxOfficeChannelSliceMostrador
byChannel.apiChannelSliceTu integración

En timeline, cada elemento lleva además date ("2026-08-01").

ChannelSlice

CampoTipo
ordersentero
ticketsentero
totalMoney

Error

CampoTipoNotas
errorenumCódigo estable. La lista en errores
detailsobjetoOpcional. Solo lo que ayuda a corregir la llamada

WebhookEvent

El sobre de una entrega de webhook.

CampoTipoNotas
idcadenaevt_…. Deduplícalo
typeenumorder.paid, ticket.checkedIn…
createdAtfecha
dataobjeto{ order }, { ticket }, { event } o { performance }

El objeto dentro de data es exactamente el mismo que devuelve la API. Ver webhooks.

Tipos de TypeScript

@tickeep/client exporta todos estos tipos, así que no hace falta que los transcribas:

import type {
  Attendee, Availability, CheckInResult, Order, Page,
  Performance, Ticket, TicketType, TickeepEvent, Venue,
} from '@tickeep/client'

TickeepEvent y no Event porque Event ya existe en el DOM y la colisión se paga en cada archivo. Ver cliente de TypeScript.