

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Registro de eventos de interacción de acciones en tiempo real
<a name="recording-action-interaction-events"></a>

Un evento de *interacción de acciones* es una interacción entre un usuario y una *acción*. Por ejemplo, un usuario que se inscribe en un programa para miembros o que solicita una tarjeta de crédito.

Si usa una receta personalizada PERSONALIZED\$1ACTIONS, registre los eventos de interacción de acciones en tiempo real a medida que sus clientes interactúan con las recomendaciones de acción. De esta forma, se construyen los datos de las interacciones y se mantienen actualizados. También se informa a Amazon Personalize sobre los intereses actuales del usuario, lo que puede mejorar la relevancia de las recomendaciones. Solo las recetas personalizadas PERSONALIZED\$1ACTIONS utilizan datos de interacción de acciones. 

Los eventos de interacción de acciones se registran con la operación de la API [PutActionInteractions](API_UBS_PutActionInteractions.md). Amazon Personalize anexa estos datos al [conjunto de datos de interacciones de acción](action-interactions-datasets.md) en su grupo de conjuntos de datos.

Un evento de interacción de acciones debe tener un atributo de tipo de evento, que puede ser uno de los siguientes: 
+ Realizado: registre los eventos como *Realizado* cuando un usuario realice una acción recomendada.
+ No realizado: registre los eventos como *No realizado* cuando el usuario decida deliberadamente no realizar la acción después de verla. Por ejemplo, si elige *No* al mostrarle la acción. Los eventos de tipo *No realizado* pueden indicar que el cliente no está interesado en la acción.
+ Visto: registre los eventos como *Visto* cuando muestre una acción al usuario antes de que tome la decisión de realizarla o no. Amazon Personalize utiliza los eventos *Visto* para obtener información sobre los intereses de los usuarios. Por ejemplo, si un usuario ve una acción pero no la realiza, puede que al usuario no le interese esta acción en el futuro. 

 Puede grabar eventos en tiempo real con AWS SDKs, o AWS Command Line Interface (AWS CLI). Si registra dos eventos con exactamente la misma marca de tiempo y propiedades idénticas, Amazon Personalize solo conserva uno de ellos.

**Topics**
+ [Requisitos para registrar eventos de interacción de acciones](#recording-action-interaction-requirements)
+ [Búsqueda del ID de su rastreador de eventos de interacción de acciones](action-interaction-tracker-id.md)
+ [Registro de un solo evento de interacción de acciones](record-single-action-interaction.md)
+ [Registro de varios eventos de interacción de acciones](recording-multiple-action-interactions.md)

## Requisitos para registrar eventos de interacción de acciones
<a name="recording-action-interaction-requirements"></a>

Para registrar eventos de interacción de acciones en tiempo real, necesita lo siguiente:
+ Un grupo de conjuntos de datos que incluya un `Action interactions dataset`, que puede estar vacío. Para obtener información sobre cómo crear un grupo de conjuntos de datos y un conjunto de datos, consulte [Importación de datos de entrenamiento directamente a conjuntos de datos de Amazon Personalize](import-data.md).
+ ID de su rastreador de eventos. Este identificador se especifica en la PutActionInteractions operación. Cuando crea un conjunto de datos de interacciones de acción, Amazon Personalize crea un rastreador de eventos de las interacciones de acción de forma automática. Para obtener más información, consulte [Búsqueda del ID de su rastreador de eventos de interacción de acciones](action-interaction-tracker-id.md). 
+ Una llamada a la operación [PutActionInteractions](API_UBS_PutActionInteractions.md).

# Búsqueda del ID de su rastreador de eventos de interacción de acciones
<a name="action-interaction-tracker-id"></a>

Cuando crea un conjunto de datos de interacciones de acción, Amazon Personalize crea un rastreador de eventos de las *interacciones de acción* de forma automática. El ID del rastreador se especifica en la operación de la PutActionInteractions API. Amazon Personalize lo usa para dirigir los nuevos datos al *conjunto de datos de interacciones de acción* en su grupo de conjuntos de datos.

 Puede encontrar el ID del rastreador de eventos en la página de detalles del conjunto de datos de interacciones de acción en la consola de Amazon Personalize. Y puedes encontrar el ID llamando a la operación de la DescribeDataset API. El siguiente código Python imprime el ID de seguimiento de un conjunto de datos de interacciones de acción.

```
import boto3
      
personalize = boto3.client(service_name='personalize')

response = personalize.describe_dataset(
  datasetArn="Action interactions dataset ARN"
)

print(response['trackingId'])
```

# Registro de un solo evento de interacción de acciones
<a name="record-single-action-interaction"></a>

Después de crear un conjunto de datos de interacciones de acción, ya puede registrar los eventos de interacción de acciones con la operación [PutActionInteractions](API_UBS_PutActionInteractions.md). En el siguiente código se muestra una operación `PutActionInteractions` que pasa un evento TAKEN. Puede registrar este evento cuando muestre a un usuario recomendaciones de Amazon Personalize y este realice alguna acción, como solicitar su tarjeta de crédito. 

`actionInteractions`Es un conjunto de ActionInteraction objetos. El valor `trackingId` proviene del rastreador de eventos que Amazon Personalize generó al crear el usuario el conjunto de datos de interacciones de acción. Para obtener más información, consulte [Búsqueda del ID de su rastreador de eventos de interacción de acciones](action-interaction-tracker-id.md). 

La aplicación genera un `sessionId` único cuando un usuario visita por primera vez su sitio web o utiliza su aplicación. Debe usar el mismo `sessionId` en todos los eventos de la sesión. Amazon Personalize usa `sessionId` para asociar eventos con el usuario antes de que inicie sesión (es anónimo). Para obtener más información, consulte [Registro de eventos para usuarios anónimos](recording-events.md#recording-anonymous-user-events).

Los parámetros `userId`, `actionId` y `sentAt` se asignan a los campos USER\$1ID, ACTION\$1ID, EVENT\$1TYPE y TIMESTAMP del conjunto de datos de interacciones de acción.

**Conjunto de datos de interacciones de acción correspondiente**

```
USER_ID, ACTION_ID, TIMESTAMP, EVENT_TYPE
user123, action-xyz, 1543631760, TAKEN
```

**Ejemplo de código**

------
#### [ AWS CLI ]

```
aws personalize-events put-action-interactions \
--tracking-id 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--action-interactions '[{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543631760,
  "eventType": "TAKEN",
  "actionId": "action-xyz"}]'
```

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize_events = boto3.client(service_name='personalize-events')

response = personalize_events.put_action_interactions(
  trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  actionInteractions=[{
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1543631760,
    'eventType': 'Taken',
    'actionId': 'action-xyz'
  }]
)
```

------

# Registro de varios eventos de interacción de acciones
<a name="recording-multiple-action-interactions"></a>

El código siguiente muestra cómo registrar varios eventos de interacción de acciones para el mismo usuario con el mismo valor de sessionId. 

**Conjunto de datos de interacciones de acción correspondiente**

```
USER_ID, ACTION_ID, EVENT_TYPE, TIMESTAMP
user123, action123, Taken, 1543531139
user123, action345, Not Taken, 1543531139
```

------
#### [ AWS CLI ]

```
aws personalize-events put-action-interactions \
--tracking-id 6ddfe6b7-cd83-4dd4-b09d-4c35ecbacfe1 \
--action-interactions '[{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543531139,
  "eventType": "Taken",
  "actionId": "action123"
},
{
  "userId": "user123",
  "sessionId": "abcdefg",
  "timestamp": 1543531139,
  "eventType": "Not Taken",
  "actionId": "action345"}]'
```

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize_events = boto3.client(service_name='personalize-events')

response = personalize_events.put_action_interactions(
  trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  actionInteractions=[{
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1697848587,
    'eventType': 'Taken',
    'actionId': 'action123'
  },
  {
    'userId': 'user123',
    'sessionId': 'abcdefg',
    'timestamp': 1697848622,
    'eventType': 'Not Taken',
    'actionId': 'action345'
  }]
)
```

------