# Products — Emoji State Update

The LiSA Player supports messages for updating a product's emoji state, allowing merchants to reflect actions such as adding products to a customer's wishlist.

This message is sent by the host app / environment to the LiSA Player.

### Properties

Along with all standard [Message properties](/developers/guides/player-communication/message-api-reference.md#properties), an **Emoji State Update** message includes the following additional properties:

<table><thead><tr><th width="220" valign="top">Name</th><th width="175" valign="top">Type</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top"><code>messageType</code></td><td valign="top"><pre><code>Literal
</code></pre><p>Required.</p></td><td valign="top"><code>lsc:product:emoji-state-update</code></td></tr><tr><td valign="top"><code>productReferences</code></td><td valign="top"><pre><code>Array&#x3C;String>
</code></pre><p>Required.</p></td><td valign="top"><p>The <code>productReferences</code> property </p><p>represents an array of external or merchant-specific identifiers for the products or product variants that emoji states should be active.</p><ul><li>These IDs are provided by the merchant or host system and may differ from the LiSA internal <code>productId</code>.</li><li>It is used to reference the products in external systems, such as e-commerce platforms or inventory databases.</li></ul></td></tr></tbody></table>

#### Legacy Properties

{% hint style="warning" %}
If your integration uses **LiSA Player Version 1**, none of the properties described above will be available.

For **LiSA Player Version 2**, legacy properties can be ignored.
{% endhint %}

<table><thead><tr><th width="197" valign="top">Name</th><th width="190" valign="top">Type</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top"><code>action</code></td><td valign="top"><pre><code>String
</code></pre><p>Required.</p></td><td valign="top"><code>like.grant</code> or <code>like.revoke</code><br><br><span data-gb-custom-inline data-tag="emoji" data-code="26a0">⚠️</span> Please use <code>messageType</code> instead.</td></tr><tr><td valign="top"><code>item</code></td><td valign="top"><pre><code>Item
</code></pre><p>Required.</p></td><td valign="top"><p>The <code>item</code> property specifies the product item whose emoji state needs to be updated.<br><br>Please refer to Item for detail information.</p><div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>For Player V1, please note that product emoji updates must be sent individually for each product.</p></div></td></tr><tr><td valign="top"><code>target</code></td><td valign="top"><pre><code>Literal
</code></pre><p>Required.</p></td><td valign="top"><code>carousel.item</code><br><br><span data-gb-custom-inline data-tag="emoji" data-code="26a0">⚠️</span> Please use <code>messageType</code> instead.</td></tr></tbody></table>

***

### Type Definition

```typescript
interface ProductEmojiStateUpdateMessage extends Omit<
  Message,
  'messageType' | 'recipient'
> {
  messageType: 'lsc:product:emoji-state-update';
  productReferences: string[];
  recipient: 'LiSA';
}
```

#### `Item`

The `Item` specifies the product item whose emoji state needs to be updated.

<table><thead><tr><th width="243" valign="top">Name</th><th width="175" valign="top">Type</th><th valign="top">Description</th></tr></thead><tbody><tr><td valign="top"><code>id</code></td><td valign="top"><pre><code>String
</code></pre><p>Optional.</p></td><td valign="top">The <code>id</code> property represents the unique identifier of the product or product variant as specified in the merchant's e-commerce system.</td></tr></tbody></table>

<pre class="language-typescript"><code class="lang-typescript"><strong>interface ProductEmojiStateUpdateItem {
</strong>  id: string;
}
</code></pre>

***

### Examples

```json
{
  "messageType": "lsc:product:emoji-state-update",
  "productReferences": ["f20312c0-40a2-4b20-986c-5b81ceca6eae"],
  "recipient": "LiSA",
  "sender": "Sender",

  "action": "like.grant",
  "item": {
    "id": "f20312c0-40a2-4b20-986c-5b81ceca6eae"
  },
  "target": "carousel.item"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hello-lisa.com/developers/guides/player-communication/message-api-reference/products/products-emoji-state-update.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
