> For the complete documentation index, see [llms.txt](https://help.wotnot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.wotnot.io/build/action-blocks/catalogue.md).

# Catalogue

{% hint style="info" %}
Available on **WHATSAPP** channel for all plans
{% endhint %}

Using Catalogue, you can display a list of products that users can browse, select, and add to their cart for a seamless shopping experience.

<figure><img src="/files/PKEyi0UpZuCsWt63djwa" alt=""><figcaption></figcaption></figure>

## Configuring the action block

Below are the configurations to setup the Catalogue as per your business use case.

<figure><img src="/files/NKx6M9QSvtrT24QHTpyL" alt=""><figcaption></figcaption></figure>

### Catalogue type

Depending on how many products you wish to show to users, choose an option:

* **Entire catalogue** - displays all your products.
* **Single product** - displays only one product.
* **Multi product** - displays the list of selected products.

### Catalogue ID

To use the Catalogue on WhatsApp, first you need to create a Catalogue on your Meta business manager. Once you upload the list of all your products on Meta business manager, use your Catalogue ID here to reference it.

[Learn how to create a catalogue](https://en-gb.facebook.com/business/help/1275400645914358?id=725943027795860)

### Product ID

Enter the list product IDs that you want to display in the catalogue.

You can list various products into sections using 'Multi product' catalogue type.

### Content

Write the header, body and footer text which will be displayed to prompt the user to open and view your catalogue.&#x20;

### Variable

Once the user adds products to the cart and checks out, the entire cart will be stored in this variable in a JSON format.&#x20;

Here is the sample JSON payload which will be stored in the provided variable,

{% code fullWidth="false" %}

```json
{
  "product_items": [
    {"product_retailer_id": "331100", "quantity": 1, "item_price": 195, "currency": "INR"},
    {"product_retailer_id": "112233", "quantity": 1, "item_price": 60, "currency": "INR"}
  ],
  "catalog_id": "712073530499979",
  "text": ""
}
```

{% endcode %}

You can then parse this JSON response and create a order in your order management system or generate a payment link to collect payment and confirm the order.

E.g. above JSON response is stored in a "purchased\_products" variable, then following Javascript can be used to parse the JSON response,

```javascript
var purchased_products = #purchased_products#;

let totalAmount = 0;

purchased_products.product_items.forEach(item => {
  totalAmount += item.item_price * item.quantity;
});

wn.setConversationVariable("amount", totalAmount); // "amount" is a conversation type variable
```

## Restrictions

* Max products that can added to a catalogue - 500
* Max products that can be displayed at a time - 30
* Max products under a section - 30
* Max sections in a catalogue - 10


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://help.wotnot.io/build/action-blocks/catalogue.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
