# 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](https://docs.hello-lisa.com/developers/guides/player-communication/message-api-reference/..#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"
}
```
