Read this FAQ in the Portuguese and Spanish languages.
What is a Product Message?
The Product Messages enable businesses to showcase their products and services to their customers without leaving the WhatsApp app.
Let us understand the types of product messages in detail:
- Multi-Product Messages: Messages containing a selection of up to 30 items from a business’ inventory.
- Single Product Messages: Messages with a single product item from the business’ inventory. The product is displayed in a Product Detail Page (PDP) format.
Both Multi-Product Messages and Single Product Messages are types of session interactive messages meaning you are not required to get it approved from WhatsApp, unlike template messages - they cannot be sent as notifications but can only be sent as part of existing conversations.
Users that receive Multi and Single Product Messages can perform 3 main actions:
- View products: Customers can see a list of products or just one product. Whenever a user clicks on a specific item, WhatsApp fetches the product's latest info and displays the product in a Product Detail Page (PDP) format. Currently, PDPs only support product images —any videos and/or GIFs added to the product won’t be displayed in the PDP.
- Add products to a cart: Whenever a user adds a product to the shopping cart, WhatsApp fetches the item’s latest info. If there has been a state change on any of the items, WhatsApp displays a dialog saying “One or more items in your cart have been updated” — See Product Updates given below for more information. A cart persists in a chat thread between business and customer until the cart is sent to the business —See Shopping Cart Experience given below for details.
- Send a shopping cart to the business: After adding all needed items, customers can send their cart to the business they’re messaging with. After that, businesses can define the next steps, such as requesting delivery info or giving payment options.
If a customer has multiple devices linked to the same WhatsApp account, the Multi-Product and Single Product Messages will be synced between devices. However, the shopping cart is local to each specific device. See the Shopping Cart Experience given below for details.
Currently, these types of messages can be received on the following platforms:
- iOS: 2.21.100 (Multi-Product Messages) and 2.21.210 (Single Product Messages).
- Android: 2.21.9.15 (Multi-Product Messages) and 2.21.19 (Single Product Messages).
- Web: The web client that supports these features has been launched.
If the recipient’s app version does not support Multi or Single Product Messages, the business receives a webhook notification throwing an error that describes why the message was unable to be sent.
Product Updates
Businesses may need to update the properties of items in their catalog. Depending on the updated property, this is how we handle any messages mentioning that product:
Shopping Cart Experience
After viewing products, a customer can add them to their shopping cart and send that cart to a business. For the purposes of commerce on WhatsApp, a shopping cart:
Is unique to a person/business chat thread in a specific device: Only one cart is created per chat thread between customer and business and carts do not persist across multiple devices. Once a cart is sent, the customer can open another cart with the business and start the process again.
Has no expiration date: The cart persists in the chat thread until it is sent to the business. Once sent, the cart is cleared. Customers can add up to 99 units of each single catalog item to a shopping cart, but there is no limit on the number of distinct items that can be added to a cart.
Once a cart has been sent, no edits can be made. Customers can send a new cart if they need new items or would like to change their order. Businesses cannot send carts to customers.
Prerequisites to send a product message
-
Create Catalog and add items to catalog
- Follow this guide if you have not created any catalog yet, else move to step 2
-
Assign a partner business to your catalog
- Since the WABA are created by the BSP, and Catalog by Merchants / ISV / Businesses - they have to assign BSP as partner business to their catalog, to do so follow the below steps:
- Go to your Business Settings and select your business.
- Select Data Sources.
- Select Catalogs and select the name of your catalog.
- Select Assign Partner.
- Once you choose to assign a partner at step 4, you will get 2 options for doing so; -> Select Business ID(Refer step 6) OR Generate a link(Refer step 7).
- If you select the option "Select Business ID" -
- Since the WABA are created by the BSP, and Catalog by Merchants / ISV / Businesses - they have to assign BSP as partner business to their catalog, to do so follow the below steps:
a. Enter Business ID as 1900820339959633 and under the Full control permission section select Manage catalogue option. Once done, select Next, and then Close.
b. Once the request is submitted, write to devsupport@gupshup.io with the Subject line: Approve Catalog request: <<App Name>> and the mail body should have the Catalogue Name and ID. We will approve the partner request and also connect the Catalog to the Live app mentioned in the subject line.
7. If you select the option "Generate a link" -
a. Select Get link to share to generate a link.
b. Select the Manage catalogue task.
c. You can then send the link to us at devsupport@gupshup.io along with the Subject line: Approve Catalog request: <<App Name>>. You can use each link only once and it expires in 30 days.
Note: Only 1 Catalogue can be associated with a WABA.
If the WABA is Indian (+91 phone number), business’s e-commerce compliance is necessary: Share the below details with Gupshup on the same email to register your WABA:
Entity/Business details:
Customer care details:
Grievance officer details:
Note: For more info refer here i.e. How to comply with the laws for selling online in India using WhatsApp Business API.
API specification to send product messages
API Endpoint:
POST https://api.gupshup.io/sm/api/v1/msg
Headers
Key |
Value |
Description |
apikey |
h9shkxacdugn7k5g94yjj5fa5rdjpkvpj |
API key of the Gupshup account |
Content-Type |
application/x-www-form-urlencoded |
Common request payload
Key |
Description |
Example |
Required |
channel |
The channel for where the catalog is to be shared |
|
Yes |
source |
The source phone number i.e. your approved WhatsApp Business API phone number |
929827248173 |
Yes |
destination |
The phone number of the user with whom the catalog is to be shared |
929827248173 |
Yes |
message |
Please refer to the message payload object explained below |
Yes |
|
catalogId |
ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager. |
1598140221855917 |
Yes |
src.name |
The app’s name is registered on Gupshup. |
myfirstapp |
Yes |
Message payload object
Key |
Description |
Example |
type |
The type of interactive session message. For catalogs, the value must be product_details. |
product_details |
subType |
Multi-product or a single product. Possible values:
|
product_list |
catalogId |
ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager. |
1598140221855917 |
productId |
The ID of the product catalog to link |
c358js92ic3 |
body.text |
Optional. The body of the message. Emojis and markdown are supported. Maximum length: 1024 characters. |
|
header.type |
Possible values: Text |
text |
header.text |
This is the Text for the header. Formatting allows emojis, but not markdown. Maximum length: 60 characters. |
|
footer.text |
Optional. The footer of the message. Emojis and markdown are supported. Maximum length: 60 characters. |
|
sections.title |
Required if the message has more than one section. It is the title of the section. Maximum length: 24 characters. |
|
sections.productList.productId |
Required for Multi-Product Messages. Unique identifier of the product in a catalog. This can be retrieved via Commerce Manager. |
Sample single product message:
{ |
Sample Multi-product message:
CURL
curl --location --request POST 'https://api.gupshup.io/sm/api/v1/msg' \ |
Inbound message:
The query for a product:
{ |
Order placed:
{ |
Inbound message payload object:
Key |
Description |
Example |
catalog.id |
Catalog ID for the order the user has sent to the business. Businesses can retrieve this ID via Commerce Manager. |
15981492102855917 |
order.items |
This will contain the array of items that make up the complete order of the user. |
|
items.id |
Unique identifier of the product in a catalog. This can be retrieved via Commerce Manager. |
c388js91ic3 |
items.currency |
The currency of the amount. |
INR |
items.amount |
The unit price for each item. |
3000 |
items.quantity |
The quantity of an item. |
2 |
Comments
0 comments
Please sign in to leave a comment.