Catalog Templates

Catalog Templates are only available while using Cloud API.

Catalog templates are marketing templates that allow you to showcase your product catalog entirely within WhatsApp. Catalog templates display a product thumbnail header image of your choice and custom body text, along with a fixed text header and fixed text sub-header.

Requirements

You must have inventory uploaded to Meta in an ecommerce catalog connected to your WhatsApp Business Account. See Products and Catalogs.

If you require any assistance, please reach out to our Support Team.

Template Creation

Use the create template endpoint and assemble the Catalog Template components in the request:

POST [base-url]/v1/configs/templates

The message template name field is limited to 512 characters. The message template content field is limited to 1024 characters.

Headers

NameTypeDescription

D360-API-KEY

string

Request Body

NameTypeDescription

name*

string

components*

array[objects]

Array of objects that describe the components that make up the template.

category*

string

Allowed values: MARKETING

language*

string

Upon success, the API will respond with a JSON object describing the newly created template.

{
    "id": "594425479261596",
    "status": "PENDING",
    "category": "MARKETING"
}

Once your template is approved, you can use Cloud API to send it in a template message.

Post Body

{
  "name": "<NAME>",
  "language": "<LANGUAGE>",
  "category": "MARKETING",
  "components": [
    {
      "type": "BODY",
      "text": "<BODY_TEXT>",
      "example": {
        "body_text": [
          [
            "<EXAMPLE_BODY_TEXT>"
          ]
        ]
      }
    },
    {
      "type": "FOOTER",
      "text": "<FOOTER_TEXT>"
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "CATALOG",
          "text": "View catalog"
        }
      ]
    }
  ]
}

Properties

PlaceholderDescriptionSample Value

<BODY_TEXT>

String

Required.

Template body text. Variables are supported.

Maximum 1024 characters.

Now shop for your favourite products right here on WhatsApp! Get Rs {{1}} off on all orders above {{2}}Rs! Valid for your first {{3}} orders placed on WhatsApp!

<EXAMPLE_BODY_TEXT>

String (of an array of strings)

Required if body text uses variables.

Sample strings to replace variable placeholders in <BODY_TEXT> string.

Maximum 1024 characters.

100

<FOOTER_TEXT>

String

Optional.

Template footer text. Variables are supported.

Maximum 60 characters.

Best grocery deals on WhatsApp!

<LANGUAGE>

String

Required.

Template language and locale code.

en_US

<NAME>

String

Required.

Template name.

Maximum 512 characters.

intro_catalog_offer

Example Request

{
  "name": "intro_catalog_offer",
  "language": "en_US",
  "category": "MARKETING",
  "components": [
    {
      "type": "BODY",
      "text": "Now shop for your favourite products right here on WhatsApp! Get Rs {{1}} off on all orders above {{2}}Rs! Valid for your first {{3}} orders placed on WhatsApp!",
      "example": {
        "body_text": [
          [
            "100",
            "400",
            "3"
          ]
        ]
      }
    },
    {
      "type": "FOOTER",
      "text": "Best grocery deals on WhatsApp!"
    },
    {
      "type": "BUTTONS",
      "buttons": [
        {
          "type": "CATALOG",
          "text": "View catalog"
        }
      ]
    }
  ]
}

Sending Catalog Templates

Catalog template messages cannot be sent with the On-Premises API.

POST https://waba-v2.360dialog.io/messages

Request Body

NameTypeDescription

components

String

language

String

{
    "messaging_product": "whatsapp",
    "contacts": [
        {
            "input": "12015553931",
            "wa_id": "12015553931"
        }
    ],
    "messages": [
        {
            "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI4Qzc5QkNGNTc5NTMyMDU5QzEA"
        }
    ]
}

Post Body:

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "<TO>",
  "type": "template",
  "template": {
    "name": "<NAME>",
    "language": {
      "code": "<CODE>"
    },
    "components": [

      /* Body component required if template uses variables, otherwise omit */
      {
        "type": "body",
        "parameters": [
          {
            "type": "<TYPE>",
            "text": "<TEXT>"
          }
        ]
      },
      {
        "type": "button",
        "sub_type": "CATALOG",
        "index": 0,
        "parameters": [
          {
            "type": "action",
            "action": {
              "thumbnail_product_retailer_id": "<THUMBNAIL_PRODUCT_RETAILER_ID>"
            }
          }
        ]
      }
    ]
  }
}

Components

PlaceholderDescriptionSample Value

<CODE>

String

Required.

Template language and locale code.

en_US

<NAME>

String

Required.

Template name.

intro_catalog_offer

<THUMBNAIL_PRODUCT_RETAILER_ID>

String

Optional.

Item SKU number. Labeled as Content ID in the Commerce Manager.

The thumbnail of this item will be used as the message's header image.

If the parameters object is omitted, the product image of the first item in your catalog will be used.

2lc20305pt

<TEXT>

String

Required if template uses variables.

Template variable.

100

<TO>

String

Required.

Customer phone number.

+16505551234

<TYPE>

String

Required if template uses variables.

Template variable type.

text

Example Request

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "+16505551234",
  "type": "template",
  "template": {
    "name": "intro_catalog_offer",
    "language": {
      "code": "en_US"
    },
    "components": [
      {
        "type": "body",
        "parameters": [
          {
            "type": "text",
            "text": "100"
          },
          {
            "type": "text",
            "text": "400"
          },
          {
            "type": "text",
            "text": "3"
          }
        ]
      },
      {
        "type": "button",
        "sub_type": "CATALOG",
        "index": 0,
        "parameters": [
          {
            "type": "action",
            "action": {
              "thumbnail_product_retailer_id": "2lc20305pt"
            }
          }
        ]
      }
    ]
  }
}'

Example Response

{
  "messaging_product": "whatsapp",
  "contacts": [
    {
      "input": "+16505551234",
      "wa_id": "16505551234"
    }
  ],
  "messages": [
    {
      "id": "wamid.HBgLMTY1MDM4Nzk0MzkVAgARGBI5RkEwM0EyODFEQzQ2NDYzQTMA"
    }
  ]
}

Last updated