Skip to content

Publica o rascunho do evento

POST/api/events/{id}/publish

Auth
Requires a token
API key:
events:write
X-CommunityId
X-CommunityId Send the X-CommunityId of the community the operation happens in.
Endpoint descriptions come straight from the API specification and are in Portuguese for now. The interface around them is translated.

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.

Parameters

NameInTypeDescription
idrequiredpathstring (uuid)

Headers

NameTypeDescription
X-CommunityIdoptionalstring (uuid)ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.

Request body application/json

NameTypeDescription
notifyByEmailoptionalbooleanAvisar por e-mail quem pode ver o evento.

Responses

StatusDescription
200Publicado. `data` é o evento (`status: PUBLISHED`, `publishedAt`), com `emailNotice` e `readiness`.
401Token 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`).
403Autenticado, mas sem permissão para esta operação.
404Recurso não encontrado.
409O evento já está publicado.
422Falta o que a lista "Para publicar" exige (`errors[].param`, `data.readiness`).
500Erro interno do servidor.

curl example

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 '{}'