Perfil
Actualizar privacidad
Actualiza la configuración de privacidad (visto por última vez, en línea, foto, estado, confirmaciones de lectura, llamadas, grupos)
POST
Actualizar privacidad
Auth:
Envoltorio:
TokenAccount o TokenInstance • Rate limit: Global (100/min) • Idempotente: sí (establecer el mismo valor no produce efecto)
Descripción
Actualiza una o más configuraciones de privacidad. Actualización parcial, solo se cambian los campos que envías. Al menos una de las tres subsecciones (visibility, privacy, permissions) debe enviarse. La respuesta devuelve la configuración completa después de la actualización.
Ejemplos
Totalmente restrictivo
Aplica un perfil de privacidad cerrado en una sola llamada: ocultalastSeen, restringe estado / foto a contactos, desactiva las confirmaciones de lectura y limita las llamadas a contactos conocidos. Cada subsección envía un campo, totalizando varias stanzas en WhatsApp.
Solo groupAdd
Actualiza solopermissions.groupAdd a contacts, impidiendo que desconocidos agreguen la cuenta a grupos. Las demás configuraciones permanecen sin cambios.
Desactivar confirmaciones de lectura
Estableceprivacy.readReceipts en none para dejar de enviar el “doble check azul”. La cuenta deja de confirmar lecturas, y también deja de ver las confirmaciones de los demás (efecto recíproco de WhatsApp).
Solo lastSeen y online
OcultalastSeen y enlaza online al mismo nivel (match_last_seen). Resultado: nadie ve cuándo la cuenta estuvo en línea por última vez, ni si está activa en este momento.
Respuesta exitosa
Después de aplicar las actualizaciones, el handler vuelve a ejecutarGetPrivacySettings y devuelve el snapshot completo actual en settings, agrupado en visibility (lastSeen, status, profile, online), privacy (readReceipts) y permissions (callAdd, groupAdd). Usa la respuesta como fuente de verdad del estado posterior a la actualización, es lo que WhatsApp confirmó, no solo lo que enviaste.
200 OK
Parámetros de ruta
Nombre de la instancia.
Cabeceras
TokenAccount o TokenInstance.application/jsonCuerpo de la solicitud
Cada subsección es opcional, pero al menos una debe estar presente.Subcampos:
lastSeen, status, profile, online.Subcampos:
readReceipts.Subcampos:
callAdd, groupAdd.Valores aceptados 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
- Las operaciones no son transaccionales: si el tercer
SetPrivacySettingfalla, las dos primeras ya fueron aplicadas, el cliente recibe un500pero el estado parcial persiste. Verifica víaGETdespués de errores. - Cada campo dispara una stanza separada, una actualización con 7 campos hace 7 llamadas + 1
GetPrivacySettingsfinal = 8 stanzas. La latencia puede acumularse. - La respuesta siempre devuelve la configuración completa actual (no solo los campos cambiados).
Errores
| HTTP | Mensaje |
|---|---|
| 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> |