Skip to Content

Tickets (ticket)

TicketProps

Representa um ingresso ou produto de um evento.

type TicketType = 'TICKET' | 'PRODUCT'; type TicketVisibility = 'PUBLIC' | 'PRIVATE' | 'DRAFT'; type TicketProps = { id: string; type: TicketType; groupId?: string; group?: Pick<GroupProps, 'id' | 'name'>; chartCategory?: ChartCategoryProps; name: string; description?: string; amount: number; visibility: TicketVisibility; privateToken?: string | null; image: (FileProps & { id: string }) | null; amount: number; availableAmount: number; price: number; transferable: boolean; nominable: boolean; isInvite: boolean; startsAt?: string; endsAt?: string; minBuy?: number | null; maxBuy?: number | null; beginsAt?: string; predecessor?: Pick<TicketProps, 'id' | 'name' | 'group'>; expireBehavior?: 'VISIBLE' | 'HIDDEN'; orderAt: number; customFields?: TicketCustomField[]; };

Campos principais:

  • id – Identificador único do ingresso/produto.
  • type – Diferencia ingresso ('TICKET') de produto complementar ('PRODUCT').
  • name – Nome exibido ao usuário (ex.: Pista inteira).
  • amount / availableAmount – Quantidade total e quantidade ainda disponível.
  • price – Preço unitário (em reais).
  • transferable / nominable / isInvite – Regras de transferência, nomeação e se é convite.
  • visibility – Visibilidade do ingresso ('PUBLIC', 'PRIVATE' ou 'DRAFT').
  • customFields? – Campos adicionais configurados para o ingresso (ver TicketCustomField).

GroupProps

Representa um grupo de ingressos (por exemplo, um lote ou agrupamento de tickets).

type GroupProps = { id: string; name: string; description?: string; scanStartsAt?: string | null; scanEndsAt?: string | null; tickets: TicketProps[]; gauge: Pick<GaugeProps, 'totalAmount' | 'usedAmount'> | null; defaultOpen: boolean; orderAt: number; maxBuyAmount?: number; };

Campos principais:

  • id / name – Identificador e nome do grupo.
  • tickets – Ingressos que pertencem a esse grupo (ver TicketProps).
  • gauge – Informações de quantidade total/utilizada.
  • defaultOpen – Define se o grupo inicia expandido na UI.

FindEventTicketsEventProps

Evento resumido retornado em sdk.events.getTickets (EventProps não tem maxBuyAmount).

type FindEventTicketsEventProps = Pick< EventProps, 'id' | 'startsAt' | 'endsAt' | 'presaleStartsAt' > & { maxBuyAmount: number | null; };

Campos:

  • id – ID do evento.
  • startsAt / endsAt – Datas de início e fim do evento.
  • presaleStartsAt – Início da pré-venda (ou null).
  • maxBuyAmount – Quantidade máxima de compra por pedido ou null.

FindEventTicketItemProps

Ingresso retornado pela listagem sdk.events.getTickets. Subconjunto de TicketProps (apenas os campos que a API devolve).

type FindEventTicketItemProps = Pick< TicketProps, | 'id' | 'type' | 'groupId' | 'name' | 'description' | 'amount' | 'availableAmount' | 'endsAt' | 'price' | 'orderAt' | 'expireBehavior' | 'image' | 'chartCategory' | 'privateToken' | 'minBuy' | 'maxBuy' >;

Uso: tipagem de cada item do array tickets em FindEventTicketsProps.


FindEventTicketGroupProps

Grupo retornado em sdk.events.getTickets. Subconjunto de GroupProps: apenas id, name, description, defaultOpen, orderAt, maxBuyAmount (sem gauge, scanStartsAt, scanEndsAt). O array tickets é FindEventTicketItemProps[].

type FindEventTicketGroupProps = Pick< GroupProps, 'id' | 'name' | 'description' | 'defaultOpen' | 'orderAt' | 'maxBuyAmount' > & { tickets: FindEventTicketItemProps[]; };

Uso: tipagem de cada item do array groups em FindEventTicketsProps.


FindEventTicketsProps

Retorno de sdk.events.getTickets.

type FindEventTicketsProps = { event: FindEventTicketsEventProps; tickets: FindEventTicketItemProps[]; groups: FindEventTicketGroupProps[]; };

Este tipo agrega:


FindEventProductEventProps

Evento resumido retornado em sdk.events.getProducts (EventProps não tem gauge, maxBuyAmount).

type FindEventProductEventProps = Pick< EventProps, 'id' | 'endsAt' | 'presaleStartsAt' > & { gauge: GaugeProps | null; maxBuyAmount: number | null; };

Campos:

  • id – ID do evento.
  • endsAt – Data de término do evento.
  • presaleStartsAt – Início da pré-venda (ou null).
  • gauge – Indicador de quantidade ({ totalAmount, usedAmount } ou null).
  • maxBuyAmount – Quantidade máxima de compra por pedido ou null.

FindEventProductItemProps

Produto retornado pela listagem sdk.events.getProducts. Subconjunto de TicketProps (apenas os campos que a API devolve).

type FindEventProductItemProps = Pick< TicketProps, | 'id' | 'name' | 'description' | 'amount' | 'availableAmount' | 'endsAt' | 'price' | 'image' | 'privateToken' | 'minBuy' | 'maxBuy' >;

Uso: tipagem de cada item do array products em FindEventProductsProps.


FindEventProductsProps

Retorno de sdk.events.getProducts.

type FindEventProductsProps = { event: FindEventProductEventProps; products: FindEventProductItemProps[]; };

Este tipo agrega:


TicketVisibility

Define a visibilidade de um ingresso.

type TicketVisibility = 'PUBLIC' | 'PRIVATE' | 'DRAFT';
  • 'PUBLIC' – ingresso visível para qualquer pessoa.
  • 'PRIVATE' – ingresso acessível apenas via link ou token privado.
  • 'DRAFT' – ingresso em rascunho, não exibido publicamente.

TicketCustomField

Campos customizados que podem ser anexados a um ingresso.

type TicketCustomFieldType = | 'TEXT' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'SELECT' | 'MULTI_SELECT' | 'FILE'; type TicketCustomField = { id: string; name: string; defaultValue?: string; isRequired: boolean; options?: string[]; type: TicketCustomFieldType; };

Campos principais:

  • name – Nome do campo exibido ao usuário.
  • type – Tipo do campo ('TEXT', 'NUMBER', 'BOOLEAN', etc.).
  • isRequired – Indica se o preenchimento é obrigatório.
  • options? – Opções disponíveis para campos de seleção.
Last updated on