Skip to main content

WhatsApp Commerce

WhatsApp Commerce allows businesses to showcase products, manage shopping carts, and complete purchases directly within WhatsApp conversations. This guide covers how to set up and use WhatsApp Commerce features through Exotel.

What Is WhatsApp Commerce?​

WhatsApp Commerce transforms WhatsApp from a messaging channel into a sales channel. Customers can browse products, add items to a cart, and check out without leaving the app.

Commerce Features​

FeatureDescriptionAvailability
Product CatalogShowcase your products within WhatsAppAll markets
Product MessagesShare single or multiple products in chatAll markets
Shopping CartCustomers add items and manage quantitiesAll markets
CheckoutComplete the purchase in-chatSelect markets
Order NotificationsSend order updates via templatesAll markets
PaymentsCollect payments via UPI (India only)India

Prerequisites​

RequirementDetails
Verified Meta Business ManagerBusiness verification completed
WhatsApp Business AccountConnected to Exotel
Product CatalogCreated in Meta Commerce Manager
Compliance reviewCommerce policies accepted

Setting Up Commerce​

Step 1: Create a Product Catalog​

  1. Go to Meta Commerce Manager.
  2. Click Add Catalog > E-commerce.
  3. Select Upload product info.
  4. Name your catalog and create it.

Step 2: Add Products​

Add products individually or via bulk upload:

FieldRequiredDescription
Product nameYesName displayed to customers (max 200 characters)
Product imageYesHigh-quality image (min 500x500 pixels)
DescriptionYesProduct details (max 5,000 characters)
PriceYesPrice in local currency
CurrencyYesCurrency code (e.g., INR)
Content IDYesUnique product identifier
URLYesProduct page URL
AvailabilityYesin stock or out of stock
ConditionNonew, refurbished, used
CategoryNoProduct category

Step 3: Connect Catalog to WhatsApp​

  1. In Meta Business Manager, go to WhatsApp Account > Settings.
  2. Navigate to Catalog.
  3. Select your catalog from the dropdown.
  4. Save.

Step 4: Enable Commerce in Exotel​

  1. Log in to the Exotel Dashboard.
  2. Navigate to WhatsApp > Commerce Settings.
  3. Enable product catalog integration.
  4. Verify the catalog connection.

See WhatsApp Catalog for detailed catalog management.

Sending Product Messages​

Single Product Message​

Share a specific product from your catalog:

curl -X POST "https://<api_key>:<api_token>@api.in.exotel.com/v2/accounts/<account_sid>/messages" \
-H "Content-Type: application/json" \
-d '{
"from": "+919876500001",
"to": "+919876543210",
"content": {
"type": "interactive",
"interactive": {
"type": "product",
"body": {
"text": "Check out this popular item from our store!"
},
"action": {
"catalog_id": "your_catalog_id",
"product_retailer_id": "SKU-12345"
}
}
}
}'

Multi-Product Message​

Share multiple products organized by sections:

curl -X POST "https://<api_key>:<api_token>@api.in.exotel.com/v2/accounts/<account_sid>/messages" \
-H "Content-Type: application/json" \
-d '{
"from": "+919876500001",
"to": "+919876543210",
"content": {
"type": "interactive",
"interactive": {
"type": "product_list",
"header": {
"type": "text",
"text": "Our Top Picks"
},
"body": {
"text": "Browse our best sellers and new arrivals!"
},
"action": {
"catalog_id": "your_catalog_id",
"sections": [
{
"title": "Best Sellers",
"product_items": [
{ "product_retailer_id": "SKU-001" },
{ "product_retailer_id": "SKU-002" },
{ "product_retailer_id": "SKU-003" }
]
},
{
"title": "New Arrivals",
"product_items": [
{ "product_retailer_id": "SKU-101" },
{ "product_retailer_id": "SKU-102" }
]
}
]
}
}
}
}'

Product Message Limits​

TypeProductsSections
Single product1N/A
Multi-productMax 30Max 10 sections

Shopping Cart​

When customers browse your products, they can add items to a cart directly within WhatsApp.

Cart Flow​

Customer browses products → Adds to cart → Reviews cart → Sends cart to business

Cart Webhook​

When a customer submits their cart, you receive a webhook with the order details:

{
"type": "inbound_message",
"data": {
"from": "+919876543210",
"message": {
"type": "order",
"order": {
"catalog_id": "your_catalog_id",
"product_items": [
{
"product_retailer_id": "SKU-001",
"quantity": 2,
"item_price": 499.00,
"currency": "INR"
},
{
"product_retailer_id": "SKU-003",
"quantity": 1,
"item_price": 899.00,
"currency": "INR"
}
],
"text": "Please deliver by tomorrow"
}
}
}
}

Processing Cart Orders​

function processOrder(orderData) {
const { product_items, text } = orderData.order;

let totalAmount = 0;
const orderItems = product_items.map(item => {
const subtotal = item.quantity * item.item_price;
totalAmount += subtotal;
return {
sku: item.product_retailer_id,
quantity: item.quantity,
price: item.item_price,
subtotal: subtotal
};
});

// Create order in your system
const order = createOrder({
customer: orderData.from,
items: orderItems,
total: totalAmount,
note: text
});

// Send confirmation
sendTemplateMessage(orderData.from, 'order_confirmation', {
orderId: order.id,
total: totalAmount,
itemCount: orderItems.length
});
}

Commerce Conversation Flow​

A typical WhatsApp Commerce conversation:

Business: "Welcome! Here are our top products." [Multi-product message]
Customer: [browses products, adds 2 items to cart]
Customer: [sends cart order]
Business: "Thank you! Your order #ORD-789 for Rs. 1,897 is confirmed."
Business: [sends order confirmation template with payment link]
Customer: [makes payment]
Business: "Payment received! Your order will be delivered by tomorrow." [Template]
tip

Use interactive messages and product catalogs together to create a smooth shopping experience. Send product recommendations based on customer preferences and purchase history.

Commerce Analytics​

Track commerce performance in the Exotel Dashboard:

MetricDescription
Product viewsNumber of times products were viewed
Cart additionsItems added to carts
Orders receivedCart orders submitted by customers
Conversion ratePercentage of product views that convert to orders
Average order valueAverage total amount per order

Best Practices​

  1. Keep catalogs updated -- Remove out-of-stock items promptly; update prices regularly.
  2. Use high-quality images -- Product images should be clear, well-lit, and at least 500x500 pixels.
  3. Write compelling descriptions -- Include key details like size, color, material, and benefits.
  4. Organize with sections -- Group products logically (by category, price range, or popularity).
  5. Respond to cart orders quickly -- Confirm orders within minutes to maintain customer confidence.
  6. Follow up on abandoned carts -- Send a template message reminding customers about their cart.
  7. Provide order tracking -- Use template messages to keep customers updated on order status.

Next Steps​