Skip to Content

Tickets (Ingressos)

Hooks para editar, transferir e gerar arquivo de ingressos do usuário.

useEditUserTicket 🔒

Edita um ingresso do usuário (ex.: nomeação).

import { useEditUserTicket } from '@meaple-com/react-query'; function EditTicket({ userTicketId }: { userTicketId: string }) { const editTicket = useEditUserTicket(); const handleEdit = async () => { await editTicket.mutateAsync({ userTicketId, nomination: { name: 'Novo Nome', document: '12345678900' }, }); }; return <button onClick={handleEdit}>Editar</button>; }
  • Parâmetros (mutateAsync):
    • { userTicketId: string; nomination?: NominationProps } – ID do ingresso do usuário e dados a atualizar (UpdateUserTicketProps).

Retorno:

  • { success: true } – confirmação de sucesso.

Método Core: tickets.editUserTicket — veja o exemplo de resposta no Core.


useTransferTicket 🔒

Transfere um ingresso para outro usuário.

import { useTransferTicket } from '@meaple-com/react-query'; function TransferTicket({ ticketId }: { ticketId: string }) { const transferTicket = useTransferTicket(); const handleTransfer = async () => { await transferTicket.mutateAsync({ ticketId, to: { email: 'destinatario@example.com', name: 'Nome', document: '12345678900', }, }); }; return <button onClick={handleTransfer}>Transferir</button>; }
  • Parâmetros (mutateAsync):
    • { ticketId: string; to: TransferTicketRecipientProps } – ID do ingresso e dados do destinatário (TransferTicketProps).

Retorno:

  • { success: true } – confirmação de sucesso.

Método Core: tickets.transfer — veja o exemplo de resposta no Core.


useCreateTicketFile 🔒

Gera arquivo do ingresso (PDF ou PNG).

import { useCreateTicketFile } from '@meaple-com/react-query'; function CreateFile({ userTicketId, eventId }: { userTicketId: string; eventId: string }) { const createFile = useCreateTicketFile(); const handleCreate = async () => { const blob = await createFile.mutateAsync({ userTicketId, eventId, output: 'PDF', }); // usar blob para download ou exibição }; return <button onClick={handleCreate}>Baixar ingresso</button>; }
  • Parâmetros (mutateAsync):
    • { userTicketId: string; eventId: string; output?: 'PNG' | 'PDF' }CreateTicketFileProps + userTicketId.

Retorno:

  • data: Blob – arquivo do ingresso (para download ou exibição).

Método Core: tickets.createFile — veja o exemplo de resposta no Core.

Last updated on