دليل ربط وتكامل واجهة برمجة التطبيقات (API)

توثيق شامل لإرسال رسائل الواتساب وأكواد التحقق OTP عبر الـ API مع نظام الحماية ضد الحظر

العودة للوحة التحكم
إعدادات الاتصال الرئيسية (Endpoints)
رابط إرسال الرسائل (Send URL) https://www.apiwa.cloud/api.php?action=send
طريقة الطلب (HTTP Method) POST
صيغة البيانات (Content-Type) application/json
المصادقة (Authentication) يمكن إرسال مفتاح الـ API عبر إحدى الطرق الآتية:
  • عبر Header: X-API-KEY: your_api_key
  • عبر Bearer Token: Authorization: Bearer your_api_key
  • أو داخل الـ JSON Body: "api_key": "your_api_key"
فحص صحة الخادم (Health Check) https://www.apiwa.cloud/api.php?action=health (GET)
حالة الجلسة (Session Status) https://www.apiwa.cloud/api.php?action=status&session_id=01150200745 (GET)
أنواع صلاحيات مفاتيح الـ API (Key Permissions)
otp_only (إرسال OTP فقط)

المفتاح مصرح له فقط بإرسال طلبات التحقق ورموز OTP. إذا حاول المستخدم إرسال نصوص تسويقية أو رسائل عشوائية، يرفض السيرفر الطلب فوراً برمز (403 Forbidden) لحماية الرقم من الحظر.

send_any (إرسال أي رسالة)

يسمح للمفتاح بإرسال أي نوع من الرسائل (رسائل مخصصة، إشعارات، تنبيهات، أو أكواد OTP).

full (صلاحية كاملة)

صلاحية شاملة للإرسال وفحص صحة الخادم وإدارة الجلسات عبر الـ API.

ربط المفاتيح بالنطاقات المسموحة (Domain & Host Restriction)

ميزة أمنية فائقة تتيح لك قفل مفتاح الـ API بحيث لا يعمل إلا إذا كان الطلب قادماً من مواقع أو سيرفرات معينة (مثل: myshop.com, portal.company.com). إذا تم تسريب المفتاح أو اعتراضه، فلن يتمكن أي طرف ثالث من استخدامه من أي موقع أو سيرفر خارجي.

1. صيغة OTP الذهبية
موصى بها (مقاومة للحظر 99%)
إرسال كود التحقق فقط مع قالب رسمي ذكي ورقم مرجعي تلقائي.
2. إرسال رسالة مخصصة
Custom Text
إرسال نصوص حرة، إشعارات شحن وتأكيد طلبات مع حماية auto_ref.
مواصفات طلب OTP (Golden Format)
قالب ذكي تلقائي
الـ JSON المطلوب (Request Body):
{
  "phone": "01550505965",
  "otp_code": "864709",
  "app_name": "متجري الإلكتروني",
  "expiry_minutes": 5,
  "session_id": "201150200745"
}
شكل الرسالة المستلمة على هاتف العميل:
منصة متجري الإلكتروني 🔐

رمز التحقق الخاص بك هو: *864709*
صالح لمدة 5 دقائق.

⚠️ لا تشارك هذا الرمز مع أي شخص.
إذا لم تطلب هذا الرمز، يمكنك تجاهل هذه الرسالة بأمان.

الرقم المرجعي: #8A2F
مواصفات طلب الرسالة المخصصة (Custom Message)
نص حر مع حماية auto_ref
الـ JSON المطلوب (Request Body):
{
  "phone": "01550505965",
  "message": "مرحباً يا محمد، تم تأكيد طلبك رقم #4928 وجاري التجهيز والشحن 🚚",
  "auto_ref": true,
  "session_id": "201150200745"
}
نموذج الاستجابة الناجحة (Response 200 OK):
{
  "success": true,
  "message": "Message sent successfully",
  "sessionId": "201150200745",
  "recipient": "201550505965@s.whatsapp.net",
  "messageId": "3EB0B7A9221CC17209C2A4B"
}
نماذج الأكواد البرمجية الجاهزة للتكامل

يتم تحديث الشفرات أدناه تلقائياً حسب الخيار المحدد بالأعلى (OTP أو رسالة مخصصة):

الكود الحالي: صيغة OTP الذهبية
<?php
function sendWhatsAppOTP($phone, $otpCode, $appName = 'متجري') {
    $apiUrl = 'https://www.apiwa.cloud/api.php?action=send';
    $apiKey = 'unik_wa_secret_api_key_2026';

    $payload = json_encode([
        'phone'          => $phone,
        'otp_code'       => $otpCode,
        'app_name'       => $appName,
        'expiry_minutes' => 5
    ]);

    $ch = curl_init($apiUrl);
    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: ' . $apiKey
    ]);
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

// مثال للاستخدام:
$result = sendWhatsAppOTP('01550505965', '864709', 'متجر السعادة');
print_r($result);
?>
<?php
function sendWhatsAppMessage($phone, $message, $autoRef = true) {
    $apiUrl = 'https://www.apiwa.cloud/api.php?action=send';
    $apiKey = 'unik_wa_secret_api_key_2026';

    $payload = json_encode([
        'phone'    => $phone,
        'message'  => $message,
        'auto_ref' => $autoRef
    ]);

    $ch = curl_init($apiUrl);
    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: ' . $apiKey
    ]);
    curl_setopt($ch, CURLOPT_TIMEOUT, 15);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

// مثال للاستخدام:
$msg = "مرحباً يا محمد، تم تأكيد طلبك رقم #4928 وجاري التجهيز والشحن 🚚";
$result = sendWhatsAppMessage('01550505965', $msg, true);
print_r($result);
?>
// استخدام Fetch في Node.js 18+ أو المتصفح
async function sendWhatsAppOTP(phone, otpCode, appName = 'متجري') {
    const response = await fetch('https://www.apiwa.cloud/api.php?action=send', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'X-API-KEY': 'unik_wa_secret_api_key_2026'
        },
        body: JSON.stringify({
            phone: phone,
            otp_code: otpCode,
            app_name: appName,
            expiry_minutes: 5
        })
    });
    return await response.json();
}

// مثال للاستخدام:
sendWhatsAppOTP('01550505965', '864709', 'تطبيقي الذكي')
    .then(data => console.log('Response:', data))
    .catch(err => console.error('Error:', err));
// استخدام Fetch في Node.js 18+ أو المتصفح
async function sendWhatsAppMessage(phone, message, autoRef = true) {
    const response = await fetch('https://www.apiwa.cloud/api.php?action=send', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'X-API-KEY': 'unik_wa_secret_api_key_2026'
        },
        body: JSON.stringify({
            phone: phone,
            message: message,
            auto_ref: autoRef
        })
    });
    return await response.json();
}

// مثال للاستخدام:
const msg = "مرحباً يا محمد، تم تأكيد طلبك رقم #4928 وجاري التجهيز والشحن 🚚";
sendWhatsAppMessage('01550505965', msg, true)
    .then(data => console.log('Response:', data))
    .catch(err => console.error('Error:', err));
import requests

def send_whatsapp_otp(phone, otp_code, app_name="متجري"):
    url = "https://www.apiwa.cloud/api.php?action=send"
    headers = {
        "Content-Type": "application/json",
        "X-API-KEY": "unik_wa_secret_api_key_2026"
    }
    payload = {
        "phone": phone,
        "otp_code": otp_code,
        "app_name": app_name,
        "expiry_minutes": 5
    }
    
    response = requests.post(url, json=payload, headers=headers, timeout=15)
    return response.json()

# مثال للاستخدام:
res = send_whatsapp_otp("01550505965", "864709", "منصة الدفع")
print(res)
import requests

def send_whatsapp_message(phone, message, auto_ref=True):
    url = "https://www.apiwa.cloud/api.php?action=send"
    headers = {
        "Content-Type": "application/json",
        "X-API-KEY": "unik_wa_secret_api_key_2026"
    }
    payload = {
        "phone": phone,
        "message": message,
        "auto_ref": auto_ref
    }
    
    response = requests.post(url, json=payload, headers=headers, timeout=15)
    return response.json()

# مثال للاستخدام:
msg = "مرحباً يا محمد، تم تأكيد طلبك رقم #4928 وجاري التجهيز والشحن 🚚"
res = send_whatsapp_message("01550505965", msg, auto_ref=True)
print(res)
# إرسال كود OTP عبر cURL في Terminal:
curl -X POST "https://www.apiwa.cloud/api.php?action=send" \
     -H "Content-Type: application/json" \
     -H "X-API-KEY: unik_wa_secret_api_key_2026" \
     -d '{
       "phone": "01550505965",
       "otp_code": "864709",
       "app_name": "متجري",
       "expiry_minutes": 5
     }'
# إرسال رسالة مخصصة عبر cURL في Terminal:
curl -X POST "https://www.apiwa.cloud/api.php?action=send" \
     -H "Content-Type: application/json" \
     -H "X-API-KEY: unik_wa_secret_api_key_2026" \
     -d '{
       "phone": "01550505965",
       "message": "مرحباً يا محمد، تم تأكيد طلبك رقم #4928 وجاري التجهيز والشحن 🚚",
       "auto_ref": true
     }'