سجلّ التغييرات
كل تغيير يراه العميل في الواجهة البرمجية أو في لوحة التحكّم، والأحدث أولاً.
سياسة الإصدارات وإيقاف الميزات
الواجهة البرمجية مُرقَّمة داخل الرابط نفسه: كل نقطة نهاية تحت /v1.
التغييرات الإضافية تُنشر دون إشعار مسبق. قد تظهر في أي وقت نقاط نهاية جديدة، أو معاملات طلب اختيارية جديدة، أو حقول جديدة داخل الاستجابات القائمة، أو قيم جديدة ضمن القوائم القائمة، أو رموز أخطاء جديدة لحالات فشل جديدة. لذلك يجب أن يتجاهل تكاملك أي حقل لا يعرفه في الاستجابة بدل أن يتوقف بسببه.
لا يُحذف أي عنصر ولا يتغيّر معناه دون إشعار مدّته 90 يوماً. لن يُحذف أي حقل في الاستجابة، ولا
معامل طلب، ولا نقطة نهاية، ولا رمز خطأ داخل /v1، ولن يُعاد تسميته أو يُعطى معنى جديداً، إلا بعد
نشر إعلان إيقاف مؤرَّخ في هذه الصفحة قبل 90 يوماً على الأقل. ولن يتغيّر معنى أي رمز خطأ قائم.
التغييرات الكاسرة تصدر تحت بادئة إصدار جديدة. إذا تعذّر إجراء التغيير بشكل إضافي فسيصدر تحت
بادئة جديدة، ويبقى /v1 يعمل طوال مدّة الإشعار المعلنة هنا.
2026-08-15 — عميلان رسميّان: PHP و Node
صدرت مكتبتان رسميّتان للتعامل مع الواجهة البرمجية:
composer require whatsdev/whatsdev-php
npm install @whatsdev/sdk
تغطّيان نقاط النهاية التي يستخدمها أي تكامل يومياً، وتصلان إلى البقية عبر دالة request() عامة.
وفي كلٍّ منهما استثناء مُصنَّف لكل رمز خطأ، وإرفاق تلقائي لمفتاح Idempotency-Key مع كل إرسال حتى
لا يُسلَّم انقطاعُ اتصالٍ رسالةً مرّتين، وتصفّح تلقائي للقوائم المُرقَّمة، وإتاحة رؤوس الحصّة
المتبقّية على نتيجة الإرسال، والتحقّق من توقيع الويب هوك بمقارنة ثابتة الزمن. ولا تعتمد أيٌّ منهما
على أي مكتبة تشغيل خارجية، وتُسجِّل حزمة PHP واجهة Laravel تلقائياً عند وجود Laravel.
لم يتغيّر شيء في الواجهة البرمجية نفسها — هاتان مكتبتان للسطح الموثَّق أصلاً.
2026-08 — بياناتك: التصدير والحذف ومدد الاحتفاظ
تصدير نسخة من بياناتك
- جديد في اللوحة. صارت صفحة ملفّك الشخصي تبني أرشيفاً مضغوطاً (zip) للحساب يضمّ: بيانات الحساب
والاشتراك، والمستخدمين، والرسائل، وجهات الاتصال وحقولها المخصّصة، والقوائم، والرسائل المجدولة،
والحملات، والقوالب، والأرقام الموقوفة، والجلسات، ووجهات الـwebhook، والمدفوعات، وبيانات مفاتيح
الـAPI الوصفية، بصيغة ملفّات CSV ومعها ملفّ
manifest.jsonيذكر كل فئة استُثنيت من الأرشيف وسبب استثنائها. - ولا يحمل الأرشيف أي بيانات اعتماد: مفتاح الـAPI لا يوجد إلا كبصمة غير قابلة للعكس، ولا تُصدَّر إطلاقاً أسرار توقيع الـwebhook ولا بيانات اعتماد وسيط الجلسة ولا بصمات كلمات المرور.
- أرشيف واحد كل 24 ساعة. نُشعرك حين يصبح جاهزاً، ولا يُنزّله إلا مستخدم مسجَّل الدخول في الحساب نفسه ولا يتاح عبر رابط عام، ويُحذف بعد 7 أيام من إنشائه.
حذف حسابك
- جديد في اللوحة. صار بإمكانك إغلاق الحساب بنفسك من الصفحة نفسها.
- وبمجرّد تأكيدك ينتهي الوصول: تُلغى كل مفاتيح الـAPI، وتُفصل كل أرقام واتساب وتُعاد، وتُلغى كل رسالة مجدولة قيد الانتظار وكل حملة جارية. ولا يعود شيء من ذلك إن عدلت عن رأيك.
- أمّا كل ما عدا ذلك ممّا يحمله الحساب، بما فيه الملفّات المخزّنة، فيُمحى نهائياً بعد 14 يوماً. ويمكنك حتى تلك اللحظة إلغاء الطلب من اللوحة فيعود الحساب للعمل.
- وتبقى السجلات المالية محفوظة بصورة مجهولة الهوية للأغراض المحاسبية: تُفصل عن الحساب وتُزال منها الحقول التي قد تدلّ عليه، فلا يمكن ردّها إليه بعد ذلك.
مدّة الاحتفاظ في بيئة الاختبار
- تُحذف جلسات الاختبار بعد تجاوزها مدّة الاحتفاظ الخاصة ببيئة الاختبار، وتُحذف معها الرسائل التابعة لها. فهو حدّ على عمر الجلسة لا حدّ عام على عمر بيانات بيئة الاختبار: الجلسة التجريبية التي تُبقيها حيّة تحتفظ برسائلها.
2026-08 — بيئة الاختبار (Sandbox) والترقيم بالمؤشّر
بيئة الاختبار (Sandbox)
- تُصدر للحسابات الجديدة مفتاح API تجريبي عند التسجيل. المفتاح التجريبي لا يحتاج اشتراكاً فعّالاً، وله حدّ معدّل طلبات خاص به مستقل عن حدّ باقتك.
- جلسات الاختبار تعمل مقابل واتساب محاكى: تتّصل من تلقاء نفسها، ولا تستهلك من عدد الجلسات المسموح به في باقتك، ولا ترتبط بحساب واتساب حقيقي إطلاقاً.
- الإرسال بمفتاح تجريبي يمرّ عبر نقطة نهاية الإرسال المعتادة ويعيد الاستجابة المعتادة، لكنه لا يصل إلى واتساب ولا يُحتسب من حصّة الرسائل في باقتك، ويخضع بدلاً من ذلك لحدّ يومي خاص ببيئة الاختبار.
- نقطة نهاية جديدة:
POST /v1/sandbox/inboundتحقن رسالة واردة محاكاة عبر المسار نفسه الذي تسلكه الرسالة الحقيقية، فتختبر مستقبِل الـwebhook لديك وتحقّق التوقيع والردود التلقائية من طرف إلى طرف دون أن تطلب من أحد مراسلتك. - الفصل بين التجريبي والحقيقي قائم في الاتجاهين: يُرفض المفتاح التجريبي على جلسة حقيقية، ويُرفض
المفتاح الحقيقي على جلسة اختبار، ولا يعيد
GET /v1/sessionsإلا الجلسات المطابقة لوضع المفتاح المستخدم. - طلب الإيقاف المحاكى («إيقاف») يُكتشف ويُردّ عليه برسالة التأكيد نفسها، وتمرّ عبر النقل المحاكى
فلا تصل إلى أحد. الفارق الوحيد أنّه لا يُكتب في قائمة الإيقاف الحقيقية: القائمة على مستوى
الحساب لا الجلسة، فلا يجوز لإيقاف محاكى أن يمنع رقماً حقيقياً من إرسالك الفعلي. وللسبب نفسه لا
يستطيع المفتاح التجريبي التعديل على القائمة (
POSTوDELETE /v1/suppressions)، مع بقاء قراءتها متاحة له. - الـwebhook المُنشأ بمفتاح تجريبي يجب أن يكون مقيّداً بجلسة اختبار، أي أنّ
whatsapp_session_idمطلوب معه: الـwebhook بلا جلسة يشمل الحساب كلّه ويستقبل أحداث جلساتك الحقيقية بنصوصها وأرقامها، وهذا ما لا يجوز أن يصل إليه مفتاح تجريبي. - تُحذف جلسات الاختبار — ومعها الرسائل التابعة لها — بعد تجاوزها مدّة الاحتفاظ الخاصة ببيئة الاختبار. ولا تمسّ هذه العملية أي شيء خارج بيئة الاختبار.
الترقيم بالمؤشّر (Cursor)
- صار
?cursor=مقبولاً في قوائم: رسائل الجلسة، والرسائل المجدولة، وجهات الاتصال، وعمليات الإرسال الجماعي، ومستلمي الإرسال الجماعي، وعمليات تسليم الـwebhook. - استخدامه اختياري وإضافي. إن لم تُرسل
cursorبقي الترقيم بالصفحات كما هو تماماً: الترتيب نفسه، وmetaنفسها، والروابط نفسها. - الغاية منه ثبات التصفّح لا السرعة: التنقّل بين الصفحات برقم الصفحة بينما تصل صفوف جديدة يكرّر بعض الصفوف ويتخطّى بعضها، أمّا التنقّل بالمؤشّر فلا.
- في وضع المؤشّر تحمل الاستجابة
meta.next_cursorوmeta.prev_cursorبدلmeta.totalوmeta.current_pageوmeta.last_pageوmeta.fromوmeta.to، ويكونlinks.firstوlinks.lastفارغَين. اتبعlinks.nextفهو يحافظ على ما أرسلته من عوامل تصفية وقيمةper_page.
لوحة التحكّم
- تُخفي قائمة الرسائل رسائل بيئة الاختبار افتراضياً، وتوفّر عامل تصفية لإظهارها، حتى لا تزحم رسائل التجربة صندوق الرسائل الحقيقي.