> ## Documentation Index
> Fetch the complete documentation index at: https://javascript.wapikit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ProductListInteractionMessage

[Wapi.js Docs](../README.mdx) / ProductListInteractionMessage

# Class: ProductListInteractionMessage

Represents a product list interaction message.

## Implements

## Extends

* `InteractiveMessage`

## Implements

* [`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx)

## Constructors

### new ProductListInteractionMessage()

> **new ProductListInteractionMessage**(`params`): [`ProductListInteractionMessage`](ProductListInteractionMessage.mdx)

Creates an instance of ProductListInteractionMessage.

#### Parameters

• **params**

The parameters for creating the product list interaction message.

• **params.bodyText**: `string`

The body text of the message.

• **params.buttonText**: `string`

The button text of the message.

• **params.catalogId**: `string`

The catalog ID of the product.

• **params.footerText?**: `string`

The footer text of the message.

• **params.header**: `object` | `object` | `object` | `object`

The header of the message.

• **params.productRetailerId**: `string`

The product retailer ID of the product.

• **params.sections**: `object`\[]

The sections of the message.

#### Returns

[`ProductListInteractionMessage`](ProductListInteractionMessage.mdx)

#### Overrides

`InteractiveMessage.constructor`

#### Memberof

ProductListInteractionMessage

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:482](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L482)

## Properties

### data

> **data**: `object`

#### catalogId

> **catalogId**: `string`

#### productRetailerId

> **productRetailerId**: `string`

#### sections

> **sections**: `object`\[]

#### Implementation of

[`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx).[`data`](../interfaces/ProductListInteractionMessageInterface.mdx#data)

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:463](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L463)

***

### interactiveMessageData

> `readonly` **interactiveMessageData**: `object`

#### bodyText

> **bodyText**: `string`

#### footerText?

> `optional` **footerText**: `string`

#### header?

> `optional` **header**: `object` | `object` | `object` | `object`

#### type

> **type**: [`InteractiveMessageTypeEnum`](../enumerations/InteractiveMessageTypeEnum.mdx)

#### Implementation of

[`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx).[`interactiveMessageData`](../interfaces/ProductListInteractionMessageInterface.mdx#interactivemessagedata)

#### Inherited from

`InteractiveMessage.interactiveMessageData`

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:36](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L36)

***

### messaging\_product

> **messaging\_product**: `"whatsapp"`

The messaging product.

#### Implementation of

[`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx).[`messaging_product`](../interfaces/ProductListInteractionMessageInterface.mdx#messaging_product)

#### Inherited from

`InteractiveMessage.messaging_product`

#### Source

[packages/wapi.js/src/structures/message/index.ts:17](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/message/index.ts#L17)

***

### recipient\_type

> **recipient\_type**: `"individual"`

The recipient type.

#### Implementation of

[`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx).[`recipient_type`](../interfaces/ProductListInteractionMessageInterface.mdx#recipient_type)

#### Inherited from

`InteractiveMessage.recipient_type`

#### Source

[packages/wapi.js/src/structures/message/index.ts:18](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/message/index.ts#L18)

***

### type

> **type**: `MessageTypeEnum`

The type of the message.

#### Implementation of

[`ProductListInteractionMessageInterface`](../interfaces/ProductListInteractionMessageInterface.mdx).[`type`](../interfaces/ProductListInteractionMessageInterface.mdx#type-1)

#### Inherited from

`InteractiveMessage.type`

#### Source

[packages/wapi.js/src/structures/message/index.ts:16](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/message/index.ts#L16)

## Methods

### addFooter()

> **addFooter**(`footerText`): `void`

Adds a footer to the message.

#### Parameters

• **footerText**: `string`

The footer text to be added.

#### Returns

`void`

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:516](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L516)

***

### addSection()

> **addSection**(`section`): `void`

Adds a section to the message

#### Parameters

• **section**

The section to be added.

• **section.product\_items**: `object`\[]= `undefined`

• **section.title**: `string`= `undefined`

#### Returns

`void`

#### Memberof

ProductListInteractionMessage

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:508](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L508)

***

### parseConstructorPayload()

> `protected` **parseConstructorPayload**(`schema`, `payload`): `any`

Parses the constructor payload using the provided schema.

#### Parameters

• **schema**: `ZodType`\<`any`, `ZodTypeDef`, `any`>

The Zod schema used for parsing the payload.

• **payload**: `any`

The payload to be parsed.

#### Returns

`any`

The parsed data.

#### Inherited from

`InteractiveMessage.parseConstructorPayload`

#### Throws

An error if the parsing fails.

#### Source

[packages/wapi.js/src/structures/message/index.ts:42](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/message/index.ts#L42)

***

### toJson()

> **toJson**(`params`): `object` & `object`

Converts the message to JSON format.

#### Parameters

• **params**

The parameters for converting the message to JSON.

• **params.replyToMessageId?**: `string`

The ID of the message to reply to.

• **params.to**: `string`

The recipient of the message.

#### Returns

`object` & `object`

The JSON representation of the message.

#### Overrides

`InteractiveMessage.toJson`

#### Memberof

ProductListInteractionMessage

#### Source

[packages/wapi.js/src/structures/interaction/index.ts:528](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L528)
