> ## 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.

# ProductInteractionMessage

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

# Class: ProductInteractionMessage

Represents a product interaction message.

## Implements

## Extends

* `InteractiveMessage`

## Implements

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

## Constructors

### new ProductInteractionMessage()

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

Creates an instance of ProductInteractionMessage.

#### Parameters

• **params**

The parameters for creating the product 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.productRetailerId**: `string`

The product retailer ID of the product.

#### Returns

[`ProductInteractionMessage`](ProductInteractionMessage.mdx)

#### Overrides

`InteractiveMessage.constructor`

#### Memberof

ProductInteractionMessage

#### Source

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

## Properties

### data

> **data**: `object`

#### catalogId

> **catalogId**: `string`

#### productRetailerId

> **productRetailerId**: `string`

#### Implementation of

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

#### Source

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

***

### 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

[`ProductInteractionMessageInterface`](../interfaces/ProductInteractionMessageInterface.mdx).[`interactiveMessageData`](../interfaces/ProductInteractionMessageInterface.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

[`ProductInteractionMessageInterface`](../interfaces/ProductInteractionMessageInterface.mdx).[`messaging_product`](../interfaces/ProductInteractionMessageInterface.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

[`ProductInteractionMessageInterface`](../interfaces/ProductInteractionMessageInterface.mdx).[`recipient_type`](../interfaces/ProductInteractionMessageInterface.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

[`ProductInteractionMessageInterface`](../interfaces/ProductInteractionMessageInterface.mdx).[`type`](../interfaces/ProductInteractionMessageInterface.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:379](https://github.com/sarthakjdev/wapi.js/blob/161a86b914b71fc7ac25ae9ad145786137f3f4f9/packages/wapi.js/src/structures/interaction/index.ts#L379)

***

### addHeader()

> **addHeader**(): `void`

Adds a header to the message.

#### Returns

`void`

#### Source

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

***

### 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

ProductInteractionMessage

#### Source

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