Perfil
Atualizar privacidade
Atualiza configurações de privacidade (last seen, online, foto, status, leitura, chamadas, grupos)
POST
Atualizar privacidade
Auth:
Envelope:
TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: sim (setar o mesmo valor e no-op)
Descrição
Atualiza uma ou mais configurações de privacidade. Update parcial, apenas os campos enviados são alterados. Pelo menos uma das três subseções (visibility, privacy, permissions) precisa ser enviada. A resposta retorna as configurações completas após o update.
Exemplos
Tudo restritivo
Aplica um perfil de privacidade fechado em uma única chamada: escondelastSeen, restringe status / foto a contatos, desliga read receipts e limita chamadas a contatos conhecidos. Cada subseção envia um campo, totalizando várias stanzas no WhatsApp.
Só groupAdd
Atualiza somentepermissions.groupAdd para contacts, impedindo que desconhecidos adicionem a conta a grupos. As demais configurações ficam inalteradas.
Desligar read receipts
Defineprivacy.readReceipts como none para parar de enviar o “duplo check azul”. A conta deixa de confirmar leitura, e também deixa de ver a confirmação dos outros (efeito recíproco do WhatsApp).
Apenas lastSeen e online
Esconde olastSeen e amarra o online ao mesmo nível (match_last_seen). Resultado: ninguém vê quando a conta esteve online pela última vez nem se ela está ativa agora.
Resposta de sucesso
Após aplicar os updates, o handler refaz umGetPrivacySettings e devolve o snapshot completo atual em settings, agrupado em visibility (lastSeen, status, profile, online), privacy (readReceipts) e permissions (callAdd, groupAdd). Use o response como fonte da verdade do estado pós-update, é o que o WhatsApp confirmou, não apenas o que você enviou.
200 OK
Parâmetros de rota
Nome da instância.
Headers
TokenAccount ou TokenInstance.application/jsonRequest body
Cada subseção é opcional, mas pelo menos uma deve estar presente.Subcampos:
lastSeen, status, profile, online.Subcampos:
readReceipts.Subcampos:
callAdd, groupAdd.Valores aceitos por campo
| Campo | Valores |
|---|---|
lastSeen / status / profile | all / contacts / contact_blacklist / none |
online | all / match_last_seen |
readReceipts | all / none |
callAdd | all / known |
groupAdd | all / contacts / contact_blacklist |
Notas
- Operações não são transacionais: se o terceiro
SetPrivacySettingfalhar, os dois primeiros já foram aplicados, o cliente recebe500mas o estado parcial persiste. Verifique viaGETapós erros. - Cada campo dispara uma stanza separada, um update com 7 campos faz 7 chamadas + 1
GetPrivacySettingsfinal = 8 stanzas. Pode somar latência. - O response sempre traz as configurações completas atuais (não só os campos alterados).
Erros
| HTTP | Mensagem |
|---|---|
| 400 | At least one privacy setting must be provided |
| 400 | Invalid lastSeen value: <value>. Valid values: all, contacts, contact_blacklist, none |
| 400 | Invalid status value: <value>. Valid values: all, contacts, contact_blacklist, none |
| 400 | Invalid profile value: <value>. Valid values: all, contacts, contact_blacklist, none |
| 400 | Invalid online value: <value>. Valid values: all, match_last_seen |
| 400 | Invalid readReceipts value: <value>. Valid values: all, none |
| 400 | Invalid callAdd value: <value>. Valid values: all, known |
| 400 | Invalid groupAdd value: <value>. Valid values: all, contacts, contact_blacklist |
| 400 | Instance is not connected to WhatsApp |
| 500 | failed to update <field> privacy: <reason> |