ابنِ مع واجهة واتساب
ادمج مراسلة واتساب في تطبيقاتك عبر واجهتنا RESTful.
البدء
1 احصل على مفتاح API
ولّد مفتاح API من لوحة البوابة الخاصة بك: /my/whatsapp/api-keys
2 اضبط ترويسة Authorization
Authorization: Bearer YOUR_API_KEY
3 أرسل أول طلب
curl -X POST https://www.procomrades.com/api/v1/wa/send/text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "+1234567890", "text": "Hello from the API!"}'
نطاقات API
| النطاق | الوصف |
|---|---|
messages |
إرسال واستقبال رسائل واتساب (نص، وسائط، قوالب) |
conversations |
قراءة المحادثات وإسنادها وإغلاقها |
contacts |
إدارة قوائم جهات اتصال واتساب وسماتها |
templates |
إنشاء وتحديث وحذف قوالب الرسائل |
campaigns |
إطلاق ومتابعة حملات الرسائل الجماعية |
مرجع API
Messages
Conversations
Contacts
Templates
Campaigns
Usage
Webhooks
أمثلة برمجية
أرسل رسالة نصية باللغة التي تفضّلها
curl -X POST https://www.procomrades.com/api/v1/wa/send/text \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phone": "+1234567890", "text": "Hello from our API!"}'
import requests
response = requests.post(
"https://www.procomrades.com/api/v1/wa/send/text",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"phone": "+1234567890",
"text": "Hello from our API!",
},
)
print(response.json())
const response = await fetch("https://www.procomrades.com/api/v1/wa/send/text", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
phone: "+1234567890",
text: "Hello from our API!",
}),
});
const data = await response.json();
console.log(data);
$ch = curl_init("https://www.procomrades.com/api/v1/wa/send/text");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"phone" => "+1234567890",
"text" => "Hello from our API!",
]),
]);
$response = curl_exec($ch);
echo $response;
رموز الأخطاء
| رمز الحالة | خطأ | الوصف |
|---|---|---|
| 400 | طلب غير صالح | محتوى الطلب غير صالح أو تنقصه حقول مطلوبة. تحقق من بيانات JSON وتأكد من توفير كل المعاملات المطلوبة. |
| 401 | غير مصرّح | مفتاح API مفقود أو غير صالح أو تم إلغاؤه. تحقق من أن ترويسة Authorization تحتوي على رمز Bearer صالح. |
| 403 | النطاق غير كافٍ | مفتاح API لديك لا يملك النطاق المطلوب لنقطة النهاية هذه. راجع النطاقات المطلوبة وحدّث صلاحيات مفتاحك. |
| 404 | غير موجود | المورد المطلوب غير موجود. تحقق من رابط نقطة النهاية ومعرّفات الموارد في المسار. |
| 429 | تم تجاوز حد المعدل / الحصة | لقد تجاوزت حد المعدل في الدقيقة أو حصتك الشهرية من استدعاءات API. انتظر قبل إعادة المحاولة أو ارفع باقتك لحدود أعلى. |
| 500 | خطأ داخلي في الخادم | حدث خطأ غير متوقع في الخادم. إن استمرت المشكلة، تواصل مع الدعم مع معرّف الطلب من ترويسات الاستجابة. |
تحديد المعدل
لضمان الاستخدام العادل واستقرار المنصة، تخضع كل مفاتيح API لتحديد المعدل:
- الافتراضي لكل مفتاح:
100 طلب في الدقيقة. الطلبات التي تتجاوز هذا الحد ستُدرج في قائمة انتظار أو تُرفض. - الحصة الشهرية من استدعاءات API: تتضمن كل باقة اشتراك حصة شهرية من استدعاءات API. عند استنفادها، تُرفض كل الاستدعاءات حتى دورة الفوترة التالية أو حتى ترفع باقتك.
- استجابة HTTP 429: عند تجاوز حد المعدل في الدقيقة أو الحصة الشهرية، تُرجع الواجهة حالة
429 Too Many Requests. وتتضمن الاستجابة ترويسةRetry-Afterتبيّن عدد الثواني قبل إعادة المحاولة.
HTTP/1.1 429 Too Many Requests
Retry-After: 30
Content-Type: application/json
{
"error": "rate_limit_exceeded",
"message": "Too many requests. Please retry after 30 seconds.",
"retry_after": 30
}
Webhooks
استقبل إشعارات فورية عند وقوع أحداث على حساب واتساب لديك من خلال تسجيل نقاط نهاية Webhook.
التسجيل
سجّل رابط Webhook عبر واجهة API:
POST /api/v1/wa/webhooks
{
"url": "https://your-server.com/webhook",
"events": ["message.received", "message.status"],
"secret": "your_webhook_secret"
}
الأحداث المدعومة
| الحدث | الوصف |
|---|---|
message.received |
يُطلق عند استلام رسالة واردة جديدة من جهة اتصال |
message.status |
يُطلق عند تغيّر حالة الرسالة (أُرسلت، سُلّمت، قُرئت، فشلت) |
conversation.assigned |
يُطلق عند إسناد المحادثة إلى موظف أو فريق |
conversation.resolved |
يُطلق عند وضع علامة إغلاق على المحادثة |
التحقق من توقيع HMAC-SHA256
يتضمن كل طلب Webhook ترويسة X-WA-Signature تحتوي على
بصمة HMAC-SHA256 لمحتوى الطلب، موقّعة بسر Webhook الخاص بك.
تحقق دائمًا من هذا التوقيع قبل معالجة البيانات.
import hmac
import hashlib
def verify_signature(payload_body, signature, secret):
"""Verify the X-WA-Signature header."""
expected = hmac.new(
secret.encode("utf-8"),
payload_body,
hashlib.sha256,
).hexdigest()
return hmac.compare_digest(expected, signature)
صيغة البيانات
{
"event": "message.received",
"timestamp": "2026-03-26T12:00:00Z",
"data": {
"message_id": "wamid.HBgN...",
"from": "+1234567890",
"type": "text",
"text": "Hi, I need help with my order.",
"conversation_id": 42
}
}