Skip to Content

Events (Eventos)

Hooks para listar eventos, ingressos, produtos e ingressos do usuário por evento.

ℹ️ Identificação do Canal
O canal é identificado automaticamente pelo header X-Channel-Id configurado no SDK.
Não é necessário passar channelSlug ou channelId como parâmetro.

useEvents

Lista eventos do canal atual.

import { useEvents } from '@meaple-com/react-query'; function EventsList() { const { data, isLoading, error } = useEvents(); if (isLoading) return <div>Carregando...</div>; if (error) return <div>Erro: {error.message}</div>; return ( <div> {data?.events.map(event => ( <div key={event.id}>{event.name}</div> ))} </div> ); }
  • Parâmetros:
    • params? FindEventsParams – filtros opcionais:
      • limit?: number – quantidade máxima de eventos por página.
      • cursor?: string – cursor de paginação para buscar a próxima página.
      • q?: string – termo de busca (nome do evento, etc).
      • channelSlugs?: string[] – filtrar por um ou mais canais.
      • categoryIds?: string[] – filtrar por categorias.
      • orderBy?: 'START_DATE' | 'END_DATE' | 'MAX_PRICE' | 'MIN_PRICE' – ordenação.
      • enabled?: boolean – filtro por eventos habilitados.
      • priority?: numberobrigatório para retornar resultados: deve ser 0; se omitido ou diferente de 0, a listagem pode não retornar eventos.
    • options? – opções do React Query (ver visão geral).

Retorno:

  • data: FindEventsProps{ events: FindEventItemProps[], cursor? }.
  • isLoading: boolean – estado de carregamento.
  • error?: Error – erro da requisição (se houver).

Método Core: events.find — veja o exemplo de resposta no Core.


useEvent

Busca um evento específico por slug.

import { useEvent } from '@meaple-com/react-query'; function EventDetails({ eventSlug }: { eventSlug: string }) { const { data: event, isLoading } = useEvent({ eventSlug }); if (isLoading) return <div>Carregando...</div>; if (!event) return <div>Evento não encontrado</div>; return <div>{event.name}</div>; }
  • Parâmetros:
    • { eventSlug: string } – slug do evento.

Retorno:

  • event: EventProps | undefined – evento encontrado.
  • isLoading: boolean – estado de carregamento.
  • error?: Error – erro da requisição (se houver).

Método Core: events.getBySlug — veja o exemplo de resposta no Core.


useEventTickets

Busca ingressos de um evento.

import { useEventTickets } from '@meaple-com/react-query'; function TicketsList({ eventId }: { eventId: string }) { const { data, isLoading } = useEventTickets(eventId); if (isLoading) return <div>Carregando...</div>; return ( <div> {data?.tickets.map(ticket => ( <div key={ticket.id}> {ticket.name} - R$ {ticket.price} </div> ))} </div> ); }
  • Parâmetros:
    • eventId: string – ID do evento.

Retorno (FindEventTicketsProps):

Método Core: events.getTickets — veja o exemplo de resposta no Core.


useEventProducts

Busca produtos de um evento.

import { useEventProducts } from '@meaple-com/react-query'; function ProductsList({ eventId }: { eventId: string }) { const { data, isLoading } = useEventProducts(eventId); if (isLoading) return <div>Carregando...</div>; return ( <div> {data?.products.map(product => ( <div key={product.id}> {product.name} - R$ {product.price} </div> ))} </div> ); }
  • Parâmetros:
    • eventId: string – ID do evento.

Retorno (FindEventProductsProps):

Método Core: events.getProducts — veja o exemplo de resposta no Core.


useUserEventTickets 🔒

Busca ingressos do usuário para um evento (requer autenticação).

import { useUserEventTickets } from '@meaple-com/react-query'; function UserTickets({ eventId }: { eventId: string }) { const { data, isLoading } = useUserEventTickets(eventId); if (isLoading) return <div>Carregando...</div>; return ( <div> {data?.map(userTicket => ( <div key={userTicket.id}>{userTicket.ticket.name}</div> ))} </div> ); }
  • Parâmetros:
    • eventId: string – ID do evento.

Retorno:

Método Core: events.getUserEventTickets — veja o exemplo de resposta no Core.

Last updated on