غير متصل
1

ربط رقم واتساب

أدخل اسمًا للجلسة ثم امسح رمز QR من تطبيق واتساب

2

إرسال رسالة

أرسل رسالة واتساب لأي رقم في العالم

0/4096
⚠️ يُنصح بالحد الأدنى 3 ثوانٍ لتجنب الحظر

API & Webhook

اربط موقعك مع واتساب واستخدم الـ API لإرسال رسائل تلقائية

🔑 مفتاح API

••••••••••••••••••••••
⚠️ لا تشارك مفتاح الـ API مع أي شخص. يمكنك تغييره من ملف .env

🌐 عنوان الخادم (Base URL)

📡 نقاط النهاية (Endpoints)

POST /webhook/send إرسال رسالة

إرسال رسالة واتساب لأي رقم. مثالية لإشعارات الموقع.

cURL
curl -X POST http://localhost:3000/webhook/send \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "phone": "5XXXXXXXX",
    "message": "مرحبا من موقعي!",
    "countryCode": "966"
  }'
PHP
<?php
$ch = curl_init('http://localhost:3000/webhook/send');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: YOUR_API_KEY'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'phone' => '5XXXXXXXX',
        'message' => 'مرحبا من موقعي!',
        'countryCode' => '966'
    ])
]);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
?>
JavaScript (Fetch)
const response = await fetch('http://localhost:3000/webhook/send', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json',
        'X-API-Key': 'YOUR_API_KEY'
    },
    body: JSON.stringify({
        phone: '5XXXXXXXX',
        message: 'مرحبا من موقعي!',
        countryCode: '966'
    })
});
const result = await response.json();
POST /webhook/send-verification إرسال كود تحقق

إرسال كود تحقق (OTP) للتسجيل أو تسجيل الدخول. يُولّد الكود تلقائيًا ويُرسل عبر واتساب.

الحقلالنوعالوصف
phonestringرقم الهاتف (مطلوب)
countryCodestringكود الدولة (افتراضي: 966)
codeLengthnumberطول الكود (افتراضي: 6)
expiresInnumberمدة الصلاحية بالثواني (افتراضي: 300)
appNamestringاسم التطبيق في الرسالة
templatestringقالب مخصص (استخدم {code} و {app} و {expiry})
PHP - إرسال كود التحقق
<?php
// ===== الخطوة 1: إرسال كود التحقق =====
function sendVerificationCode($phone) {
    $ch = curl_init('http://localhost:3000/webhook/send-verification');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'X-API-Key: YOUR_API_KEY'
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'phone' => $phone,
            'countryCode' => '966',
            'codeLength' => 6,
            'expiresIn' => 300,
            'appName' => 'موقعي'
        ])
    ]);
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}

// ===== الخطوة 2: التحقق من الكود =====
function verifyCode($verificationId, $code) {
    $ch = curl_init('http://localhost:3000/webhook/verify-code');
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            'Content-Type: application/json',
            'X-API-Key: YOUR_API_KEY'
        ],
        CURLOPT_POSTFIELDS => json_encode([
            'verificationId' => $verificationId,
            'code' => $code
        ])
    ]);
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}

// ===== الاستخدام =====
// عند التسجيل: إرسال الكود
$result = sendVerificationCode('5XXXXXXXX');
$verificationId = $result['verificationId'];
// خزن $verificationId في الجلسة

// عند إدخال المستخدم للكود
$verify = verifyCode($verificationId, $_POST['code']);
if ($verify['verified']) {
    echo "تم التحقق بنجاح! ✅";
}
?>
POST /webhook/verify-code التحقق من الكود

التحقق من صحة كود التحقق المُدخل من المستخدم.

Request Body
{
    "verificationId": "uuid-from-send-verification",
    "code": "123456"
}
Response (Success)
{
    "success": true,
    "verified": true,
    "phone": "9665XXXXXXXX",
    "message": "تم التحقق بنجاح ✅"
}
POST /webhook/send-template إرسال من قالب

إرسال رسالة من قوالب مُعدّة مسبقًا (ترحيب، تأكيد طلب، إلخ).

القالبالوصفالمتغيرات
welcomeرسالة ترحيبname, app
order_confirmتأكيد طلبname, orderId, amount, app
password_resetإعادة كلمة المرورcode, app
appointmentتذكير موعدname, date, time, app
shippingتحديث شحنorderId, status, trackingId, app
invoiceفاتورةname, invoiceId, amount, dueDate, app
login_alertتنبيه تسجيل دخولlocation, device, time, app
PHP
<?php
$ch = curl_init('http://localhost:3000/webhook/send-template');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: YOUR_API_KEY'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'phone' => '5XXXXXXXX',
        'countryCode' => '966',
        'templateName' => 'order_confirm',
        'variables' => [
            'name' => 'أحمد',
            'orderId' => '#12345',
            'amount' => '150 ريال',
            'app' => 'متجري'
        ]
    ])
]);
$response = curl_exec($ch);
curl_close($ch);
?>
POST /webhook/send-bulk إرسال جماعي

إرسال نفس الرسالة لمجموعة أرقام دفعة واحدة.

Request Body
{
    "phones": ["5XXXXXXX1", "5XXXXXXX2", "5XXXXXXX3"],
    "message": "عرض خاص لكم!",
    "countryCode": "966"
}
GET /webhook/status حالة الاتصال

التحقق من حالة اتصال واتساب وحدود الإرسال.

Response
{
    "success": true,
    "connected": true,
    "status": "connected",
    "info": {
        "pushname": "اسم المستخدم",
        "phone": "9665XXXXXXXX"
    },
    "rateLimit": {
        "hourly": { "used": 5, "max": 100, "remaining": 95 },
        "daily": { "used": 12, "max": 500, "remaining": 488 }
    }
}

🧪 اختبار الـ API

سجل الرسائل

لا توجد رسائل بعد

ستظهر الرسائل المرسلة هنا