💬

WhatsApp Automation

Control Center — لوحة التحكم

Health JSON
CONNECTION
—
201012542635 ✓
الاتصال
RISK SCORE
—
درجة الخطر 0-100
CIRCUIT BREAKER
—
القاطع — open = paused
WARM-UP
—
التسخين
SENT TODAY
—
مرسل اليوم

📈 Last 7 days — آخر 7 أيام

Counts from outbox (all statuses) — العدد من الصندوق الصادر

✉️ Send Message — إرسال رسالة Transactional & Marketing

Image (jpg/png) → sent as image, other → document — الصورة ترسل كصورة
Auto-filled, unique per message — يُملأ تلقائياً
Leave empty to send now — اتركه فارغ للإرسال الآن

📱 Accounts & Sessions — الأرقام والجلسات

Loading... — جاري التحميل
Add new number?
Edit .env → ACCOUNTS=2010...,2011... (comma separated) → save → run Start-System.bat again. New pairing code appears here.
عدّل ملف .env وأضف الرقم بعد فاصلة ثم شغّل Start-System.bat.
Sessions stored in sessions/<phone>/ — keep this folder, don't delete manually. Use Reset below for new session — استخدم إعادة الربط لجلسة جديدة.

🛡️ Consent & Opt-out — الموافقة والإلغاء

Why this section? / ليه القسم ده؟
You must register consent before sending — WhatsApp only allows messages to users who agreed. Without consent → auto block. "STOP" = auto opt-out.
لازم تسجل موافقة العميل قبل الإرسال — بدونها واتساب يعمل بلوك. لو العميل قال "STOP/إلغاء" النظام يلغيه أوتوماتيك.

Add consent — تسجيل موافقة جديدة
Opt-out — إلغاء اشتراك

🔌 API — Connect your system — اربط نظامك

Your API Key — مفتاح الـ API (send as header)
loading...
Header name: x-api-key — required from external servers (localhost is exempt) — مطلوب من السيرفرات الخارجية فقط
# Send OTP / invoice / إرسال — from your connected number
curl -X POST http://localhost:3000/api/messages \
 -H "Content-Type: application/json" \
 -H "x-api-key: YOUR_KEY" \
 -d '{"phone":"2010xxxxxxx","text":"OTP 482913","idempotencyKey":"otp-001","type":"transactional","from":"201012542635"}'
If "from" omitted → sends from your first connected number — لو حذفت "from" → يرسل من أول رقم مربوط
# Bulk (max 50) — دفعة رسائل
curl -X POST http://localhost:3000/api/messages/bulk \
 -H "Content-Type: application/json" -H "x-api-key: YOUR_KEY" \
 -d '{"type":"transactional","from":"201012542635","messages":[{"phone":"2010...","text":"Invoice #100"},{"phone":"2011...","text":"Invoice #101"}]}'
# Status of one msg — حالة رسالة
GET http://localhost:3000/api/messages/3

# Recent 20 — آخر الرسائل
GET http://localhost:3000/api/outbox/recent
Rules — القواعد
  • Consent required first — سجل الموافقة أولاً POST /api/consent
  • idempotencyKey = unique per message (no double send) — فريد لكل رسالة
  • Pacing automatic (warm-up gaps) — التوقيت تلقائي حسب خطة التسخين
  • WEBHOOK_URL in .env → delivery events POST to your system — إشعار التسليم لنظامك

👥 Clients — العملاء (Multi-tenant)

You are Admin — أضف عميل جديد وادي له API key + ربط رقمه
1) Add client → 2) Copy his API key → 3) Add his numbers to .env ACCOUNTS → restart → pairing code appears → give him key + docs.
Loading...

📄 CSV Bulk Upload — رفع ملف جماعي Max 50 per batch

Paste CSV: phone,text per line — e.g. 2010xxxxxxx,Hello — or upload .csv file. Consent required for each number.

الصق CSV: كل سطر رقم,نص الرسالة — أو ارفع ملف CSV. لازم الموافقة لكل رقم.

CSV with header optional — first column phone, second text
Paced by warmup automatically — مرسل تلقائي حسب التسخين

📋 Recent Messages — آخر الرسائل (20)

#TypeStatusFromWhenError
Loading...

📥 Inbox — الرسائل الواردة — replies & STOP

FromMessageWhen
Loading...
Auto STOP detection active — replies with STOP/إلغاء are suppressed automatically.
WhatsApp Automation — Runs locally on your PC — يعمل محلياً على جهازك • Keep Start-System.bat running