Publica o rascunho do evento
POST/api/events/{id}/publish
- Auth
- Exige token
- Chave de API:
- events:write
- X-CommunityId
X-CommunityIdEnvie o X-CommunityId da comunidade em que a operação acontece.
Owner, admin, moderador e financeiro. Confere a lista "Para publicar" (`readiness`): faltando título, início, fim, local (evento presencial ou híbrido) ou tipo de ingresso, **422** com um item em `errors` por campo (`param` = `title`, `startTime`, `endTime`, `location`, `ticketTypes`) e `data.readiness`. A capa é só recomendada. Evento já publicado, **409**.
Publicado, dispara o que a criação disparava antes dos rascunhos: a moderação do espaço (com aprovação exigida, fica `PENDING` e só sai depois de aprovado), o item no feed, os pontos de quem publica, o aviso em tempo real, o webhook **`event.created`** (o mesmo evento de antes, agora na publicação; um rascunho nunca o dispara) e, **só com `notifyByEmail`** (padrão ligado), o aviso por e-mail (`data.emailNotice`, `EmailNoticeResult`).
**Ingressos:** na mesma transação, todo tipo de ingresso em rascunho (`DRAFT`) do evento passa a `ACTIVE` (à venda), cada um na sua janela (início e fim dos lotes, "encerrar vendas"). Tipo pago sem a empresa da comunidade aprovada continua `DRAFT`, como na publicação manual; tipo tirado de venda (`INACTIVE`) não muda. `data.ticketTypes` = `{ activated: [ids], keptDraft: [ids] }`. Tipo criado depois, com o evento publicado, segue as regras de sempre.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
idobrigatório | path | string (uuid) |
Headers
| Nome | Tipo | Descrição |
|---|---|---|
X-CommunityIdopcional | string (uuid) | ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade. |
Corpo da requisição application/json
| Nome | Tipo | Descrição |
|---|---|---|
notifyByEmailopcional | boolean | Avisar por e-mail quem pode ver o evento. |
Respostas
| Código | Descrição |
|---|---|
200 | Publicado. `data` é o evento (`status: PUBLISHED`, `publishedAt`), com `emailNotice` e `readiness`. |
401 | Token ausente, inválido ou expirado; token de outra comunidade (o `X-CommunityId` ou o `communityId` do corpo não é o do token); token antigo ou de uma sessão encerrada (troca de senha, convite aceito). Nesses casos a mensagem pede para entrar de novo (`auth.signInAgain`). |
403 | Autenticado, mas sem permissão para esta operação. |
404 | Recurso não encontrado. |
409 | O evento já está publicado. |
422 | Falta o que a lista "Para publicar" exige (`errors[].param`, `data.readiness`). |
500 | Erro interno do servidor. |
Exemplo com curl
curl -X POST "https://api.memberfy.net/api/events/<id>/publish" \
-H "Authorization: Bearer $TOKEN" \
-H "X-CommunityId: $COMMUNITY_ID" \
-H "Content-Type: application/json" \
-d '{}'