تصفح الدليل

أدوات 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_idintegerنعممعرف المنافسة، ويأتي من أدوات المنافسات. يجب أن تكون منافسة ظاهرة لمؤسستك.

ما يعيده: 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 · كل الأدوار · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
limitintegerلاأقصى عدد من الإدخالات، من 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 · الأدوار: المالك · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
daysintegerلاالمدة بالأيام وتنتهي الآن، من 1 إلى 365. الافتراضي 30.
user_idstringلامعرف عضو بصيغة UUID، ويأتي من حقل members في الرد نفسه أو من team_list. يحصر قائمة الأحداث في هذا العضو، أما المجاميع فتبقى لكل المدة.
actionstringلايحصر قائمة الأحداث في نوع عمل واحد: product.created إنشاء منتج، product.updated تعديل منتج، manufacturer.created إنشاء شركة مصنعة، manufacturer.updated تعديل شركة مصنعة، product.photo_uploaded رفع صورة منتج، file.uploaded رفع ملف، tender.exported تصدير منافسات.
pageintegerلارقم صفحة الأحداث، ويبدأ من 1. الافتراضي 1.
page_sizeintegerلاعدد الأحداث في الصفحة، من 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 · كل الأدوار · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
yearintegerلاالسنة، من 2000 إلى 2100. الافتراضي السنة الحالية.
monthintegerلاالشهر من 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 · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
qstringلابحث نصي في رمز المادة ووصفها والمورد والشركة المصنعة، حتى 200 حرف. النص العادي يطابق كعبارة حرفية واحدة. وتعمل أيضا الصيغة المنظمة للأسعار التاريخية: AND وOR وNOT بالحروف الكبيرة، وعلامة - قبل الكلمة لاستبعادها، والعبارات بين علامتي اقتباس، والحقول description: أو item: وvendor: وmanufacturer: وcountry: وcatalog: وunit: وtender: (يطابق أي كتابة للرقم) وcode: (رمز المادة بالتمام). القيمة التي فيها / أو علامة ترقيم أخرى توضع بين علامتي اقتباس، مثل tender:"NPT0064/25". الصيغة الخاطئة ترد بخطأ 400 مع السبب.
material_codestringلارمز مادة نوبكو بالتمام، حتى 40 حرفا.
vendorstringلااسم المورد أو جزء منه، حتى 300 حرف.
source_tender_numberstringلارقم المنافسة التي صدرت عنها الترسية، حتى 100 حرف. تتجاهل المطابقة حالة الأحرف واختلاف الكتابة، فالأرقام NPT0064/25 وnpt0064-25 وNPT0064 25 تجد المنافسة نفسها.
pricestringلاأي الصفوف تعاد: with (الافتراضي) الترسيات التي نشرت سعر وحدة فقط، without الترسيات التي لم تنشر سعرا فقط، all الاثنتان معا.
sortstringلاعمود الترتيب: award_date (الافتراضي) تاريخ الترسية، unit_price سعر الوحدة، material_code رمز المادة. عند الترتيب بالسعر تأتي الصفوف بلا سعر في النهاية في الاتجاهين.
dirstringلااتجاه الترتيب: asc تصاعدي أو desc تنازلي. الافتراضي desc.
pageintegerلارقم الصفحة، ويبدأ من 1.
pageSizeintegerلاعدد الصفوف في الصفحة: 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.