Saltar al contenido principal
POST
/
api
/
profile
/
privacy
/
:instance
Actualizar privacidad
curl --request POST \
  --url https://api.example.com/api/profile/privacy/:instance \
  --header 'Content-Type: <content-type>' \
  --header 'token: <token>' \
  --data '
{
  "visibility": {},
  "privacy": {},
  "permissions": {}
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.ryzeapi.cloud/llms.txt

Use this file to discover all available pages before exploring further.

Auth: TokenAccount o TokenInstanceRate 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: oculta lastSeen, 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.
curl -X POST "https://ryzeapi.cloud/api/profile/privacy/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "visibility": {
      "lastSeen": "none",
      "status": "contacts",
      "profile": "contacts",
      "online": "match_last_seen"
    },
    "privacy": {
      "readReceipts": "none"
    },
    "permissions": {
      "callAdd": "known",
      "groupAdd": "contacts"
    }
  }'

Solo groupAdd

Actualiza solo permissions.groupAdd a contacts, impidiendo que desconocidos agreguen la cuenta a grupos. Las demás configuraciones permanecen sin cambios.
curl -X POST "https://ryzeapi.cloud/api/profile/privacy/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "permissions": { "groupAdd": "contacts" }
  }'

Desactivar confirmaciones de lectura

Establece privacy.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).
curl -X POST "https://ryzeapi.cloud/api/profile/privacy/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "privacy": { "readReceipts": "none" }
  }'

Solo lastSeen y online

Oculta lastSeen 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.
curl -X POST "https://ryzeapi.cloud/api/profile/privacy/$Instance_Name" \
  -H "token: $Token_Instance" \
  -H "Content-Type: application/json" \
  -d '{
    "visibility": {
      "lastSeen": "none",
      "online": "match_last_seen"
    }
  }'

Respuesta exitosa

Después de aplicar las actualizaciones, el handler vuelve a ejecutar GetPrivacySettings 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
{
  "success": true,
  "message": "Privacy settings updated successfully",
  "settings": {
    "visibility": {
      "lastSeen": "none",
      "status": "contacts",
      "profile": "contacts",
      "online": "match_last_seen"
    },
    "privacy": {
      "readReceipts": "none"
    },
    "permissions": {
      "callAdd": "known",
      "groupAdd": "contacts"
    }
  }
}

Parámetros de ruta

instance
string
requerido
Nombre de la instancia.

Cabeceras

token
string
requerido
TokenAccount o TokenInstance.
Content-Type
string
requerido
application/json

Cuerpo de la solicitud

Cada subsección es opcional, pero al menos una debe estar presente.
visibility
object
Subcampos: lastSeen, status, profile, online.
privacy
object
Subcampos: readReceipts.
permissions
object
Subcampos: callAdd, groupAdd.

Valores aceptados por campo

CampoValores
lastSeen / status / profileall / contacts / contact_blacklist / none
onlineall / match_last_seen
readReceiptsall / none
callAddall / known
groupAddall / contacts / contact_blacklist

Notas

La validación se detiene en el primer error. Si envías visibility.lastSeen = "X" (inválido) + visibility.status = "contacts" (válido), nada se aplica, el handler aborta en el primer campo inválido. Valida los enums en el cliente antes de llamar.
  • Las operaciones no son transaccionales: si el tercer SetPrivacySetting falla, las dos primeras ya fueron aplicadas, el cliente recibe un 500 pero el estado parcial persiste. Verifica vía GET después de errores.
  • Cada campo dispara una stanza separada, una actualización con 7 campos hace 7 llamadas + 1 GetPrivacySettings final = 8 stanzas. La latencia puede acumularse.
  • La respuesta siempre devuelve la configuración completa actual (no solo los campos cambiados).

Errores

HTTPMensaje
400At least one privacy setting must be provided
400Invalid lastSeen value: <value>. Valid values: all, contacts, contact_blacklist, none
400Invalid status value: <value>. Valid values: all, contacts, contact_blacklist, none
400Invalid profile value: <value>. Valid values: all, contacts, contact_blacklist, none
400Invalid online value: <value>. Valid values: all, match_last_seen
400Invalid readReceipts value: <value>. Valid values: all, none
400Invalid callAdd value: <value>. Valid values: all, known
400Invalid groupAdd value: <value>. Valid values: all, contacts, contact_blacklist
400Instance is not connected to WhatsApp
500failed to update <field> privacy: <reason>
Envoltorio:
{
  "success": false,
  "error": { "message": "Invalid lastSeen value: everyone. Valid values: all, contacts, contact_blacklist, none" }
}