WACM.in Logo
Developer Documentation

WACM.in API Reference

Complete documentation for the WACM.in REST APIs. Integrate WhatsApp Business messaging, eCommerce, and Multi-Channel Verification directly into your applications.

AI & LLM Integration Hub

LLM Ready

Feed WACM API specs directly to Cursor, Claude, ChatGPT, Antigravity, or custom AI agents.

Download .mdOpenAPI 3.1
Machine-Readable Feeds:/llms.txt /llms-full.txt

Connect your AI assistant with MCP (v0.5.0 · 138 tools)

Set up Claude, Antigravity or VS Code to inspect and manage your WACM workspace through the official npm package.

Overview

WACM.in provides RESTful APIs for WhatsApp Business communication and eCommerce management. Wpbox and Shop CRUD use Sanctum Bearer tokens. Verification requires a public API key, ERP sync uses a separate ERP token, and catalog search is public. File uploads use multipart form data; other requests generally use JSON.

Authentication

The Wpbox and Shop developer APIs use a Laravel Sanctum bearer token. Wpbox endpoints also accept ?token= when no Authorization header is present. Obtain a token from the WACM dashboard under Settings → API.

Method 1: Authorization Header (Recommended)

Request Header
GET /api/v1/contacts HTTP/1.1
Host: app.wacm.in
Authorization: Bearer your_api_token_here
Accept: application/json

Method 2: Query Parameter

cURL
curl "https://app.wacm.in/api/v1/contacts?token=your_api_token_here"

Security Note

Always use HTTPS for API requests. Never expose your API token in client-side code or public repositories.

Rate Limiting

Verification declares route limits of 30 requests per minute for authenticated endpoints and 10 for magic links. Public catalog search is limited to 30 per minute. Single-phone checks also have a configurable per-company limit (default 60 per minute). Application plan and middleware limits may additionally apply.

Base URL

Base URL
https://app.wacm.in

Pagination

Wpbox contacts, templates and campaigns use resource pagination with data, links and meta. Groups, campaign messages and conversations nest Laravel paginator fields under data. Shop lists return complete arrays without pagination. Conversation messages use before_id to fetch older messages. Example resource pagination:

Paginated Response
{
  "data": [...],
  "links": {
    "first": "https://app.wacm.in/api/v1/contacts?page=1",
    "last": "https://app.wacm.in/api/v1/contacts?page=5",
    "prev": null,
    "next": "https://app.wacm.in/api/v1/contacts?page=2"
  },
  "meta": {
    "current_page": 1,
    "last_page": 5,
    "per_page": 15,
    "total": 75
  }
}

Use ?page= to navigate pages and ?limit= to control results per page (default: 15).

Quick Reference

Overview of all available REST endpoints across WACM modules.

WhatsApp Business API (Base: /api/v1)

GET
/me

Get authenticated user profile

GET
/contacts

List all contacts with pagination

POST
/contacts

Create or update a contact

POST
/contacts/bulk-sync

Bulk sync contacts with group/tag assignments

GET
/contacts/{id}

Get contact details with groups and fields

PUT
/contacts/{id}

Update contact information

DELETE
/contacts/{id}

Delete contact

POST
/contacts/check-phone

Verify phone number WhatsApp registration

POST
/contacts/check-phones

Bulk verify phone number WhatsApp registration

POST
/messages/text

Send text, media, or quick-reply message

POST
/messages/template

Send approved template message

POST
/messages/list

Send interactive list message

GET
/templates

List templates in all statuses

GET
/groups

List contact groups

GET
/tags

List contact tags

GET
/fields

List custom contact field definitions

GET
/campaigns

List campaigns with stats

POST
/campaigns/audience-preview

Preview audience count before launching

POST
/campaigns

Create and dispatch campaign

POST
/campaigns/send

Send campaign message to contact dynamically

GET
/conversations

List active conversations

GET
/conversations/{id}/messages

List messages in a conversation

eCommerce API (Base: /v1/shop & /shop)

GET
/v1/shop/products

List all products

POST
/v1/shop/products

Create a new product

GET
/v1/shop/products/{id}

Get product details

PUT
/v1/shop/products/{id}

Update product

DELETE
/v1/shop/products/{id}

Delete product (204 No Content)

GET
/v1/shop/categories

List categories

POST
/v1/shop/categories

Create category (name, slug)

GET
/v1/shop/orders

List orders

GET
/v1/shop/orders/{id}

Get order details

PUT
/v1/shop/orders/{id}/status

Update order status

POST
/shop/erp/sync

Sync products from external ERP

POST
/shop/ai/search

AI natural language product search

POST
/shop/webhooks/shopify/{token}

Shopify webhook receiver

POST
/shop/webhooks/woo/{token}

WooCommerce webhook receiver

POST
/shop/webhooks/custom/{token}

Custom webhook receiver

Verification API (Base: /api/v1/verification or /v1/verification)

GET
/v1/verification/config

Dynamic Mobile Config Discovery (Zero-Release Architecture)

POST
/v1/verification/request

Request verification session & 1-Click WhatsApp intent

POST
/v1/verification/verify

Validate OTP code & receive trust key

GET
/v1/verification/status/{request_id}

Check verification status & retrieve trust key

POST
/v1/verification/resend

Resend OTP code

GET
/v1/verification/magic/{request_id}/{token}

Magic link browser verification (Public)

WhatsApp Calling API → — Meta v26 lifecycle, permissions, ownership and reporting (updated deployment required).

Omnichannel Email API (Base: /api/v1/email)

GET
/email/settings

Check workspace SMTP readiness and sender details

GET
/email/templates

List pre-configured outbound email templates

POST
/email/send

Dispatch email via dynamic SMTP and log to CRM timeline

GET
/email/messages

List unified CRM email messages with pagination

CRM & Sales Pipelines API (Base: /api/v1/crm)

GET
/crm/pipelines

List sales pipelines and ordered stages

GET
/crm/leads

List and search enquiries by pipeline, stage, owner, outcome

POST
/crm/leads

Create a new enquiry with idempotent creation key

GET
/crm/leads/{id}

Get complete enquiry details, contact, and pending tasks

PUT
/crm/leads/{id}/stage

Move enquiry stage with optimistic locking and lost reason

GET
/crm/tasks

List assigned follow-up tasks and due reminders

GET
/crm/reports

Read conversion cohorts, intake growth, and stage durations

GET
/crm/automation/preferences

Read team member notification preferences and work number status

Explore complete CRM API reference →

Need Help?

Can't find what you're looking for? Our team is here to help you integrate.