Skip to content

Muda os avisos desta comunidade

PUT/api/members/me/notice-preferences

Auth
Requires a token
API key:
members: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.

Qualquer papel, só a própria. `email` aceita `shortcut` e `categories` como `PUT /api/members/me/email-preferences`. `sms.enabled: true` religa o SMS (precisa do telefone confirmado: 409 `sms.phoneUnverified`; registra o consentimento de serviço na versão atual do texto, origem `profile`, quando falta); `false` desliga, como o link de saída. `sms.categories` liga e desliga por categoria. `sms.marketing` registra ou retira o consentimento de marketing (nada de marketing sai nesta fase). **Um botão por canal (serviço e marketing juntos):** mande `sms.textVersion` (ou `whatsapp.textVersion`) com a versão de `GET /api/contact-consent/texts` → `sms.all.version` (`whatsapp.all.version`) junto com `enabled`. `enabled: true` grava os dois consentimentos, serviço e marketing, com essa versão (origem `profile`) e tira o descadastro; `enabled: false` retira os dois e descadastra o canal. Com `textVersion`, o `marketing` do mesmo canal é ignorado. Só a versão atual é aceita, e só com `enabled` (400 com param = `sms.textVersion`/`whatsapp.textVersion`). Sem `textVersion`, os campos separados valem como antes. **Religar depois do SAIR (API-191).** `enabled: true` no canal também tira a parada que a pessoa mandou ao número da Memberfy (`globalOptOut` no `GET`), mas só no **telefone confirmado da própria pessoa** (sem ele, 409 `sms.phoneUnverified`); nunca no telefone de outra. A religada vale para **todas as comunidades** (o número é um só), e a `message` da resposta avisa isso. Fica registrada a prova: canal, telefone, perfil, data, IP e a versão do texto de consentimento, além do consentimento de serviço (origem `profile`). Se a operadora bloqueou o número (STOP do SMS), responde **409** `sms.globalOptOut.providerBlock` (`param = sms.enabled`) e nada muda: só responder START ao número religa.

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
emailoptionalobject
email.shortcutoptionalall | campaigns-off | none
email.categoriesoptionalobject
smsoptionalobject
sms.enabledoptionalboolean
sms.categoriesoptionalobject
sms.marketingoptionalboolean
sms.textVersionoptionalstringUm botão para serviço e marketing: a versão de `sms.all` em `GET /api/contact-consent/texts`. Exige `enabled`.
whatsappoptionalobjectComo `sms` (ligar exige telefone confirmado e grava o consentimento de WhatsApp, origem `profile`). `moments` liga e desliga cada momento (`GET` devolve a lista, com o padrão de cada um; chave desconhecida: 422 `whatsapp.momentInvalid`). `marketing` registra ou retira o consentimento de marketing do WhatsApp, que o momento `checkoutAbandoned` exige.
whatsapp.enabledoptionalboolean
whatsapp.categoriesoptionalobject
whatsapp.momentsoptionalobject
whatsapp.marketingoptionalboolean
whatsapp.textVersionoptionalstringUm botão para serviço e marketing: a versão de `whatsapp.all` em `GET /api/contact-consent/texts`. Exige `enabled`.

Responses

StatusDescription
200Preferências resultantes. Quando a religada tirou um SAIR, a `message` diz que vale para todas as comunidades.
400Requisição inválida — falha de validação.
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`).
409Conflito com o estado atual do recurso.

curl example

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