SDK for PHP 3.x

Client: Aws\PersonalizeEvents\PersonalizeEventsClient
Service ID: personalize-events
Version: 2018-03-22

This page describes the parameters and results for the operations of the Amazon Personalize Events (2018-03-22), and shows how to use the Aws\PersonalizeEvents\PersonalizeEventsClient object to call the described operations. This documentation is specific to the 2018-03-22 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

PutActionInteractions ( array $params = [] )
Records action interaction event data.
PutActions ( array $params = [] )
Adds one or more actions to an Actions dataset.
PutEvents ( array $params = [] )
Records item interaction event data.
PutItems ( array $params = [] )
Adds one or more items to an Items dataset.
PutUsers ( array $params = [] )
Adds one or more users to a Users dataset.

Operations

PutActionInteractions

$result = $client->putActionInteractions([/* ... */]);
$promise = $client->putActionInteractionsAsync([/* ... */]);

Records action interaction event data. An action interaction event is an interaction between a user and an action. For example, a user taking an action, such a enrolling in a membership program or downloading your app.

For more information about recording action interactions, see Recording action interaction events. For more information about actions in an Actions dataset, see Actions dataset.

Parameter Syntax

$result = $client->putActionInteractions([
    'actionInteractions' => [ // REQUIRED
        [
            'actionId' => '<string>', // REQUIRED
            'eventId' => '<string>',
            'eventType' => '<string>', // REQUIRED
            'impression' => ['<string>', ...],
            'properties' => '<string>',
            'recommendationId' => '<string>',
            'sessionId' => '<string>', // REQUIRED
            'timestamp' => <integer || string || DateTime>, // REQUIRED
            'userId' => '<string>',
        ],
        // ...
    ],
    'trackingId' => '<string>', // REQUIRED
]);

Parameter Details

Members
actionInteractions
Required: Yes
Type: Array of ActionInteraction structures

A list of action interaction events from the session.

trackingId
Required: Yes
Type: string

The ID of your action interaction event tracker. When you create an Action interactions dataset, Amazon Personalize creates an action interaction event tracker for you. For more information, see Action interaction event tracker ID.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidInputException:

Provide a valid value for the field or parameter.

ResourceNotFoundException:

Could not find the specified resource.

ResourceInUseException:

The specified resource is in use.

PutActions

$result = $client->putActions([/* ... */]);
$promise = $client->putActionsAsync([/* ... */]);

Adds one or more actions to an Actions dataset. For more information see Importing actions individually.

Parameter Syntax

$result = $client->putActions([
    'actions' => [ // REQUIRED
        [
            'actionId' => '<string>', // REQUIRED
            'properties' => '<string>',
        ],
        // ...
    ],
    'datasetArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
actions
Required: Yes
Type: Array of Action structures

A list of action data.

datasetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Actions dataset you are adding the action or actions to.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidInputException:

Provide a valid value for the field or parameter.

ResourceNotFoundException:

Could not find the specified resource.

ResourceInUseException:

The specified resource is in use.

PutEvents

$result = $client->putEvents([/* ... */]);
$promise = $client->putEventsAsync([/* ... */]);

Records item interaction event data. For more information see Recording item interaction events.

Parameter Syntax

$result = $client->putEvents([
    'eventList' => [ // REQUIRED
        [
            'eventId' => '<string>',
            'eventType' => '<string>', // REQUIRED
            'eventValue' => <float>,
            'impression' => ['<string>', ...],
            'itemId' => '<string>',
            'metricAttribution' => [
                'eventAttributionSource' => '<string>', // REQUIRED
            ],
            'properties' => '<string>',
            'recommendationId' => '<string>',
            'sentAt' => <integer || string || DateTime>, // REQUIRED
        ],
        // ...
    ],
    'sessionId' => '<string>', // REQUIRED
    'trackingId' => '<string>', // REQUIRED
    'userId' => '<string>',
]);

Parameter Details

Members
eventList
Required: Yes
Type: Array of Event structures

A list of event data from the session.

sessionId
Required: Yes
Type: string

The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see Recording item interaction events.

trackingId
Required: Yes
Type: string

The tracking ID for the event. The ID is generated by a call to the CreateEventTracker API.

userId
Type: string

The user associated with the event.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidInputException:

Provide a valid value for the field or parameter.

PutItems

$result = $client->putItems([/* ... */]);
$promise = $client->putItemsAsync([/* ... */]);

Adds one or more items to an Items dataset. For more information see Importing items individually.

Parameter Syntax

$result = $client->putItems([
    'datasetArn' => '<string>', // REQUIRED
    'items' => [ // REQUIRED
        [
            'itemId' => '<string>', // REQUIRED
            'properties' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
datasetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Items dataset you are adding the item or items to.

items
Required: Yes
Type: Array of Item structures

A list of item data.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidInputException:

Provide a valid value for the field or parameter.

ResourceNotFoundException:

Could not find the specified resource.

ResourceInUseException:

The specified resource is in use.

PutUsers

$result = $client->putUsers([/* ... */]);
$promise = $client->putUsersAsync([/* ... */]);

Adds one or more users to a Users dataset. For more information see Importing users individually.

Parameter Syntax

$result = $client->putUsers([
    'datasetArn' => '<string>', // REQUIRED
    'users' => [ // REQUIRED
        [
            'properties' => '<string>',
            'userId' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
datasetArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Users dataset you are adding the user or users to.

users
Required: Yes
Type: Array of User structures

A list of user data.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidInputException:

Provide a valid value for the field or parameter.

ResourceNotFoundException:

Could not find the specified resource.

ResourceInUseException:

The specified resource is in use.

Shapes

Action

Description

Represents action metadata added to an Action dataset using the PutActions API. For more information see Importing actions individually.

Members
actionId
Required: Yes
Type: string

The ID associated with the action.

properties
Type: string (string|number|array|map or anything parsable by json_encode)

A string map of action-specific metadata. Each element in the map consists of a key-value pair. For example, {"value": "100"}.

The keys use camel case names that match the fields in the schema for the Actions dataset. In the previous example, the value matches the 'VALUE' field defined in the Actions schema. For categorical string data, to include multiple categories for a single action, separate each category with a pipe separator (|). For example, \"Deluxe|Premium\".

ActionInteraction

Description

Represents an action interaction event sent using the PutActionInteractions API.

Members
actionId
Required: Yes
Type: string

The ID of the action the user interacted with. This corresponds to the ACTION_ID field of the Action interaction schema.

eventId
Type: string

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.

eventType
Required: Yes
Type: string

The type of action interaction event. You can specify Viewed, Taken, and Not Taken event types. For more information about action interaction event type data, see Event type data.

impression
Type: Array of strings

A list of action IDs that represents the sequence of actions you have shown the user. For example, ["actionId1", "actionId2", "actionId3"]. Amazon Personalize doesn't use impressions data from action interaction events. Instead, record multiple events for each action and use the Viewed event type.

properties
Type: string (string|number|array|map or anything parsable by json_encode)

A string map of event-specific data that you might choose to record. For example, if a user takes an action, other than the action ID, you might also send the number of actions taken by the user.

Each item in the map consists of a key-value pair. For example,

{"numberOfActions": "12"}

The keys use camel case names that match the fields in the Action interactions schema. In the above example, the numberOfActions would match the 'NUMBER_OF_ACTIONS' field defined in the Action interactions schema.

The following can't be included as a keyword for properties (case insensitive).

  • userId

  • sessionId

  • eventType

  • timestamp

  • recommendationId

  • impression

recommendationId
Type: string

The ID of the list of recommendations that contains the action the user interacted with.

sessionId
Required: Yes
Type: string

The ID associated with the user's visit. Your application generates a unique sessionId when a user first visits your website or uses your application.

timestamp
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp for when the action interaction event occurred. Timestamps must be in Unix epoch time format, in seconds.

userId
Type: string

The ID of the user who interacted with the action. This corresponds to the USER_ID field of the Action interaction schema.

Event

Description

Represents item interaction event information sent using the PutEvents API.

Members
eventId
Type: string

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.

eventType
Required: Yes
Type: string

The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Item interactions dataset's schema and depends on the types of events you are tracking.

eventValue
Type: float

The event value that corresponds to the EVENT_VALUE field of the Item interactions schema.

impression
Type: Array of strings

A list of item IDs that represents the sequence of items you have shown the user. For example, ["itemId1", "itemId2", "itemId3"]. Provide a list of items to manually record impressions data for an event. For more information on recording impressions data, see Recording impressions data.

itemId
Type: string

The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema.

metricAttribution
Type: MetricAttribution structure

Contains information about the metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

properties
Type: string (string|number|array|map or anything parsable by json_encode)

A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the number of movie ratings made by the user.

Each item in the map consists of a key-value pair. For example,

{"numberOfRatings": "12"}

The keys use camel case names that match the fields in the Item interactions dataset's schema. In the above example, the numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Item interactions dataset's schema.

The following can't be included as a keyword for properties (case insensitive).

  • userId

  • sessionId

  • eventType

  • timestamp

  • recommendationId

  • impression

recommendationId
Type: string

The ID of the list of recommendations that contains the item the user interacted with. Provide a recommendationId to have Amazon Personalize implicitly record the recommendations you show your user as impressions data. Or provide a recommendationId if you use a metric attribution to measure the impact of recommendations.

For more information on recording impressions data, see Recording impressions data. For more information on creating a metric attribution see Measuring impact of recommendations.

sentAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The timestamp (in Unix time) on the client side when the event occurred.

InvalidInputException

Description

Provide a valid value for the field or parameter.

Members
message
Type: string

Item

Description

Represents item metadata added to an Items dataset using the PutItems API. For more information see Importing items individually.

Members
itemId
Required: Yes
Type: string

The ID associated with the item.

properties
Type: string (string|number|array|map or anything parsable by json_encode)

A string map of item-specific metadata. Each element in the map consists of a key-value pair. For example, {"numberOfRatings": "12"}.

The keys use camel case names that match the fields in the schema for the Items dataset. In the previous example, the numberOfRatings matches the 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string data, to include multiple categories for a single item, separate each category with a pipe separator (|). For example, \"Horror|Action\".

MetricAttribution

Description

Contains information about a metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

Members
eventAttributionSource
Required: Yes
Type: string

The source of the event, such as a third party.

ResourceInUseException

Description

The specified resource is in use.

Members
message
Type: string

ResourceNotFoundException

Description

Could not find the specified resource.

Members
message
Type: string

User

Description

Represents user metadata added to a Users dataset using the PutUsers API. For more information see Importing users individually.

Members
properties
Type: string (string|number|array|map or anything parsable by json_encode)

A string map of user-specific metadata. Each element in the map consists of a key-value pair. For example, {"numberOfVideosWatched": "45"}.

The keys use camel case names that match the fields in the schema for the Users dataset. In the previous example, the numberOfVideosWatched matches the 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For categorical string data, to include multiple categories for a single user, separate each category with a pipe separator (|). For example, \"Member|Frequent shopper\".

userId
Required: Yes
Type: string

The ID associated with the user.