المرجع
سجل التغييرات
التغييرات الكاسرة والملحوظة على واجهة v3. نتبع semver (يفتح في علامة تبويب جديدة) — تُشحن التغييرات الإضافية (معاملات اختيارية جديدة، وإجراءات جديدة، وحقول جديدة في الاستجابات) ضمن إصدار رئيسي واحد؛ أما التغييرات الكاسرة فتذهب في إصدار رئيسي جديد.
- الأحدث
v3.2: نظام طلبات جديد: قائمة أخطاء واحدة، وتغذية تدريجية أبسط، وإلغاء وإعادة تعبئة أوضح
كل ما يلي يصدر معًا تحت الترويسة
X-NotPanel-API-Version: 2026-10. كل إجراء سابق يواصل العمل، وتتصرف العناوين /api/v1 و/api/v2 و/api/v3 بالطريقة نفسها.- لكل طلب رقم واحد يعمل في لوحة التحكم وفي الدعم وفي API. تحتفظ طلبات API بأرقامها القديمة.
- التغذية التدريجية: ما زال
runsمعintervalيعمل. تأخذ الصيغة البسيطة الجديدةquantityالإجمالية وdrip_feed_total_minutes، حتى 48 ساعة. - الإلغاء فوري مع استرداد كامل خلال أول 15 ثانية. بعد ذلك يمكنك طلب الإلغاء حيث تدعم الخدمة ذلك، مع استرداد تلقائي. يعيد
orderكائنًا واحدًا كما كان من قبل؛ ويعيدordersمصفوفة. - تعمل إعادة التعبئة مرة كل 6 ساعة لكل طلب، دون تاريخ انتهاء ومع سبب واضح عند الرفض.
- تفاعلات Telegram حقل
reactionsواحد، إما كمزيج (👍,❤️,🔥) أو بأعداد دقيقة (👍:60,❤️:40)، ويُفحص قبل أن يُخصم منك أي مبلغ. - تعرض قائمة الخدمات الوسوم والحقول الإضافية مع حدودها وحدود التغذية التدريجية والتوفر. أصبح
cancel: trueيعني أن طلبات الإلغاء تعمل فعلًا. - لكل خطأ رمز ثابت وحالة HTTP وعلامة retryable. الرموز السابقة والحالية مدرجة أدناه.
order_detailsجديد، ويمكنه أيضًا العثور على طلب عبرrequest_idالخاص بك.- يتضمن
statusالاسترداد: في الطلب الملغى أو الجزئي تكونrefundهي المبلغ المسترد، فلا حاجة إلى استدعاء منفصل.refund_quoteاسم سابق يعيد الردّ نفسه الذي يعيدهstatus. - أصبحت الـ webhooks نظامًا واحدًا: حدث موقّع واحد لكل استدعاء، ذو نسخة، مع أحداث جديدة للطلبات الملغاة والجزئية ولنتائج إعادة التعبئة.
- أُزيل: أجسام webhook المجمّعة، ومعامل
coupon، ومن status حقولrefund_pendingوحقلا سياسة الاسترداد. لم يعد المعامل القديمdelayيُقرأ؛ استخدمdrip_feed_total_minutes. - أُضيف:
can_cancelفي status وinstant_cancel_untilفي ردّadd. يبقىcancel_availableالسابق في كليهما، ويبقىcancel_window_secondsوcancel_beforeفي ردّadd. - أُبقي: يواصل الإجراءان
catalogوaccount_statusالعمل كما كانا، وصارcatalogموثقًا في عرض الخدمات. ما زالت أسماء المعاملات السابقة تعمل:refererوlpost_countوhashtagلقوائم الوسوم وusernamesالمفصولة بفواصل وخريطة التفاعلات السابقة. ويقبلwebhook.addأيضًا اسمي الحدثينorder.refundedوorder.refill_completed. - تواصل
/api/v1و/api/v2و/api/v3العمل وتتصرف بالطريقة نفسها. الموثَّق هو/api/v3. - الطلب المكتمل يعرض دائمًا
remainsبالقيمة 0.
v3.1: أسماء خدمات طبيعية لكل سوق
تقبل إجراءات services وcatalog الآن رمز لغة اختياريًا لأسماء خدمات مُراجعة باستخدام مصطلحات سوقية منتقاة بعشر لغات. تضيف الطلبات الصريحة بيانات الاسم الأساسي واللغة الفعلية، وتعود بأمان إلى الإنجليزية إذا كانت الترجمة مفقودة أو قديمة. من دون language تبقى بنية الاستجابة القديمة بالإنجليزية دون تغيير. يمكن للمشرفين مراجعة كل اسم أو تحسينه.
v3.0: أصبح v3 واجهة API الافتراضية
أصبح /api/v3 نقطة النهاية الأساسية وبديلًا مباشرًا لعنوان URL لعقد إعادة البيع المألوف. يضيف v3 مفاتيح دقيقة اختيارية، وحماية قديمة لمدة 60 ثانية، وكتالوجًا متقدمًا، ومعرّفات رقمية، وrefund_quote، وaccount_status، وإلغاءً فرديًا أو جماعيًا بالتتابع، وويب هوك موقّعًا. تعتمد سعة API الآن على مستوى lifetime successful spend ونافذة متحركة واحدة مدتها 60 ثانية تشترك فيها جميع مفاتيح الحساب. /api/v1 و/api/v2 اسمان مستعاران مطابقان للعقد الحالي.
v2.5: كتالوج متقدم ومطابقة الاسترداد والإلغاء
أُضيف إجراء catalog المقسّم إلى صفحات وإجراء refund_quote للقراءة فقط، ووُسّعت بيانات add وstatus الوصفية، وأُتيحت نافذة إلغاء مدتها 15 ثانية للطلبات العادية عبر API. تحمل أحداث خطاف الويب في API الآن id ثابتًا للحدث، بينما يبقى deliveryId ثابتًا عبر إعادة محاولات الدفعة نفسها؛ وتحصل كل إعادة محاولة على طابع زمني وتوقيع جديدين. يظل تسليم خطافات الويب وفق أفضل جهد مع إعادة المحاولات، دون ضمان دائم للتسليم مرة واحدة على الأقل.
v2.4: 12 منصّة وسائط جديدة في الكتالوج
أُضيفت خدمات لـ Google وRumble وAudiomack وTumblr وKwai وClubhouse وVimeo وDeezer وTidal وApple Music وQuora وGitHub. تظهر في إجراء services كأي خدمة أخرى، ولكلٍّ منها صفحة منصّة علنية مخصّصة. لا حاجة إلى أي تغييرات من جانب العميل — إذ تظهر معرّفات الخدمات الجديدة في الكتالوج ببساطة.
v2.3: فرض توفر الخدمة عند الإضافة
ترفض الخدمات غير المتاحة action=add بدل قبول طلب جديد أو وضعه في الطابور بصمت. حدّث الكتالوج واختر خدمة متاحة قبل إعادة المحاولة.
v2.2: معاملات طلب اختيارية
يقبل الإجراء add الآن حقولًا اختيارية مدعومة خاصة بنوع الخدمة، مثل تأخير البدء وخيارات التفاعل حسب النوع. تحافظ الحقول التي يحددها نوع الخدمة أصلًا على معناها الموثق.
v2.1: معاملات التغذية التدريجية عند تقديم الطلب
يقبل الإجراء add الحقلين runs وinterval معًا للخدمات التي لديها dripfeed=true. إجمالي التسليم هو quantity × runs ولا يجوز أن يتجاوز الحد الأقصى للخدمة. ترفض الخدمات التي لا تدعم drip-feed هذين الحقلين.
v2.0: الإطلاق العام لواجهة v2
أُطلقت API إجراءات v2 بترميز النماذج مع ضوابط للمعدل وwebhooks موقعة بأفضل جهد مع إعادة المحاولة وإنشاء طلبات متكرر آمن. عناوين v1 وv2 الحالية هي أسماء بديلة لعقد v3 وتستخدم حد الحساب المشترك الموثق.
الانتقال من الإصدارات السابقة
تغيّرت رموز الأخطاء وأسماء أحداث webhook. استخدم هذه القوائم مرة واحدة عند تحديث شيفرتك.
رموز الأخطاء
كانت الردود السابقة تستخدم الرموز على اليمين. يستخدم الإصدار 3.2 قائمة مغلقة معروضة في الأخطاء. يبيّن العمود الأخير كيف تقابلت.
| السابق | الآن | كيف تغيّر |
|---|---|---|
| INVALID_ACTION | INVALID_ACTION | الرمز نفسه. |
| MISSING_SERVICE, MISSING_LINK, MISSING_QUANTITY, MISSING_ORDER, MISSING_ORDER_PARAMETER, MISSING_REFILL, MISSING_WEBHOOK_URL, MISSING_WEBHOOK_ID, NO_ORDER_IDS, NO_REFILL_IDS, NO_WEBHOOK_EVENTS, MISSING_CUSTOM_FIELD | MISSING_PARAMETER | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| INVALID_SERVICE_ID, INVALID_QUANTITY, LINK_TOO_LONG, IDEMPOTENCY_EMPTY, IDEMPOTENCY_EMPTY_REQUEST, IDEMPOTENCY_TOO_LONG, IDEMPOTENCY_TOO_LONG_REQUEST, INVALID_LANGUAGE, INVALID_WEBHOOK_EVENT | INVALID_PARAMETER | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| INVALID_LINK_URL | INVALID_LINK, LINK_BLOCKED | صار رمز سابق واحد عدة رموز، كل منها أكثر تحديدًا. |
| INVALID_CUSTOM_FIELD | INVALID_OPTION | الرمز نفسه. |
| RUNS_INVALID, RUNS_TOO_HIGH, INTERVAL_INVALID, INTERVAL_TOO_HIGH | DRIP_FEED_INVALID | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| REQUEST_ID_CONFLICT | REQUEST_ID_CONFLICT | الرمز نفسه. |
| SERVICE_NOT_FOUND, ADD_SERVICE_NOT_FOUND, WRONG_SERVICE_TYPE | SERVICE_NOT_FOUND | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| SERVICE_NOT_ACTIVE | SERVICE_PAUSED | الرمز نفسه. |
| SERVICE_DISCONTINUED, REFILL_SERVICE_DISCONTINUED | SERVICE_DISCONTINUED | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| INSUFFICIENT_BALANCE | INSUFFICIENT_BALANCE | الرمز نفسه. |
| ORDER_NOT_FOUND, STATUS_ORDER_NOT_FOUND, REFUND_ORDER_NOT_FOUND, REFILL_ORDER_NOT_FOUND | ORDER_NOT_FOUND | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| ORDER_ALREADY_COMPLETED, ORDER_ALREADY_REFUNDED | ORDER_FINISHED | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| ORDER_NOT_CANCELLABLE | CANCEL_NOT_AVAILABLE, ORDER_FINISHED | صار رمز سابق واحد عدة رموز، كل منها أكثر تحديدًا. |
| TOO_MANY_ORDERS, TOO_MANY_REFILLS | TOO_MANY_IDS | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| INACTIVE_ACCOUNT, ACCOUNT_NOT_FOUND, ACCOUNT_ERROR | INACTIVE_ACCOUNT, EMAIL_UNVERIFIED | صار رمز سابق واحد عدة رموز، كل منها أكثر تحديدًا. |
| API_RATE_LIMITED, IP_RATE_LIMITED, CANCEL_RATE_LIMITED | API_RATE_LIMITED | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| REFILL_STATUS_INELIGIBLE | REFILL_NOT_COMPLETED, REFILL_NOT_AVAILABLE | صار رمز سابق واحد عدة رموز، كل منها أكثر تحديدًا. |
| REFILL_SERVICE_NOT_REFILLABLE, REFILL_REQUEST_FAILED | REFILL_NOT_AVAILABLE | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| REFILL_ALREADY_PENDING | REFILL_ALREADY_PENDING | الرمز نفسه. |
| REFILL_WAITING_PERIOD | REFILL_COOLDOWN | صارت عدة رموز سابقة رمزًا واحدًا. اقرأ details للتفاصيل. |
| REFILL_NOT_FOUND | REFILL_NOT_FOUND | الرمز نفسه. |
| INVALID_WEBHOOK_URL | INVALID_WEBHOOK_URL | الرمز نفسه. |
| WEBHOOK_LIMIT | WEBHOOK_LIMIT | الرمز نفسه. |
| WEBHOOK_NOT_FOUND | WEBHOOK_NOT_FOUND | الرمز نفسه. |
| REQUEST_PROCESSING, REQUEST_OUTCOME_UNKNOWN, REQUEST_OUTCOME_NOT_RECORDED, REQUEST_UNCONFIRMED, REQUEST_RESULT_UNAVAILABLE, CONFLICTING_REQUEST_RECORDS | – | لم يعد يحدث. لا تنتظر API نظامًا آخر أبدًا، وتصل المشكلات اللاحقة على شكل طلب Canceled مع رمز سبب. |
Webhooks
تغيّر اسما حدثين. اختفى الجسم المجمّع: يحمل كل استدعاء الآن حدثًا واحدًا في غلاف فيه id وtype وschema_version وcreated_at وsequence وdata، وتتبع نقاط النهاية الحساب بدل المفتاح.
| السابق | الآن |
|---|---|
| order.refunded | order.canceled |
| order.refill_completed | refill.completed |