أدوات MCP
لوحة التحكم والتحليلات وأسعار الترسية
أدوات MCP للقراءة من لوحة التحكم والتحليلات وتقرير العطاء والاستخدام والنشاط والتقويم وأسعار الترسية.
كل أدوات هذه الصفحة للقراءة فقط ولا تغير شيئا في بياناتك. تعطي المساعد الصورة نفسها التي تعرضها لك شاشات لوحة التحكم والتحليلات والتقويم والأسعار التاريخية، فيجيب عن أسئلة مثل «ما العطاءات التي تحتاج اهتماما هذا الأسبوع؟» أو «من رست عليه هذا الرمز في آخر ترسية؟».
analytics_get وbid_analytics_get وbid_report_get) وأداة الأسعار التاريخية (historical_prices_list) تتطلب الخطة الاحترافية أو خطة المؤسسات. والأدوات التي تحمل مبالغ عطاءات أو أسعارا، وهي تحليلات العطاءات وتقرير العطاء والأسعار التاريخية، مغلقة أمام الدورين الفني والمشاهد بدون تسعير. أما لوحة التحكم والنشاط فتفتحان لكل الأدوار وتحجبان المبالغ عن هذين الدورين.الشاشات المقابلة مشروحة في لوحة التحكم والتقويم والأسعار التاريخية. أما كتابة أسعار بنود عطاء فتكون بأدوات العطاءات وتسعير البنود.
| الأداة | ما تفعله |
|---|---|
| dashboard_get | عرض ملخص لوحة التحكم |
| usage_get | عرض استخدام الخطة |
| analytics_get | عرض تحليلات السوق |
| bid_analytics_get | عرض تحليلات العطاءات |
| bid_report_get | عرض تقرير تجهيز العطاء |
| activity_list | عرض آخر النشاطات |
| team_activity_list | عرض نشاط الفريق |
| calendar_get | عرض تقويم المواعيد |
| historical_prices_list | تصفح أسعار الترسية السابقة |
لوحة التحكم والاستخدام
dashboard_get
يعرض ما تعرضه لوحة التحكم: عطاءاتك موزعة على المراحل، والمواعيد التي تحل خلال 7 أيام، وإشعارات التنبيهات غير المقروءة، وبعض الأعداد الرئيسية، والعطاءات التي تحتاج اهتماما. استخدمه لصورة سريعة عن حال الفريق.
للقراءة فقط · الصلاحية analytics.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: bids (فيه total وactive وstages بعدد كل مرحلة وrecent)، وdeadlines (فيه favorites وbids)، وnotifications (فيه unread وunread_count)، وcounts (فيه alerts وproducts وfavorites وnewTendersThisWeek)، وneedsAttention.
- كل قائمة قصيرة:
bids.recentفيها خمسة عطاءات، الأقرب موعدا أولا. وdeadlines.favoritesوdeadlines.bidsفيهما حتى خمسة مواعيد خلال 7 أيام، الأقرب أولا (للمفضلة، ولعطاءات المرحلتينreviewingوpreparing). وnotifications.unreadفيها أحدث خمسة إشعارات، وunread_countعدد غير المقروء كله. needsAttentionيضم حتى خمسة عطاءات في مرحلةpreparingأوsubmittedلم يسعر أي بند من منافستها بعد. وهي بطاقة عروض تحتاج اهتمام نفسها في اللوحة.- حقل
bid_amountفيbids.recentيعود فارغا للدورين الفني والمشاهد بدون تسعير.
usage_get
يعرض خطتك وحدودها وما تشمله من ميزات، وكم استهلكت من كل حد، وهل بقي لك ما تضيفه. الحد -1 يعني بلا حد أقصى. راجعه قبل عمل كبير قد يبلغ أحد الحدود.
للقراءة فقط · الصلاحية analytics.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: tier (starter أو pro أو enterprise)، وhasOverride (true إن كانت لمؤسستك حدود مخصصة)، وlimits وcurrent وallowed بالمفاتيح نفسها: team_members وproducts وactive_tenders وkeyword_alerts وapi_calls_per_day وexports_per_month وemails_per_month وwhatsapp_groups وpriced_history_rows_per_month. وfeatures يقابل كل ميزة في الخطة بـ true أو false.
allowedتكونtrueما دام الاستهلاك دون الحد أو كان الحد-1.api_calls_per_dayوexports_per_monthوemails_per_monthعدادات تبدأ من جديد كل يوم أو شهر بتوقيت UTC، وexports_per_monthيعد عروض الأسعار المنشأة هذا الشهر. أماactive_tendersفيعد المنافسات المختلفة التي تتابعها مفضلة أو عطاء.
التحليلات وتقرير العطاء
أداتان للصورة الكبيرة، واحدة للسوق كله وواحدة لعطاءاتك، وأداة لتقرير تجهيز منافسة بعينها.
analytics_get
يصف سوق المنافسات كله لا عطاءاتك وحدها: كم منافسة في اعتماد ونوبكو، وكم منها جاء هذا الأسبوع وهذا الشهر، وأكثر الأنواع والجهات حضورا، والمنافسات التي يحل موعدها خلال 7 أيام، مع أعداد عن سجلاتك أنت.
للقراءة فقط · الصلاحية analytics.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: overview (فيه total_tenders وetimad_count وnupco_count وtotal_items وnew_this_week وnew_this_month)، وtype_breakdown (أكثر 6 أنواع منافسات، لكل نوع name وcount)، وtop_agencies (أكثر 10 جهات)، وclosing_soon (حتى 10 منافسات يحل موعدها خلال 7 أيام، الأقرب أولا)، وuser_stats (فيه favorites وalerts وproducts وunread_notifications).
- الأعداد تشمل ما تراه مؤسستك فقط: المنافسات المجموعة من المصادر ومنافساتك اليدوية، ولا تشمل منافسات مؤسسة أخرى.
bid_analytics_get
يلخص خط عطاءات مؤسستك: نسبة الفوز، وقيمة العطاءات الكلية ومتوسطها، والنتائج حسب المرحلة والجهة والمصدر، وعدد المنافسات التي سعرت بنودها، واتجاه الأشهر الستة الأخيرة، وأحدث العطاءات.
للقراءة فقط · الصلاحية analytics.read · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: overview (فيه totalBids وwonCount وlostCount وwinRate وavgBidAmount وtotalBidValue وtendersWithPricing)، وstatusBreakdown بعدد العطاءات في كل مرحلة، وbyAgency وbySource بعدد العطاءات والفوز والخسارة لكل جهة ومصدر، وmonthlyTrend لآخر ستة أشهر، وrecentBids لأحدث خمسة عطاءات.
winRateنسبة الفائز إلى مجموع الفائز والخاسر، مقربة إلى عدد صحيح، وتكونnullما لم يحسم عطاء بعد. وavgBidAmountوtotalBidValueيحسبان من العطاءات التي لها مبلغ أكبر من صفر فقط. وbyAgencyفيه أكثر عشر جهات عطاءات.- كل شهر في
monthlyTrendيعد العطاءات التي أنشئت فيه موزعة على مراحلها الحالية. وأسماء المراحل فيstatusBreakdownوأسماء الأشهر بالعربية.
bid_report_get
يبني تقرير تجهيز كاملا لمنافسة واحدة: بياناتها، وعطاؤك عليها، وكل بند بكميته وتقدير الجهة وسعر وحدتك وإجمالي سطره، ومجموع عطائك مقابل التقدير. استخدمه لمراجعة العطاء قبل تقديمه.
للقراءة فقط · الصلاحية analytics.read · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
tender_id | integer | نعم | معرف المنافسة، ويأتي من أدوات المنافسات. يجب أن تكون منافسة ظاهرة لمؤسستك. |
ما يعيده: tender (بياناتها مثل tender_name وagency_name وreference_number وlast_offer_date وremaining_days ورسوم الشراء)، وbid (سجل عطائك، أو null إن لم يكن لك عطاء)، وitems، وsummary، وcompany، وgenerated_at. لكل بند quantity وunit وestimated_price وunit_price وline_total، والأخيران null ما دام البند غير مسعر. وsummary فيه total_items وpriced_items وtotal_bid وtotal_estimated وdifference_pct.
total_estimatedيجمع تقدير كل البنود، أماtotal_bidفيجمع البنود المسعرة وحدها. لذلك لا تكونdifference_pct(فرق عطائك عن التقدير بالنسبة المئوية) مقارنة عادلة إلا بعد تسعير كل البنود. وتكونnullإن كان أحد المجموعين صفرا.- ترد الأداة بأن المنافسة غير موجودة إن لم تكن ظاهرة لمؤسستك.
companyفيه اسم العضو الذي ربط العميل وبريده الإلكتروني، ويحل اسم مؤسستك محل الاسم إن لم يكن له اسم شركة.
النشاط والتقويم
activity_list
يعرض آخر ما جرى في مؤسستك من تغييرات في العطاءات وإضافات إلى المفضلة وأسعار بنود وإشعارات تنبيه، من الأحدث إلى الأقدم. لتعرف ما تغير مؤخرا دون فتح كل شاشة.
للقراءة فقط · الصلاحية analytics.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
limit | integer | لا | أقصى عدد من الإدخالات، من 1 إلى 50. الافتراضي 30. |
ما يعيده: activities، لكل إدخال id وtype (bid_update أو favorite أو pricing أو alert) وtender_id وtender_name وagency_name وdescription وtimestamp، مع total عدد الإدخالات قبل أن يقتطع limit القائمة.
- الخلاصة تجمع أحدث 10 تغييرات في العطاءات و10 إضافات إلى المفضلة و8 أسعار و10 إشعارات تنبيه، فلا تزيد على 38 إدخالا مهما رفعت
limit. - نصوص
descriptionبالعربية. وإدخال السعر لا يحمل إلاtender_id، فيكونtender_nameوagency_nameفيه فارغين. - إدخالات الأسعار ومبالغ العطاءات تحجب عن الدورين الفني والمشاهد بدون تسعير.
team_activity_list
سجل المالك لنشاط كل عضو: من أنشأ المنتجات والشركات المصنعة وعدلها، ومن رفع صورا وملفات، ومن صدر بيانات المنافسات. يعيد مجاميع لكل عضو ولكل نوع عمل خلال المدة، مع قائمة أحداث مقسمة إلى صفحات.
للقراءة فقط · الصلاحية activity.read · الأدوار: المالك · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
days | integer | لا | المدة بالأيام وتنتهي الآن، من 1 إلى 365. الافتراضي 30. |
user_id | string | لا | معرف عضو بصيغة UUID، ويأتي من حقل members في الرد نفسه أو من team_list. يحصر قائمة الأحداث في هذا العضو، أما المجاميع فتبقى لكل المدة. |
action | string | لا | يحصر قائمة الأحداث في نوع عمل واحد: product.created إنشاء منتج، product.updated تعديل منتج، manufacturer.created إنشاء شركة مصنعة، manufacturer.updated تعديل شركة مصنعة، product.photo_uploaded رفع صورة منتج، file.uploaded رفع ملف، tender.exported تصدير منافسات. |
page | integer | لا | رقم صفحة الأحداث، ويبدأ من 1. الافتراضي 1. |
page_size | integer | لا | عدد الأحداث في الصفحة، من 1 إلى 100. الافتراضي 50. |
{
"days": 7,
"action": "product.created",
"page_size": 25
}ما يعيده: days وfrom (بداية المدة)، وmembers (كل أعضاء المؤسسة بـ user_id وfull_name وemail وrole)، وtotals (لكل عضو ونوع عمل user_id وaction وtotal)، وdata (الأحداث)، وtotal وpage وpage_size وtotal_pages. وفي كل حدث action وentity_name وquantity وcreated_at وlast_at.
- المجاميع تجمع
quantityولا تعد الأحداث. الكتابة الجماعية حدث واحد كميته عدد السجلات، وما يكرره العضو على السجل نفسه في الساعة نفسها يجتمع في حدث واحد:created_atأول مرة فيه وlast_atآخرها. user_idوactionيحصران قائمة الأحداث وحدها. أماmembersوtotalsفتغطيان المدة كلها وتذكران كل الأعضاء حتى من لم يعمل شيئا. وتأتي الأحداث الأحدث نشاطاlast_atأولا.user_idفيtotalsقد يكونnullإن حذف حساب صاحب العمل من المنصة.tender.exportedحدث لكل ملف CSV للمنافسات أو بنودها، من التطبيق أو عبر API ومنه export_tenders_csv والمساعد، وينسب تصدير المفتاح إلى من أنشأه. وفيmetadataآخر ملف في الساعة:file_nameوrows(عدد الصفوف) وkind(tendersأوitems) وchannel(appأوapi).
calendar_get
يعرض مواعيد تقديم العروض للمنافسات التي تتابعها مؤسستك في شهر واحد، من مفضلتك وعطاءاتك. لكل حدث اسم المنافسة وجهتها ورقمها المرجعي ويوم موعدها.
للقراءة فقط · الصلاحية analytics.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
year | integer | لا | السنة، من 2000 إلى 2100. الافتراضي السنة الحالية. |
month | integer | لا | الشهر من 1 إلى 12. الافتراضي الشهر الحالي. |
{
"year": 2026,
"month": 10
}ما يعيده: year وmonth وevents. لكل حدث tender_id وtender_name وagency_name وreference_number وtender_number وdate وsource وsource_url وremaining_days وtags، مرتبة بالتاريخ.
- الحدث منافسة تتابعها: مفضلة، أو عطاء في أي مرحلة، أو الاثنان. للمنافسة حدث واحد، و
tagsفيهاfavoriteو/أو مرحلة العطاء. dateهو يوم الموعد بالتقويم السعودي بصيغةYYYY-MM-DD، والمنافسة التي بلا موعد لا تظهر أبدا.- الشهر يمتد إلى أسابيع كاملة من الأحد إلى السبت، فتحمل أيام الشهرين المجاورين الظاهرة في الشبكة أحداثها أيضا. وشرح الشاشة في التقويم.
أسعار الترسية السابقة
سجل نتائج ترسيات نوبكو السابقة، وكل صف فيه ترسية واحدة: رمز مادة رسا على مورد في منافسة. بعض الصفوف من كشوف نتائج بأسعار، وأكثرها من إعلانات ترسية لا تنشر سعرا.
historical_prices_list
يتصفح نتائج ترسيات نوبكو السابقة ببحث نصي وفلاتر دقيقة وترتيب وصفحات. بشكل افتراضي لا يعيد إلا الصفوف التي نشرت سعرا، ويتيح price الوصول إلى الباقي. استخدمه لتعرف من فاز بمادة وبأي سعر قبل أن تسعر.
للقراءة فقط · الصلاحية historical.read · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
q | string | لا | بحث نصي في رمز المادة ووصفها والمورد والشركة المصنعة، حتى 200 حرف. النص العادي يطابق كعبارة حرفية واحدة. وتعمل أيضا الصيغة المنظمة للأسعار التاريخية: AND وOR وNOT بالحروف الكبيرة، وعلامة - قبل الكلمة لاستبعادها، والعبارات بين علامتي اقتباس، والحقول description: أو item: وvendor: وmanufacturer: وcountry: وcatalog: وunit: وtender: (يطابق أي كتابة للرقم) وcode: (رمز المادة بالتمام). القيمة التي فيها / أو علامة ترقيم أخرى توضع بين علامتي اقتباس، مثل tender:"NPT0064/25". الصيغة الخاطئة ترد بخطأ 400 مع السبب. |
material_code | string | لا | رمز مادة نوبكو بالتمام، حتى 40 حرفا. |
vendor | string | لا | اسم المورد أو جزء منه، حتى 300 حرف. |
source_tender_number | string | لا | رقم المنافسة التي صدرت عنها الترسية، حتى 100 حرف. تتجاهل المطابقة حالة الأحرف واختلاف الكتابة، فالأرقام NPT0064/25 وnpt0064-25 وNPT0064 25 تجد المنافسة نفسها. |
price | string | لا | أي الصفوف تعاد: with (الافتراضي) الترسيات التي نشرت سعر وحدة فقط، without الترسيات التي لم تنشر سعرا فقط، all الاثنتان معا. |
sort | string | لا | عمود الترتيب: award_date (الافتراضي) تاريخ الترسية، unit_price سعر الوحدة، material_code رمز المادة. عند الترتيب بالسعر تأتي الصفوف بلا سعر في النهاية في الاتجاهين. |
dir | string | لا | اتجاه الترتيب: asc تصاعدي أو desc تنازلي. الافتراضي desc. |
page | integer | لا | رقم الصفحة، ويبدأ من 1. |
pageSize | integer | لا | عدد الصفوف في الصفحة: 25 افتراضيا، وحده الأقصى في هذه الأداة 50. وقبل أول دفعة لاشتراك مؤسستك تعود الصفحة بـ25 صفا مهما طلبت. وانتبه إلى كتابة الاسم بحرف كبير في وسطه. |
{
"q": "item:(syringe AND luer)",
"vendor": "Acme Medical Supplies",
"price": "all",
"sort": "award_date",
"dir": "desc",
"pageSize": 25
}ما يعيده: data (الترسيات)، وtotal وpage وpage_size وtotal_pages وdepth_limited وmax_rows وunpriced_available وprice_allowance وprices_hidden وprice_sort_unavailable. في كل ترسية material_code وitem_description وunit_price وcurrency وuom وvendor_name وmanufacturer وcountry وcountry_code وcatalog_no وsource_tender_number وsource_tender_name وaward_date وawarded_to_us وprice_hidden، وprice_hidden_reason في الترسية التي أخفاها الرصيد.
unit_priceبقيمةnullيعني أن الإعلان لم ينشر سعرا، وليس أن المادة رست بلا مقابل أو بصفر.- حين تعيد صفحة البحث الأولى الافتراضية (
priceبقيمةwith) نتيجة فارغة، يحملunpriced_availableعدد الترسيات المطابقة لبحثك التي لم تنشر سعرا. اعرض هذا العدد وجربpriceبقيمةallبدل القول إن المادة لم ترس قط. وفي كل حالة أخرى قيمته 0. - في الخطة الاحترافية يحتسب كل صف مسعر جديد تعيده الأداة مرة واحدة من رصيد شهري تتشاركه مع صفحة الأسعار التاريخية، والصف الذي رأته مؤسستك من قبل يعود بسعره دون أن يحتسب، في أي شهر. يعرض
price_allowanceالحد (limit) والمستهلك (used) والمتبقي (remaining) وموعد التجدد (resets_at)، وقيمتهnullفي خطة المؤسسات التي لا حد لها. - بعد انتهاء الرصيد تستمر الصفوف في الوصول، لكن الصف المسعر الجديد يأتي بـ
unit_priceبقيمةnullوprice_hiddenبقيمةtrue: للصف سعر تخفيه الخطة، فلا تقل إنه بلا سعر معلن. وprices_hiddenعدد هذه الصفوف في الصفحة. وحين لا يبقى شيء يتوقف الترتيب بـunit_priceوتأتي الصفوف من الأحدث، ويحملprice_sort_unavailableالقيمةtrue. - قبل أن تكتمل أول دفعة لاشتراك مؤسستك يكون الرصيد أصغر، ويحمل
price_allowanceالحقلunpaidبقيمةtrue. قل إن الأسعار تظهر بعد دفع الاشتراك من صفحة الفوترة في التطبيق. - والترسية التي تحمل
price_hiddenبقيمةtrueدونprice_hidden_reasonلها سعر لا يظهر لمؤسستك: لا يحتسب من الرصيد، وتأتي بعد الأسعار الظاهرة حين ترتب بـunit_price. فالسعر موجود لكنه مخفي، وليس سعرا غير منشور. ويحمل الصف الذي يخفيه الرصيدprice_hidden_reasonبقيمةallowance. - تتوقف الصفحات عند عمق يحدده اشتراك مؤسستك. وحين تحوي النتيجة أكثر منه يحمل
depth_limitedالقيمةtrue، ويذكرmax_rowsعدد الصفوف التي تبلغها الصفحات، ولا يعدtotal_pagesإلا الصفحات الممكنة، والصفحة بعدها ترد بخطأpage_depth_exceeded. لرؤية غيرها ضيق البحث بـqأوmaterial_codeأوvendorأوsource_tender_numberبدل التنقل في الصفحات. - يتشارك البحث في الأسعار التاريخية والبحث في المنافسات حدا لعدد الطلبات في الدقيقة على مستوى المؤسسة كلها، وحدا أصغر لكل اتصال. وحين يبلغ أحدهما ترد الأداة بخطأ
rate_limitedفيه عدد الثواني التي تنتظرها. وتصفح بحث واحد صفحة بعد صفحة بسرعة، أو قراءة صفوف كثيرة في ساعة، يبطئ الردود مؤقتا إلى رد كل بضع ثوان (slowed_down). انتظر المدة المذكورة مرة واحدة ثم ضيق البحث، ولا تعد المحاولة في حلقة. awarded_to_usتكونtrueحين يطابق اسم المورد اسم مؤسستك المسجل.- هذا السجل عام لكل المؤسسات ولا يحوي عروضك أنت. أسعار بنود عطائك تقرؤها bid_pricing_list.