Upload interactions

Upload user interaction events to Miso dataset.


await client.api.interactions.upload(events, options);


The events parameter can be:

  • An object, representing a single user interaction event
  • An array of objects, representing multiple events
  • A JSON string of array of objects

A single record of event object can have the following properties depending on the event type:

Select an event type:

Name Type Description
type string Required. The type of event.
custom_action_name string Required. The name of the custom interaction that you have defined.
user_id string Identifies the signed-in user who performed the interaction. We will use user_id to link Interaction records to your User records. For visitors who have not signed in, see anonymous_id.
anonymous_id string A pseudo-unique substitute for user_id. We use anonymous_id to identify a visitor who has not signed in. When a visitor signs in and the user_id and anonymous_id are both present, the anonymous_id will be linked to the user_id along with the past interactions associated with it.
category array of strings A hierarchical list describing the product category. For example, ['home', 'kitchen', 'tools'].
search object The search keywords and filters the user uses.
revenue object Total revenue associated with the checkout. The revenue should include generally shipping, tax, etc. that you want to include as part of your revenue calculations.
quantities array of positive integers The quantities of products the user adds to their cart or checks out with.
rating number The rating the user gave in the range of [0, 5]. As a convention in the RecSys community, a rating >= 3.5 is considered positive, a rating <= 2 is negative, and otherwise a rating is neutral. If you use any other rating scale, please normalize it to a [0, 5] scale.
duration number How long (in seconds) the user stayed on this page, or consumed (listened, read, or watched) a product.
product_ids array of strings Products or content the user is interacting with. Default: []
product_group_ids array of strings The product groups the user is interacting with.
timestamp string The ISO-8601 timestamp specifying when the interaction occurred. If the interaction just happened, leave it out and we will default to the server's time.
miso_id string Miso-generated unique Id for each recommendation or search result.
context object An object of extra information that provides useful context about an interaction.


The options parameter is an optional object with the following properties:

Name Type Description
dryRun boolean Make a dry run with upload APIs. Default: false.

See the request options page for more details.

Return value

A Promise without value.


const event = {
type: 'add_to_cart',
product_ids: ['a001', 'a002'],
quantities: [3, 5],
user_id: '...'
await client.api.interactions.upload(event);

Learn more

For more information, see REST API.