WAYAQR Code expired
WhatsApp disconnected
| Keyword | Match | Mode | Response / Script | Status | Actions |
|---|---|---|---|---|---|
{{ r.keyword }} |
{{ r.matchType }} | {{ r.mode === 'script' ? '⥠Script' : 'đŦ Message' }} | {{ r.mode === 'script' ? (r.script || '').substring(0, 60) + '...' : r.response }} | {{ r.enabled ? 'ON' : 'OFF' }} | |
| No rules yet | |||||
| Command | Mode | Reply / Script | Status | Actions |
|---|---|---|---|---|
{{ c.command }} |
{{ c.mode === 'script' ? '⥠Script' : 'đŦ Message' }} | {{ c.mode === 'script' ? (c.script || '').substring(0, 60) + '...' : c.replyMessage }} | {{ c.enabled ? 'ON' : 'OFF' }} | |
| No commands yet | ||||
| # | Name | Script Preview | Status | Actions |
|---|---|---|---|---|
| {{ idx + 1 }} | {{ h.name }} | {{ (h.script || '').substring(0, 80) }}{{ (h.script||'').length > 80 ? '...' : '' }} |
{{ h.enabled ? 'ON' : 'OFF' }} | |
| No hooks yet. Add one to run custom code on every message. | ||||
{{ simResult.returned }}{{ s.to }}: {{ s.text }}
async function(client, msg, axios)msg.body â message textmsg.from / msg.to â sender / recipient chat IDmsg.fromMe â boolean, true if you sent itmsg.chatId â the chat where message was sentmsg.type â message type (chat, image, etc.)client.send(text) â reply to the same chatclient.sendTo(chatId, text) â send to any chatreturn "text" â shorthand to reply to the chat| Time | Hook | Status | Dir | Message | ms |
|---|---|---|---|---|---|
| {{ formatLogTime(log.ts) }} | {{ log.hookName }} | OK ERR replied | {{ log.fromMe ? 'â OUT' : 'â IN' }} | {{ log.msgBody }} | {{ log.duration }}ms |
| No logs yet. Send a message to trigger hooks. | |||||
async function(client, args, axios) â return a string to reply, or use client.send(msg).!ping hello "dear friend" â args = ["hello", "dear friend"]
!infoasync function(client, args, axios) â return a string to reply, or use client.send(msg).
async function(client, msg, axios) â client.send(text) to reply, client.sendTo(chatId, text) to send anywhere, or return "text" to auto-reply.
Selected recipients ({{ selectedChatIds.length }}):
{{ apiExLang==='curl'?apiExampleCurl:apiExLang==='fetch'?apiExampleJS:apiExLang==='axios'?apiExampleAxios:apiExLang==='dartdio'?apiExampleDartDio:apiExampleDartHttp }}
{{ chatId }}
Recipients ({{ (catData.assignments[catApiCat] || []).length }}):
{{ catApiTab==='curl'?catApiCurl:catApiTab==='fetch'?catApiFetch:catApiTab==='axios'?catApiAxios:catApiTab==='dartdio'?catApiDartDio:catApiDartHttp }}
/api/send-message are queued with a 5s delay between each.
| # | Recipient | Message | Status | Created | Sent | |
|---|---|---|---|---|---|---|
| {{ idx + 1 }} | {{ q.number }} |
{{ (q.message || '').substring(0, 80) }} | Pending Sending Sent Failed | {{ formatLogTime(q.createdAt) }} | {{ q.sentAt ? formatLogTime(q.sentAt) : '-' }} | |
| Queue is empty. Messages sent via API will appear here. | ||||||
{{ queueDetail.id }}
{{ queueDetail.message }}
{{ JSON.stringify(queueDetail.request.headers, null, 2) }}
{{ JSON.stringify(queueDetail.request.body, null, 2) }}
Download all your settings as a JSON file: auto-reply rules, commands, hooks, categories, pinned chats, contact names, and main number.
Upload a previously downloaded backup JSON file to restore all settings. This will overwrite existing data.
â ī¸ Note: API key, password, and WhatsApp session are not included for security.
"main" as number in API calls to auto-resolve to this number.* to allow all. Otherwise one number per line (e.g. 6282146727409). Numbers not listed will be rejected.Base URL: {{ baseUrl }}
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{"number": "6282146727409", "message": "Hello!"}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({ number: "6282146727409", message: "Hello!" })
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
number: '6282146727409',
message: 'Hello!'
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {'number': '6282146727409', 'message': 'Hello!'},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({'number': '6282146727409', 'message': 'Hello!'}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"recipients": ["6282146727409", "628xxx"],
"message": "Hello everyone!"
}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({
recipients: ["6282146727409", "628xxx"],
message: "Hello everyone!"
})
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
recipients: ['6282146727409', '628xxx'],
message: 'Hello everyone!'
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {
'recipients': ['6282146727409', '628xxx'],
'message': 'Hello everyone!'
},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({
'recipients': ['6282146727409', '628xxx'],
'message': 'Hello everyone!'
}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"recipients": ["120363xxx@g.us"],
"message": "Hello group!"
}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({
recipients: ["120363xxx@g.us"],
message: "Hello group!"
})
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
recipients: ['120363xxx@g.us'],
message: 'Hello group!'
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {
'recipients': ['120363xxx@g.us'],
'message': 'Hello group!'
},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({
'recipients': ['120363xxx@g.us'],
'message': 'Hello group!'
}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"recipients": [
"6282146727409",
"628xxx",
"120363xxx@g.us",
"120363yyy@g.us"
],
"message": "Hello!"
}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({
recipients: [
"6282146727409",
"628xxx",
"120363xxx@g.us",
"120363yyy@g.us"
],
message: "Hello!"
})
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
recipients: [
'6282146727409',
'628xxx',
'120363xxx@g.us',
'120363yyy@g.us'
],
message: 'Hello!'
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {
'recipients': [
'6282146727409',
'628xxx',
'120363xxx@g.us',
'120363yyy@g.us'
],
'message': 'Hello!'
},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({
'recipients': [
'6282146727409',
'628xxx',
'120363xxx@g.us',
'120363yyy@g.us'
],
'message': 'Hello!'
}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{"number": "main", "message": "Hello!"}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({ number: "main", message: "Hello!" })
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
number: 'main',
message: 'Hello!'
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {'number': 'main', 'message': 'Hello!'},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({'number': 'main', 'message': 'Hello!'}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"number": "6282146727409",
"message": "Check this image!",
"media": { "url": "https://example.com/photo.jpg" }
}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({
number: "6282146727409",
message: "Check this image!",
media: { url: "https://example.com/photo.jpg" }
})
}).then(r => r.json()).then(console.log);
const axios = require('axios');
axios.post('{{ baseUrl }}/api/send-message', {
number: '6282146727409',
message: 'Check this image!',
media: { url: 'https://example.com/photo.jpg' }
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'package:dio/dio.dart';
final dio = Dio();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {
'number': '6282146727409',
'message': 'Check this image!',
'media': { 'url': 'https://example.com/photo.jpg' }
},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'package:http/http.dart' as http;
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({
'number': '6282146727409',
'message': 'Check this image!',
'media': { 'url': 'https://example.com/photo.jpg' }
}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"number": "6282146727409",
"message": "Here is the document",
"media": {
"data": "BASE64_ENCODED_DATA",
"mimetype": "application/pdf",
"filename": "document.pdf"
}
}'
fetch("{{ baseUrl }}/api/send-message", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "{{ apiKeyValue }}"
},
body: JSON.stringify({
number: "6282146727409",
message: "Here is the document",
media: {
data: "BASE64_ENCODED_DATA",
mimetype: "application/pdf",
filename: "document.pdf"
}
})
}).then(r => r.json()).then(console.log);
const axios = require('axios');
const fs = require('fs');
const fileData = fs.readFileSync('document.pdf').toString('base64');
axios.post('{{ baseUrl }}/api/send-message', {
number: '6282146727409',
message: 'Here is the document',
media: {
data: fileData,
mimetype: 'application/pdf',
filename: 'document.pdf'
}
}, {
headers: { 'X-API-Key': '{{ apiKeyValue }}' }
}).then(res => console.log(res.data));
import 'dart:convert';
import 'dart:io';
import 'package:dio/dio.dart';
final dio = Dio();
final bytes = await File('document.pdf').readAsBytes();
final response = await dio.post('{{ baseUrl }}/api/send-message',
data: {
'number': '6282146727409',
'message': 'Here is the document',
'media': {
'data': base64Encode(bytes),
'mimetype': 'application/pdf',
'filename': 'document.pdf'
}
},
options: Options(headers: {'X-API-Key': '{{ apiKeyValue }}'}),
);
print(response.data);
import 'dart:convert';
import 'dart:io';
import 'package:http/http.dart' as http;
final bytes = await File('document.pdf').readAsBytes();
final response = await http.post(
Uri.parse('{{ baseUrl }}/api/send-message'),
headers: {'Content-Type': 'application/json', 'X-API-Key': '{{ apiKeyValue }}'},
body: jsonEncode({
'number': '6282146727409',
'message': 'Here is the document',
'media': {
'data': base64Encode(bytes),
'mimetype': 'application/pdf',
'filename': 'document.pdf'
}
}),
);
print(response.body);
curl -X POST {{ baseUrl }}/api/send-message \
-H "Content-Type: application/json" \
-H "X-API-Key: {{ apiKeyValue }}" \
-d '{
"number": "6282146727409",
"media": { "url": "https://example.com/photo.jpg" }
}'
// Same as above examples, just omit the "message" field. // Only "number" (or "recipients") + "media" is required.
"number" for a single recipient or "recipients" array for multiple."main" as number to send to your configured Main Number ({{ mainNumber }}).+ (e.g. 6282146727409).@g.us (e.g. 120363xxx@g.us)."recipients" array."media": {"url": "..."} to send from a URL, or "media": {"data": "BASE64", "mimetype": "...", "filename": "..."} for base64."message" is optional when sending media â it becomes the caption. You can send media without text."message" or "media" (or both) must be provided.