Saltar para o conteúdo

Configura as boas-vindas

PUT/api/welcome/settings

Auth
Exige token
Quem pode:
owner
admin
X-CommunityId
X-CommunityId Envie o X-CommunityId da comunidade em que a operação acontece.

Só owner e admin. Parcial: o que não vem fica como está; `screens` substitui a lista (de 1 a 5 telas para ligar; as missões dos "Primeiros passos" vêm nos campos `missions*` e `finalBadgeId`; mantenha o `id` de cada tela ao editar). Ligar (`enabled: true` quando estava desligada) marca `enabledAt` e grava `applyToExisting` como veio (falso se não vier). Desligar deixa os pendentes entrarem direto; ligar de novo não pede de novo a quem já concluiu ou pulou. Erros por campo com 422 em `screens[i].<campo>`.

Headers

NomeTipoDescrição
X-CommunityIdopcionalstring (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

NomeTipoDescrição
enabledopcionalboolean
modeopcionalREQUIRED | SKIPPABLE
applyToExistingopcionalboolean
missionsEnabledopcionalboolean
missionsShowExistingopcionalboolean
finalBadgeIdopcionalstring (uuid)
missionsopcionalobject[]Substitui a lista (de 1 a 6 para ligar). Mantenha o `id` ao editar: a missão com o mesmo tipo e item continua cumprida por quem já fez; uma nova ou alterada conta a partir de agora.
missions[].idopcionalstring (uuid)
missions[].kindobrigatórioprofile_completed | first_post | form_submitted | event_registered | course_completed
missions[].titleobrigatóriostringmax 80
missions[].spaceIdopcionalstring (uuid)
missions[].formIdopcionalstring (uuid)
missions[].eventIdopcionalstring (uuid)
missions[].courseIdopcionalstring (uuid)
missions[].pointsopcionalinteger≥ 0, ≤ 10000
missions[].badgeIdopcionalstring (uuid)
screensopcionalobject[]
screens[].idopcionalstring (uuid)
screens[].titleopcionalstringmax 120
screens[].bodyopcionalstring
screens[].videoopcionalobject
screens[].video.mediaIdopcionalstring (uuid)
screens[].video.urlopcionalstring
screens[].video.requireFinishopcionalboolean
screens[].rulesopcionalobject
screens[].rules.textopcionalstring
screens[].fieldIdsopcionalstring (uuid)[]

Respostas

CódigoDescrição
200A configuração salva.
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.
422Tela inválida (título, texto, vídeo, regras, campo de outra comunidade), mais de 5 telas, ou ligar sem tela; missão inválida em `missions[i].<campo>` (tipo, título, item de outra comunidade, pontos, badge), mais de 6, ou ligar sem missão.

Exemplo com curl

curl -X PUT "https://api.memberfy.net/api/welcome/settings" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-CommunityId: $COMMUNITY_ID" \
  -H "Content-Type: application/json" \
  -d '{}'