Broadcast Rotator
Using documentation you can easily develop projects
Anti Banned
Development guides for building projects with Mizzle
Performa Device
Recent feature release and announcement. See how changes are made.
Tips and In-depth guide for headless browser automation
Integrate WhatsApp, Telegram, Messenger, and Instagram into your applications using a single, unified API. Manage conversations, send broadcasts, and handle webhooks effortlessly.
60 requests per minute per App.
https://app.cloudchat.id/api/public/v1
HTTPS (TLS 1.2+) & JSON.
Authenticate your requests using the Authorization header with your API Key.
Authorization
Do not share it in client-side code (browsers/apps). If compromised, regenerate it in the App Settings.
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
Send text or media messages to any supported channel. The system automatically handles channel-specific logic.
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://app.cloudchat.id/api/public/v1/messages', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => '{ "channel": "whatsapp", "type": "text", "content": { "text": "Hello from API!" }, "to": "6281234567890"}', CURLOPT_HTTPHEADER => array( 'Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
{ "success": true, "data": { "id": "msg_123456789", "status": "queued", "timestamp": 1700000000 } }
Receive real-time updates for incoming messages and status changes.
Example of an incoming text message event.
{ "event": "message.received", "id": "evt_123456", "timestamp": 1700000000, "channel": "whatsapp", "session_id": "uuid-session-001", "data": { "from": "6281234567890", "pushName": "John Doe", "text": "Hello world!", "type": "text", "mediaUrl": null } }
Verify the X-Reply-Signature header to ensure the request came from us. Calculate the HMAC SHA256 of the JSON payload using your Webhook Secret.
X-Reply-Signature
const crypto = require('crypto'); function verifySignature(req, secret) { const signature = req.headers['x-reply-signature']; const payload = JSON.stringify(req.body); const expected = crypto .createHmac('sha256', secret) .update(payload) .digest('hex'); return signature === expected; }
200 OK