📱 1. Linking Your WhatsApp (QR Code Scanner)
NextGen WhatsApp operates as a sovereign, multi-device companion client. Your WhatsApp account stays securely in your control on your primary phone.
⚡ Instant Guest Pass: You can link immediately on the homepage without creating an account, or log in to preserve multi-user scheduling and team settings.
How to Link Your WhatsApp Device:
- Open WhatsApp on your mobile phone.
- Navigate to Settings (or 3 dots menu on Android) ➔ Linked Devices.
- Tap "Link a Device" (authenticate via fingerprint/FaceID).
- Point your camera at the live QR code shown on the screen.
- Within 5–10 seconds, your screen will turn green showing 🟢 Connected and display your phone number.
💡 Need to switch numbers? Click "🔄 Relink Device" anytime to revoke the active session and generate a fresh QR code.
✍️ 2. Message Composer (Text, Media & Polls)
The Message Composer enables you to dispatch clean, professional messages directly from your linked phone number to any valid recipient or community group.
Supported Message Types:
- Text Messages: Supports WhatsApp bold (
*bold*), italics (_italic_), strikethrough (~strike~), and emojis.
- Images & Photos: High-resolution image attachments with accompanying captions.
- PDF & Documents: Invoices, maintenance bills, and notices delivered directly with file names.
- Interactive Polls: Create decision polls with 2 to 12 selectable options and single or multiple choice toggles.
👥 Recipient Input: Enter plain mobile numbers with country code (e.g. 919876543210), or select a group directly from your synced Joined Groups tab.
⏰ 3. Offline Scheduled Queue (Close Your Laptop)
The defining power of the NextGen Studio is unattended offline execution. Once scheduled, our resilient background daemon executes the dispatch at the exact minute specified.
🔋 Works While Your Devices Are Off: You can shut down your PC, close your laptop lid, and turn off your phone. The message will still be delivered on schedule!
How Scheduling Works:
- In the Message Composer, toggle the "📅 Schedule for Later" switch.
- Select the target dispatch date and time.
- Click "Schedule Message".
- Visit the Queue Manager tab anytime to view pending dispatches, edit scheduled times, or cancel dispatches.
🤖 4. Keyword Auto-Replies & Spreadsheet Lookup
Turn your WhatsApp into an intelligent 24/7 automated receptionist that answers frequent questions instantly.
Types of Automated Responses:
- Static Keyword Triggers: When an incoming message contains words like "office hours", "timing", or "helpline", the bot automatically replies with pre-configured directory details.
- Dynamic Spreadsheet Data Lookup: Upload an Excel or CSV file (e.g., flat resident directory, test results, or inventory). When a user messages their Flat Number or Order ID, the system looks up the matching row and replies with live details.
- Group Scoping: Configure rules to reply exclusively inside individual direct messages or in specific joined groups.
🛡️ 5. Anti-Spam Safety & Meta Compliance Rules
WhatsApp strictly monitors accounts for robotic burst behavior. To ensure 100% account longevity and zero risk of suspension, NextGen enforces built-in safety mechanisms:
⚠️ The 30-Second Human Pacing Rule: Standalone accounts must wait a minimum of 30 seconds between consecutive message sends. This simulates natural human behavior and stops automated flood attacks.
- Rolling Hourly Quota: Accounts are configured with safe rolling limits (default: 10 to 50 messages/hour).
- Automatic Backoff: If rate limits are approached, pending scheduled items automatically stagger themselves rather than dropping.
- Anti-Spam Verification: WhatsApp pre-keys and cryptographic ratchets are maintained with graceful reconnection to avoid session corruption.
🔒 6. DPDP 2023 & HIPAA Zero-Storage Compliance
India's Digital Personal Data Protection Act (DPDP 2023) and healthcare guidelines require strict data minimization.
- Zero Cloud Message Storage: Message text, recipient phone lists, and attachments are dispatched through the WhatsApp protocol in transit and never retained on permanent cloud servers.
- Client-Side Decryption: Your WhatsApp session cryptographic keys reside solely inside your sandboxed user directory.
- User Privacy Modes: Configurable in your Account & Privacy tab between Standard Zero-Storage and User-Encrypted audit logs.
⚡ 1. API Base URL & Authentication
All REST API endpoints require HTTPS and must be authenticated using your dedicated API Key issued in the API Keys & Tenants dashboard.
🌐 Production Base URL: https://dev-wa.nextgenmultiverse.com
Supported Authentication Headers:
You can pass your API key via either header:
x-api-key: mhc_sec_YOUR_API_KEY
Authorization: Bearer mhc_sec_YOUR_API_KEY
🎯 2. WhatsApp Recipient Standards (JIDs)
The gateway automatically sanitizes recipient identifiers, but adhering to WhatsApp standards ensures optimal delivery:
| Recipient Type |
Example Input |
Internal Resolution |
| Individual Number |
"919013793020" or "+91 9013793020" |
919013793020@s.whatsapp.net |
| WhatsApp Group |
"12036304859182394@g.us" |
12036304859182394@g.us |
📤 3. POST /api/v1/send-message
Dispatches text, media, documents, or interactive polls to individuals or groups.
curl -X POST https://dev-wa.nextgenmultiverse.com/api/v1/send-message \
-H "Content-Type: application/json" \
-H "x-api-key: mhc_sec_demo_app_998877" \
-d '{
"to": "919013793020",
"type": "text",
"text": "Hello! Your verification code is 481923."
}'
curl -X POST https://dev-wa.nextgenmultiverse.com/api/v1/send-message \
-H "Content-Type: application/json" \
-H "x-api-key: mhc_sec_demo_app_998877" \
-d '{
"to": "12036304859182394@g.us",
"type": "document",
"mediaUrl": "https://example.com/monthly-bill.pdf",
"fileName": "RWA-Invoice-Sept.pdf",
"caption": "Attached is the society maintenance invoice."
}'
Success Response (HTTP 200):
{
"success": true,
"messageId": "BAE5F928C1A4B02E",
"timestamp": 1726762800000,
"sourceApp": "rwa-portal"
}
👥 4. GET /api/v1/groups
Fetches all WhatsApp groups that the sender channel is currently participating in.
curl -X GET https://dev-wa.nextgenmultiverse.com/api/v1/groups \
-H "x-api-key: mhc_sec_demo_app_998877"
🩺 5. GET /api/v1/health
Real-time gateway connectivity status and socket health verification.
curl -X GET https://dev-wa.nextgenmultiverse.com/api/v1/health \
-H "x-api-key: mhc_sec_demo_app_998877"
🔌 6. Client Webhooks & Real-time Receipts
External applications can receive instant HTTP POST webhooks for incoming replies and delivery receipts.
Payload Signature Verification:
Each webhook request includes an x-hub-signature-256 header containing the HMAC-SHA256 hash of the payload signed with your webhook secret.
⚠️ 7. Rate Limits & HTTP Error Codes
| HTTP Code |
Meaning |
Description & Action |
200 OK |
Success |
Message accepted and relayed to WhatsApp network. |
400 Bad Request |
Validation Error |
Missing required fields (e.g. invalid phone format or empty text). |
401 Unauthorized |
Auth Failed |
Missing or invalid x-api-key. |
429 Rate Limited |
Quota Exceeded |
Tenant hourly limit reached or 30s gap triggered. Retry after reset. |
503 Unavailable |
Gateway Disconnected |
Sender WhatsApp phone is currently unlinked or reconnecting. |
💻 8. Multi-Language SDK Samples
Node.js (Axios)
const axios = require('axios');
async function sendWhatsAppMessage() {
try {
const res = await axios.post('https://dev-wa.nextgenmultiverse.com/api/v1/send-message', {
to: '919013793020',
type: 'text',
text: 'Hello from Node.js backend!'
}, {
headers: {
'Content-Type': 'application/json',
'x-api-key': 'mhc_sec_demo_app_998877'
}
});
console.log('Dispatched successfully:', res.data.messageId);
} catch (error) {
console.error('API Error:', error.response ? error.response.data : error.message);
}
}
sendWhatsAppMessage();
Python (Requests)
import requests
url = "https://dev-wa.nextgenmultiverse.com/api/v1/send-message"
headers = {
"Content-Type": "application/json",
"x-api-key": "mhc_sec_demo_app_998877"
}
payload = {
"to": "919013793020",
"type": "text",
"text": "Hello from Python backend service!"
}
response = requests.post(url, json=payload, headers=headers)
print("Status:", response.status_code)
print("Response:", response.json())
PHP (cURL)
<?php
$payload = json_encode([
'to' => '919013793020',
'type' => 'text',
'text' => 'Hello from PHP microservice!'
]);
$ch = curl_init('https://dev-wa.nextgenmultiverse.com/api/v1/send-message');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'x-api-key: mhc_sec_demo_app_998877'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>