X-CommunityId Envía el X-CommunityId de la comunidad en la que ocurre la operación.
Las descripciones de los endpoints vienen de la especificación de la API y, por ahora, están en portugués. La interfaz alrededor está traducida.
Owner e admin do `X-CommunityId`. Grava, para um ou vários membros (até 200), o consentimento de SMS e/ou WhatsApp que a comunidade **declara ter coletado** (`attestation: true` é obrigatório; a responsabilidade pela declaração é da comunidade), e opcionalmente o telefone. É o mesmo princípio da coluna de consentimento da importação de membros. Cada linha fica em `ContactConsent` com origem `team`, a data da atestação, quem atestou, `attestationMethod` (como foi coletado) e a versão vigente do texto; `consentedAt` é o `collectedAt` informado (ou agora). Cada membro gravado entra no log da comunidade (`member.contact_consent_attested`).
`purpose`: `service` (o texto de serviço do canal), `marketing` (o de novidades) ou `all` (o texto do interruptor único do canal, `sms-all:`/`whatsapp-all:`, que cobre os dois).
Telefone: o número informado aqui (gravado ou igual ao atual) **já pode receber** SMS e WhatsApp (`sendable: true`), sem a confirmação por código, enquanto continuar sendo o telefone do perfil; se o telefone mudar depois por outro caminho, o número novo não herda a atestação. Ele **não** fica verificado (`phoneVerified` continua `false`): códigos de acesso e de telefone só vão para número confirmado pela própria pessoa. Um número verificado diferente nunca é trocado (`phoneResult: keptVerified`); admin não mexe no perfil de owner (`ownerProtected`). A pessoa que saiu do canal (opt-out) ou retirou o consentimento daquela finalidade não é recadastrada (`withdrawn`). O membro pode retirar o consentimento a qualquer momento, e opt-out, horário de silêncio, limites e teto de preço continuam valendo.
`status` por membro: `recorded`, `alreadyConsented` (já havia consentimento vivo na versão atual), `withdrawn`, `notFound`, `invalidPhone` (nada gravado) ou `ownerProtected` (nada gravado).
Headers
Nombre
Tipo
Descripción
X-CommunityIdopcional
string (uuid)
ID da comunidade em que a operação acontece. Obrigatório na maioria dos endpoints com escopo de comunidade.
Cuerpo de la solicitud application/json
Nombre
Tipo
Descripción
attestationobligatorio
true
A comunidade declara que coletou o consentimento de cada membro da lista. Obrigatório e `true`.
channelsobligatorio
sms | whatsapp[]
purposeobligatorio
service | marketing | all
collectedAtopcional
string (date-time)
Opcional. Quando o consentimento foi coletado (não pode ser no futuro).
collectionMethodopcional
string
Opcional. Como foi coletado (ex.: "ficha de inscrição do evento"). · max 200
membersobligatorio
object[]
members[].memberIdobligatorio
string (uuid)
members[].phoneopcional
string
Opcional. Número nacional (país da comunidade) ou E.164. Gravado não verificado, mas já pode receber mensagens (atestado). · max 30
Respuestas
Código
Descripción
200
Resultado por membro.
400
Requisição inválida — falha de validação.
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.