Detalha events por id
GET/api/events/{identifier}
- Auth
- Public
- Clé d’API:
- events:read
- X-CommunityId
X-CommunityIdEnvoyez le X-CommunityId de la communauté où l’opération a lieu.
Autenticação opcional: o conteúdo retornado varia conforme o membro autenticado. O evento é buscado **sempre na comunidade do `X-CommunityId`** (obrigatório também na busca por id; sem ele, 400): id ou slug de outra comunidade dá 404.
**Badge ao fazer check-in:** `data.checkInBadge` `{ id, name, imageUrl, visibility }` é o badge que quem faz check-in ganha, ou `null`. Badge privado só aparece para owner e admin (para os demais, `null`).
**Editor e rascunho:** traz `status` (`DRAFT` | `PUBLISHED`), `publishedAt`, `updatedAt` (a versão que o `PATCH` confere), `visibility`, `featuredImageUrl` e os pontos focais (`bannerFocalX/Y`, `featuredFocalX/Y`). Para quem edita (owner, admin, moderador, financeiro, SuperAdmin), `readiness` (`EventReadiness`): a lista "Para publicar", a mesma regra do `POST /api/events/{id}/publish`. Rascunho: 404 para quem não edita, organizadores do evento incluídos.
**Quem lê** (a mesma regra da listagem e do feed): - owner, admin, moderador, finance e SuperAdmin leem tudo; - evento aguardando moderação (`PENDING`), recusado (`REJECTED`) ou `private`: 404 para os demais; - `public`: qualquer pessoa; - `members`: sem login, 401; logado sem perfil na comunidade, 403; membro da comunidade lê; - `plan`: quem tem assinatura ativa na comunidade, ou entrada paga no evento (compra, plano que inclui o produto do evento, ou presença `going` num produto pago), recebe tudo. Os demais (inclusive sem login) recebem a página de venda: o detalhe com `requiresPlan: true` e, como `null`, `streamingUrl`, `recordingMediaId`, `location`, `placeId`, `street`, `number`, `neighborhood`, `postalCode`, `latitude` e `longitude`.
**Evento vendido por produto pago**: quem não pode entrar (não comprou, não tem plano que inclua o produto, não está `going` e não é da equipe) recebe a mesma página de venda, com `requiresPurchase: true` e os mesmos campos em `null`. `product.canEnter` segue dizendo se a pessoa pode entrar.
`requiresPlan` e `requiresPurchase` vêm sempre: `false` quando a pessoa recebeu o detalhe completo.
`data.spaceId` (uuid) traz o espaço do evento, o mesmo campo da listagem.
**Certificado:** `issuesCertificate` diz se o evento emite certificado agora; `certificate` (`EventCertificateConfig`) vem **só para owner, admin e SuperAdmin**; `userCertificate` (`EventUserCertificate`) vem quando a pessoa tem certificado `PENDING` ou `ISSUED` deste evento (o da própria pessoa, ou o do perfil de `X-MemberId` para owner, moderador e SuperAdmin). O certificado sai cerca de 1 hora depois do `endTime`, só para quem estiver com a última confirmação em `going`, pela varredura de 15 minutos; nada é gerado nem enviado na requisição. As colunas internas do certificado não saem.
Paramètres
| Nom | Emplacement | Type | Description |
|---|---|---|---|
identifierobligatoire | path | string | |
spaceIdfacultatif | query | string (uuid) | Valid space ID required if provided |
En-têtes
| Nom | Type | Description |
|---|---|---|
X-CommunityIdfacultatif | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Réponses
| Statut | Description |
|---|---|
200 | Operação realizada com sucesso. |
400 | Requisição inválida — falha de validação. |
401 | Evento `members` pedido sem login. |
403 | Evento `members` pedido por quem está logado mas não é membro da comunidade, ou espaço que a pessoa não pode abrir. |
404 | Evento inexistente, de outra comunidade, ou que a pessoa não pode ler (`private`, `PENDING`, `REJECTED`). |
500 | Erro interno do servidor. |
Exemple curl
curl -X GET "https://api.memberfy.net/api/events/<identifier>" \
-H "X-CommunityId: $COMMUNITY_ID"