eCommerce Store API
Shop API Reference
Build and manage your WhatsApp eCommerce store. Sync products, process orders, and integrate with Shopify or WooCommerce seamlessly.
eCommerce API - LLM Context
LLM ReadyFeed complete Shop & Catalog API specs directly to your AI agent or coding assistant.
Overview
The Shop API enables you to manage your WhatsApp eCommerce store programmatically. Create and manage products, organize categories, process orders, and integrate with external platforms like Shopify and WooCommerce.
Developer API Base
https://app.wacm.in/v1/shopPublic API Base
https://app.wacm.in/shopThe API uses RESTful conventions with JSON request/response bodies. All developer endpoints require authentication via Bearer token.
Authentication
Developer API endpoints (v1) require authentication. Public endpoints for categories and products use company_id for scoping.
curl -X GET "https://app.wacm.in/v1/shop/products" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"Integration Flow
Follow these steps to integrate your external system with WACM Shop:
Get Your Token
Log in to your WACM dashboard, navigate to Settings → API to get your Personal Access Token.
Push Categories
Make a POST request to /v1/shop/categories to establish your product taxonomy. Save the returned Category IDs.
Push Products
Make a POST request to /v1/shop/products, attaching the newly created category_id to each item.
Fulfill Orders
Poll the /v1/shop/orders endpoint to receive new purchases, or use the WACM Webhook engine to listen for real-time events.
Update Statuses
Once you ship an item, PUT the new status (e.g., Shipped) back to the /v1/shop/orders/{id}/status endpoint.
Products
/v1/shop/productsList all products
/v1/shop/productsCreate a new product
/v1/shop/products/{'{id}'}Get product details
/v1/shop/products/{'{id}'}Update product
/v1/shop/products/{'{id}'}Delete product
List Products
curl -X GET "https://app.wacm.in/v1/shop/products" \
-H "Authorization: Bearer YOUR_API_TOKEN"Create Product
curl -X POST "https://app.wacm.in/v1/shop/products" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Premium Wireless Headphones",
"description": "High-quality wireless headphones with noise cancellation",
"price": 2999.00,
"compare_at_price": 4999.00,
"currency": "INR",
"stock_quantity": 100,
"status": "Active",
"external_id": "SKU-WH-001",
"category_id": 1
}'Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Product name |
| price | number | Required | Product price |
| description | string | Optional | Product description |
| compare_at_price | number | Optional | Original price (for showing discounts) |
| currency | string | Optional | Currency code (default: INR) |
| stock_quantity | integer | Optional | Available stock quantity |
| status | string | Optional | Product status: Active, Draft, Archived |
| external_id | string | Optional | External SKU or product ID |
| image | string | Optional | Product image URL |
| category_id | integer | Optional | Category ID reference |
Response
{
"id": 1,
"name": "Premium Wireless Headphones",
"description": "High-quality wireless headphones with noise cancellation",
"price": 2999.00,
"compare_at_price": 4999.00,
"currency": "INR",
"stock_quantity": 100,
"status": "Active",
"external_id": "SKU-WH-001",
"image": null,
"category_id": 1,
"created_at": "2025-01-15T10:30:00.000000Z",
"updated_at": "2025-01-15T10:30:00.000000Z"
}Categories
/v1/shop/categoriesList all categories
/v1/shop/categoriesCreate a new category
/v1/shop/categories/{'{id}'}Get category details
/v1/shop/categories/{'{id}'}Update category
/v1/shop/categories/{'{id}'}Delete category (returns 204 No Content)
Create Category
curl -X POST "https://app.wacm.in/v1/shop/categories" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Electronics",
"slug": "electronics",
"description": "Electronic devices and accessories"
}'Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Category name |
| slug | string | Required | Unique category slug |
| description | string | Optional | Category description |
| image | URL | Optional | Category image URL |
Public Categories Endpoint
No authentication required - uses company_id for scoping.
curl -X GET "https://app.wacm.in/shop/{company_id}/categories"Orders
/v1/shop/ordersList all orders
/v1/shop/orders/{'{id}'}Get order details
/v1/shop/orders/{'{id}'}/statusUpdate order status
Update Order Status
curl -X PUT "https://app.wacm.in/v1/shop/orders/123/status" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "Shipped"
}'Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| status | string | Required | New order status |
Valid Order Statuses
ERP Sync
Synchronize your ERP system inventory with WACM Shop.
/shop/erp/syncBearer token requiredSync products and inventory from ERP
curl -X POST "https://app.wacm.in/shop/erp/sync" \
-H "Authorization: Bearer YOUR_ERP_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"products": [
{
"external_id": "ERP-001",
"name": "ERP product",
"stock_quantity": 50,
"price": 1999.00
}
]
}'AI Product Search
Use AI-powered search to find products by natural language queries. Provide the store subdomain and query.
/shop/ai/searchPublicSearch products using AI
curl -X POST "https://app.wacm.in/shop/ai/search" \
-H "Content-Type: application/json" \
-d '{
"subdomain": "your-store-subdomain",
"query": "wireless headphones under 3000"
}'Webhooks
Receive incoming Shopify, WooCommerce, and custom events. Each endpoint uses the generated webhook token in its URL.
/shop/webhooks/shopify/{token}Token in URLShopify webhook receiver
/shop/webhooks/woo/{token}Token in URLWooCommerce webhook receiver
/shop/webhooks/custom/{token}Token AuthCustom webhook receiver
/shop/webhooks/shiprocket/{token}Token in URLShiprocket logistics webhook receiver
/shop/webhooks/fastrr/{token}Token in URLFastrr checkout webhook receiver
/shop/webhooks/test/{token}Token in URLWebhook verification and testing endpoint
Security
Webhook URLs contain a generated token. Shopify and WooCommerce handlers also validate their respective request signatures when configured.
Shopify Integration
Connect your Shopify store to automatically sync products and receive order notifications.
Webhook Events Supported
products/create- New product createdproducts/update- Product updatedproducts/delete- Product deletedorders/create- New order placedorders/updated- Order status changed
https://app.wacm.in/shop/webhooks/shopify/{your_webhook_token}WooCommerce Integration
Connect your WooCommerce store to sync products and process orders through WhatsApp.
https://app.wacm.in/shop/webhooks/woo/{your_webhook_token}Product Status Reference
| Status | Description |
|---|---|
| Active | Product is visible and purchasable |
| Draft | Product is hidden from store (work in progress) |
| Archived | Product is no longer available |
Order Status Reference
| Status | Description |
|---|---|
| Pending | Order received, awaiting processing |
| Processing | Order is being prepared |
| Shipped | Order has been shipped |
| Delivered | Order delivered to customer |
| Cancelled | Order was cancelled |
| Refunded | Payment was refunded |
HMAC-SHA256 Security
All external webhooks (Shopify/WooCommerce) are verified using HMAC-SHA256 signatures to ensure request authenticity.
1. Receive webhook request with HMAC signature header
2. Compute HMAC-SHA256 using your shared secret
3. Compare computed signature with received signature
4. Process request only if signatures matchSecurity Best Practice
Always verify webhook signatures before processing. Never trust unverified webhook payloads.
WhatsApp Business API
Send messages, manage contacts, and run campaigns.