Events (event)
EventProps
Representa um evento público ou privado (ex.: retorno de sdk.events.getBySlug).
type EventType = 'DRAFT' | 'PUBLISHED' | 'PRIVATE';
type EventProps = {
id: string;
slug: string;
channelId?: string;
name: string;
isSeatAssigned: boolean;
description: Record<string, any>[];
status: EventType;
createdAt?: string;
startsAt: string;
endsAt: string;
opensAt?: string | null;
presaleStartsAt?: string | null;
timezone: string;
canceledAt: string | null;
address?: AddressProps | null;
image: FileProps | null;
legalAgeRequired: boolean;
contact?: EventContact;
categories: CategoryProps[];
tags?: TagProps[];
hasTicketInsurance?: boolean;
channel: Pick<
ChannelProps,
'id' | 'name' | 'avatar' | 'slug' | 'eventsCount'
>;
externalAnalytics: ExternalAnalyticsProps[] | null;
children: Pick<
EventProps,
'id' | 'startsAt' | 'timezone' | 'isSeatAssigned'
>[];
reviewStats?: EventReviewStats | null;
};Campos principais:
id/slug– Identificador do evento e slug público.channelId?– ID do canal (quando retornado pela API).name/description– Nome e conteúdo rico da descrição do evento (formato Slate; usedescriptionToHtmlpara renderizar como HTML).status– Estado atual ('DRAFT','PUBLISHED','PRIVATE').startsAt/endsAt/opensAt?/presaleStartsAt?– Datas principais do evento (início, fim, abertura de vendas e pré-venda).image– Capa do evento (FileProps | null; pode sernull).address?– Endereço do evento (pode sernull).legalAgeRequired– Indica se há restrição de idade mínima.contact?– Contato do evento (ver EventContact).hasTicketInsurance?– Indica se o evento oferece seguro de ingresso (quando retornado).channel– Informações básicas do canal (ver ChannelProps).categories– Categorias associadas ao evento (ver CategoryProps).tags?– Tags temáticas (quando retornadas pela API).reviewStats?– Estatísticas de avaliação (ver EventReviewStats).
EventContact
Contato do evento (email, telefone, Instagram). Todos os campos são opcionais e podem ser null.
type EventContact = {
email?: string | null;
phoneNumber?: string | null;
instagramUsername?: string | null;
};EventReviewStats
Estatísticas de avaliação do evento, retornadas em detalhes do evento (ex.: getBySlug).
type EventReviewStats = {
averageRating: number | null;
totalReviews: number;
};FindEventsParams
Parâmetros opcionais para listagem de eventos (sdk.events.find, useEvents, ListEvents).
type FindEventsParams = {
orderBy?: 'START_DATE' | 'END_DATE' | 'MAX_PRICE' | 'MIN_PRICE';
channelSlugs?: string[];
limit?: number;
cursor?: string;
q?: string;
enabled?: boolean;
priority?: number;
categoryIds?: string[];
};Campos:
orderBy?– Ordenação por data de início/fim ou preço.channelSlugs?– Slugs dos canais; se omitido, usa o canal do SDK.limit?/cursor?– Paginação.q?– Busca por texto.categoryIds?– Filtrar por categorias.priority?– Prioridade do evento.enabled?– Se a query deve ser executada.
FindEventTagItemProps
Subconjunto de TagProps retornado em cada evento na listagem sdk.events.find: apenas id, name, description, emoji, parentId (sem displayName, parent, children).
type FindEventTagItemProps = Pick<
TagProps,
'id' | 'name' | 'description' | 'emoji' | 'parentId'
>;FindEventItemProps
Representa um evento retornado pela listagem (sdk.events.find). É um subconjunto de EventProps: apenas as propriedades que a API devolve na listagem. O campo image pode ser null; tags usa FindEventTagItemProps[] (sem displayName em cada tag).
type FindEventItemProps = Pick<
EventProps,
| 'id'
| 'name'
| 'slug'
| 'description'
| 'canceledAt'
| 'endsAt'
| 'startsAt'
| 'presaleStartsAt'
| 'timezone'
| 'status'
| 'categories'
| 'address'
| 'channel'
> & {
image: FileProps | null;
tags: FindEventTagItemProps[];
};Uso: tipagem de cada item do array events em FindEventsProps.
FindEventsProps
Retorno da listagem de eventos (sdk.events.find).
type FindEventsProps = {
events: FindEventItemProps[];
cursor?: string;
};Campos principais:
events– Lista de eventos retornados (cada item é FindEventItemProps).cursor?– Cursor para buscar a próxima página de resultados.