أدوات MCP
التنبيهات والإشعارات والوسوم والفوترة
أدوات MCP لتنبيهات الكلمات المفتاحية والإشعارات التي تنتجها، ولوسوم المنافسات وملخص الاشتراك.
تنبيه الكلمات المفتاحية استعلام بحث محفوظ تفحصه المنصة ثلاث مرات في اليوم. وكل منافسة مفتوحة جديدة يطابقها تصير إشعارا تراه مؤسستك كلها. تدير هذه الأدوات التنبيهات والإشعارات، وتنشئ الوسوم التي تعلم بها المنافسات، وتقرأ ملخص الاشتراك. وتجد شرح صفحات التنبيهات في التطبيق ضمن تنبيهات الكلمات المفتاحية.
| الأداة | ما تفعله |
|---|---|
| alerts_list | عرض تنبيهات الكلمات |
| alerts_create | إنشاء تنبيه كلمات |
| alerts_update | تعديل تنبيه كلمات |
| alerts_delete | حذف تنبيه كلمات |
| notifications_list | عرض الإشعارات |
| notifications_mark_read | تعليم الإشعارات كمقروءة |
| notifications_clear | مسح كل الإشعارات |
| tags_list | عرض الوسوم |
| tags_create | إنشاء وسم |
| tags_update | تعديل وسم |
| tags_delete | حذف وسم |
| billing_get | عرض ملخص الاشتراك |
تنبيهات الكلمات المفتاحية
التنبيهات مشتركة بين أعضاء المؤسسة: ما ينشئه زميلك تراه أنت، ولك أن تعدله أو تحذفه.
alerts_list
يعرض تنبيهات الكلمات المفتاحية في مؤسستك من الأحدث إلى الأقدم. استخدمه لترى ما يراقب فعلا قبل أن تضيف تنبيها آخر، أو لتعرف معرف تنبيه تريد إيقافه أو حذفه.
للقراءة فقط · الصلاحية alerts.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: قائمة alerts بلا ترقيم للصفحات، لكل تنبيه id وkeyword وis_active وlast_triggered_at وcreated_at.
- التنبيهات الموقوفة تظهر في القائمة أيضا، وحقل
is_activeيبين حالتها.
alerts_create
ينشئ تنبيه كلمات مفتاحية من استعلام بحث عن المنافسات. يبدأ التنبيه مفعلا ما لم تطلب غير ذلك، وكل منافسة مفتوحة جديدة يجدها البحث نفسه تولد إشعارا.
يغير البيانات · الصلاحية alerts.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
keyword | string | نعم | استعلام البحث الذي يراقبه التنبيه، من 1 إلى 200 حرف. يقبل صيغة q نفسها في tenders_list: كلمات عادية، وOR، وitem:(gauze AND sterile)، وagency:، وعلامة - قبل الكلمة لاستبعادها، وعبارات بين علامتي اقتباس. ويرفض الاستعلام غير الصالح. |
is_active | boolean | لا | هل يبدأ التنبيه مفعلا. الافتراضي true. |
{
"keyword": "item:(gauze AND sterile)",
"is_active": true
}ما يعيده: التنبيه الجديد alert بمعرفه ونصه وحالته.
- يرفض الاستعلام الذي لا يمكن أن يطابق شيئا عند الحفظ: حقل بحث غير معروف، أو استعلام كله استبعاد، أو خطأ في الصيغة كقوس لم يغلق. صحح الاستعلام وأعد الاستدعاء.
- تحدد الخطة عدد التنبيهات المفعلة معا: 10 في البداية و100 في الاحترافية وبلا حد في المؤسسات. وعند بلوغ الحد ترد الأداة بالخطأ
plan_limit_reachedمعlimitوcurrent. والتنبيه الموقوف لا يحتسب. - لا يطلق التنبيه إلا على المنافسات المفتوحة (ومن لا موعد إغلاق لها تعد مفتوحة)، ومرة واحدة لكل منافسة. والكلمة العادية تطابق اسم المنافسة وأرقامها وبنودها، لا اسم الجهة: اكتب
agency:لمتابعة جهة. - ينسب التنبيه إلى العضو الذي ربط الاتصال، ويصل البريد الإلكتروني وواتساب بمطابقاته إليه.
alerts_update
يغير نص بحث التنبيه، أو يوقفه ويعيد تشغيله. لا يتغير إلا ما ترسله، ويلزم إرسال keyword أو is_active أو كليهما.
يغير البيانات · الصلاحية alerts.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف التنبيه، ويأتي من alerts_list. |
keyword | string | لا | نص البحث الجديد، من 1 إلى 200 حرف، وتسري عليه قواعد التحقق نفسها في alerts_create. |
is_active | boolean | لا | false يوقف التنبيه وtrue يعيد تشغيله. التنبيه الموقوف لا يطلق شيئا ولا يحتسب ضمن حد الخطة. |
{
"id": 27,
"keyword": "item:(gauze AND sterile)",
"is_active": true
}ما يعيده: التنبيه alert بعد التعديل.
- إرسال المعرف وحده بلا
keywordولاis_activeيرد بخطأ 400. والمعرف الذي ليس لتنبيه في مؤسستك يرد بخطأ 404.
alerts_delete
يحذف تنبيه كلمات نهائيا. أما الإشعارات التي أطلقها من قبل فتبقى في القائمة. وإن أردت إيقافه مؤقتا فاستخدم alerts_update بـis_active يساوي false.
يحذف بيانات أو يستبدلها · الصلاحية alerts.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف التنبيه، ويأتي من alerts_list. |
ما يعيده: تأكيد الحذف success: true.
- المعرف الذي ليس لتنبيه في مؤسستك يرد بخطأ 404.
الإشعارات
الإشعارات مشتركة بين المؤسسة. مصدرها تنبيهات الكلمات، وتنبيهات المنتجات المبنية على كتالوجك، وتذكيرات المواعيد للمنافسات التي علمها فريقك بنجمة أو يعمل عليها.
notifications_list
يعرض إشعارات مؤسستك من الأحدث إلى الأقدم، لكل إشعار منافسته، ومعه إجمالي غير المقروء. استخدم unread_only لترى الجديد وحده، أو count_only إن كان الرقم هو المطلوب.
للقراءة فقط · الصلاحية notifications.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
unread_only | boolean | لا | true يعرض الإشعارات التي لم تعلم مقروءة فقط. |
count_only | boolean | لا | true يعيد unread_count وحده بلا قائمة، ويتجاهل الترقيم وunread_only. |
page | integer | لا | رقم الصفحة، ويبدأ من 1. |
page_size | integer | لا | عدد النتائج في الصفحة: 20 افتراضيا، وحده الأقصى 100. |
ما يعيده: صفحة من الإشعارات في data مع total وpage وpage_size وtotal_pages وunread_count. لكل إشعار id وmatch_type (keyword أو product أو deadline) وmatch_text وis_read وcreated_at وtender_id، وكائن tenders فيه tender_name وagency_name وsource. ومع count_only يعود unread_count وحده.
- لا تظهر الإشعارات التي مسحت ولا ما مضى عليه أكثر من 30 يوما. و
unread_countيعد كل غير المقروء الظاهر في المؤسسة، لا ما في الصفحة وحدها.
notifications_mark_read
يعلم إشعارا واحدا كمقروء، أو كل الإشعارات غير المقروءة دفعة واحدة. أرسل واحدا من id وall بالضبط.
يغير البيانات · الصلاحية notifications.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | لا | معرف الإشعار المراد تعليمه، ويأتي من notifications_list. |
all | boolean | لا | true يعلم كل الإشعارات غير المقروءة في المؤسسة كمقروءة. وإن أرسلت معه id غلب all. |
ما يعيده: تأكيد success: true.
- إن لم ترسل
idولاallردت الأداة بخطأ 400. والمعرف الذي ليس لإشعار في مؤسستك لا يغير شيئا، ويرد الاستدعاء بالنجاح مع ذلك.
notifications_clear
يمسح قائمة الإشعارات كلها لمؤسستك، لكل الأعضاء معا. تختفي الإشعارات من كل شاشة ولا يمكن استرجاعها.
يحذف بيانات أو يستبدلها · الصلاحية notifications.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: success: true وcleared، وهو عدد الإشعارات التي أزيلت من القائمة.
- المطابقة نفسها لا تتأثر: منافسة سبق أن أطلقت إشعارا لا تطلقه ثانية بعد المسح.
- وبلا مسح تغادر الإشعارات القائمة من تلقاء نفسها بعد 30 يوما.
الوسوم
الوسوم تسميات تضعها مؤسستك على المنافسات، كخط منتجات أو عميل، وتشترك فيها كل الأعضاء (وتسمى في التطبيق التصنيفات). تدير هذه الأدوات الوسوم نفسها، أما وضع وسم على منافسة فيتم من صفحة المنافسة في التطبيق، كما في صفحة المنافسة.
tags_list
يعرض وسوم مؤسستك مرتبة بالاسم. أرسل معرف منافسة لتعرف أي وسوم عليها.
للقراءة فقط · الصلاحية tags.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
tender_id | integer | لا | معرف منافسة. إن أرسلته حمل كل وسم الحقل assigned: true إن كان الوسم على تلك المنافسة. |
ما يعيده: قائمة tags، لكل وسم id وname وcolor، ومعها assigned إن أرسلت tender_id.
tender_idالذي ليس عددا صحيحا موجبا يرد بخطأ 400.
tags_create
ينشئ وسما جديدا لتعلم به المنافسات. اسم الوسم فريد داخل المؤسسة.
يغير البيانات · الصلاحية tags.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
name | string | نعم | اسم الوسم، من 1 إلى 100 حرف. تحذف المسافات من طرفيه. |
color | string | لا | لون بصيغة سداسية عشرية مثل #16a34a، حتى 20 حرفا. الافتراضي الأزرق #3b82f6. |
{
"name": "Syringes lot",
"color": "#16a34a"
}ما يعيده: الوسم الجديد tag.
- الاسم المكرر يرد بخطأ 409 مع الرسالة
Tag already exists.
tags_update
يغير اسم الوسم أو لونه. ويظهر التغيير في كل منافسة عليها الوسم، لأن الوسم واحد.
يغير البيانات · الصلاحية tags.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف الوسم، ويأتي من tags_list. |
name | string | لا | الاسم الجديد، من 1 إلى 100 حرف. |
color | string | لا | اللون الجديد بصيغة سداسية عشرية، حتى 20 حرفا. |
{
"id": 14,
"name": "Syringes 2026",
"color": "#16a34a"
}ما يعيده: الوسم tag بعد التعديل.
- يلزم إرسال
nameأوcolorوإلا ردت الأداة بخطأ 400. والاسم المأخوذ يرد بخطأ 409، والمعرف غير الموجود يرد بخطأ 404.
tags_delete
يحذف الوسم ويزيله من كل منافسة عليها. لا يمكن التراجع عن ذلك.
يحذف بيانات أو يستبدلها · الصلاحية tags.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف الوسم، ويأتي من tags_list. |
ما يعيده: تأكيد الحذف success: true.
- المعرف الذي ليس لوسم في مؤسستك يرد بخطأ 404.
الاشتراك
للقراءة فقط. الدفع وتغيير الخطة وعدد المقاعد وإدارة وسائل الدفع تتم في التطبيق وحده.
billing_get
يقرأ خطة مؤسستك واشتراكها: أي خطة عليها، وحالة الاشتراك، ومتى تنتهي الفترة الحالية، وهل تسري حدود مخصصة. لا يغير شيئا، وهو للمالك وحده.
للقراءة فقط · الصلاحية billing.read · الأدوار: المالك · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: plan_tier (starter أو pro أو enterprise) وsubscription_status وcurrent_period_end (تاريخ بصيغة ISO 8601، أو null إن لم توجد فترة) وhas_stripe (هل لدى المؤسسة حساب دفع بالبطاقة) وhas_subscription (هل لها اشتراك مسجل) وhas_custom_limits (هل عدلت حدود الخطة لهذه المؤسسة) وbilling_interval (month أو year) ثم المقاعد: seat_quantity (المقاعد المدفوعة في اشتراك يحسب لكل مستخدم، أو null إن لم يحسب كذلك) وseats_in_use (الأعضاء مع الدعوات المعلقة) وuser_limit (أقصى عدد من المستخدمين تتسع له المؤسسة، و-1 يعني بلا حد).
- يعود
plan_tierبالقيمةstarterوsubscription_statusبالقيمةactiveإن لم يسجل للمؤسسة اشتراك. ولا ترد الأداة بيانات البطاقات أبدا. - لمعرفة الحدود نفسها وما استهلكته منها استخدم usage_get.