Las acciones de conversación dejarán de estar disponibles el 13 de junio de 2023. Para obtener más información, consulta Eliminación de acciones en conversaciones.

Almacenamiento del usuario

En una llamada de webhook, puedes almacenar los valores de los parámetros de un usuario específico en varias sesiones del almacenamiento del usuario. Tu acción puede usar esos valores almacenados más tarde en solicitudes y condiciones, y tu código de webhook puede acceder a los valores de almacenamiento de un usuario específico cuando sea necesario.

El estado de almacenamiento del usuario se pasa en una solicitud app.handle() y se almacena en el objeto user.

Lee y escribe datos en las conversaciones

Para actualizar o establecer un valor nuevo en el almacenamiento del usuario, asigna el valor al campo params del objeto user en una llamada de webhook. En el siguiente ejemplo, se configura "exampleColor" como "red" en el almacenamiento del usuario:

Node.js

// Assign color to user storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.user.params.exampleColor = color;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

Para acceder a los datos almacenados en el almacenamiento del usuario, asígnalos a una variable en una llamada de webhook. En el siguiente ejemplo, se recupera un valor de "exampleColor" en el almacenamiento del usuario:

Node.js

// Retrieve color from user storage
app.handle('getStoredColor', conv => {
  let color = conv.user.params.exampleColor;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED",
        "exampleColor": "red"
      }
    }
  }
}
    

Para borrar un valor guardado anteriormente, configúralo como null en una llamada de webhook. En el siguiente ejemplo, se borra el valor de "exampleColor" en el almacenamiento de usuario:

Node.js

// Clear color from user storage
app.handle('clearStoredColor', conv => {
  conv.user.params.exampleColor = null;
});
    

JSON

{
  "responseJson": {
    "session": {
      "id": "1234567890123456789",
      "params": {}
    },
    "prompt": {
      "override": false
    },
    "user": {
      "locale": "en-US",
      "params": {
        "verificationStatus": "VERIFIED"
      }
    }
  }
}
    

Haz referencia a valores almacenados en mensajes

Puedes hacer referencia a los valores almacenados en el almacenamiento del usuario en un mensaje. Para hacer referencia al valor, usa la sintaxis $user.params.PARAMETER_NAME, en la que PARAMETER_NAME es el nombre dado en el webhook cuando se configuró el parámetro.

Por ejemplo, antes almacenaste un valor de color en el almacenamiento del usuario como parámetro exampleColor. Para acceder a ese valor en un mensaje, debes hacer referencia a ese valor mediante $user.params.exampleColor:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $user.params.exampleColor."
      }]
    }
  }]
}
    

Haz referencia a valores almacenados en condiciones

También puedes hacer referencia a los valores almacenados en el almacenamiento del usuario en condiciones. Para hacer referencia al valor, usa la sintaxis user.params.PARAMETER_NAME, en la que PARAMETER_NAME es el nombre dado en el webhook cuando se configuró el parámetro.

Por ejemplo, antes almacenaste un valor de color en el almacenamiento del usuario como parámetro exampleColor y quieres que coincida con el valor "rojo" de una condición. En tu condición, debes hacer referencia al valor almacenado mediante user.params.exampleColor. La expresión de condición se verá de la siguiente manera:

Sintaxis de la condición

user.params.exampleColor == "red"
    

Vencimiento de los datos de almacenamiento del usuario

Para los usuarios verificados, los datos almacenados en el almacenamiento de los usuarios vencen según su configuración de Actividad web y de aplicaciones y la acción también puede borrarlos. En el caso de los usuarios sin verificar, Asistente borrará el contenido del almacenamiento de estos al final de la conversación.

Actions on Google establece el estado de verificación del usuario al comienzo de cada conversación en función de una variedad de indicadores cuando comienza la conversación. Por ejemplo, un usuario que accedió a Asistente de Google en su dispositivo móvil tiene un estado de verificación de VERIFIED.

A continuación, se indican algunos de los motivos por los que un usuario puede tener el estado de verificación GUEST:

  • El usuario tiene desactivados los resultados personales.
  • El usuario inhabilitó la Actividad web y de aplicaciones. Ten en cuenta que algunos usuarios pueden tener esta configuración inhabilitada a nivel del dominio.
  • Si un dispositivo tiene Voice Match habilitado y la coincidencia falla o el usuario invoca al Asistente sin usar la voz (como cuando mantiene presionado un dispositivo Nest Home).
  • El usuario no accedió.

Siempre verifica el estado de verificación del usuario antes de almacenar sus datos a fin de evitar que los usuarios invitados interactúen con una función que fallará.

Visibilidad para los usuarios

Como usuario, puedes ver los datos almacenados en el almacenamiento de tus usuarios para las acciones que invocas. También puedes quitar datos almacenados en el almacenamiento de tus usuarios de una acción específica o evitar que el servicio te recuerde.

Para ver tus datos almacenados o evitar que un servicio te recuerde, sigue estos pasos:

  1. Ve al directorio de Asistente.
  2. Busca y selecciona la acción de la que quieras ver o liberar el almacenamiento de usuario.
  3. Desplázate hasta el final de la página:
    • Para ver el contenido de su almacenamiento de usuario, haga clic en [Ver datos almacenados].
    • Para restablecer los datos almacenados en el almacenamiento de tu usuario para el servicio, haz clic en Reset.
    • Para quitar los datos almacenados en el almacenamiento de tu usuario e impedir que el servicio te recuerde, haz clic en Stop action_name de recordarme.