أدوات MCP
المنافسات والبحث
أدوات MCP للبحث في المنافسات وقراءتها وملخصاتها وسجل أسعارها، وللمفضلة وعمليات البحث المحفوظة والتصدير.
تجد هذه الأدوات المنافسات التي تجمعها المنصة من اعتماد ونوبكو وتقرؤها، ومعها المنافسات اليدوية التي أضافها فريقك ولا يراها غير مؤسستك. ومعرف المنافسة الذي يأتي من أدوات القائمة والبحث هنا هو ما تطلبه أدوات العطاءات والبنود وعروض الأسعار والأسعار في الصفحات الأخرى. ولإضافة منافسة يدوية أو تعديلها راجع المنافسات اليدوية والبنود والمشاركة.
q عند استدعاء tenders_list. تجدها بأي إملاء للرقم (NPT0002/26 أو NPT0002-26 أو NPT 0002/26) حتى بعد فوات موعدها. وصيغة q واحدة في tenders_list وtenders_search، وتشرحها البحث في المنافسات.last_offer_date) هو وقت إغلاق العروض، وتاريخ النشر (submission_date) هو وقت نشر المنافسة. وترشح tenders_list وexport_tenders_csv بآخر موعد لتقديم العروض، أما tenders_search فترشح بتاريخ النشر.| الأداة | ما تفعله |
|---|---|
| tenders_list | عرض المنافسات |
| tenders_search | البحث في المنافسات |
| agencies_list | عرض الجهات |
| tenders_get | عرض منافسة |
| tenders_summary | ملخص منافسة بالذكاء الاصطناعي |
| tenders_distribution | توزيع بنود المنافسة |
| tenders_historical_prices | الترسيات السابقة لبنود المنافسة |
| tenders_sourcing_history | أسعار الموردين السابقة لبنود المنافسة |
| tenders_submission_history | تاريخ مؤسستك مع بنود المنافسة |
| favorites_list | عرض المفضلة |
| favorites_add | إضافة منافسة إلى المفضلة |
| favorites_remove | إزالة منافسة من المفضلة |
| saved_searches_list | عرض عمليات البحث المحفوظة |
| saved_searches_create | حفظ بحث |
| saved_searches_delete | حذف بحث محفوظ |
| export_tenders_csv | تصدير المنافسات CSV |
البحث عن المنافسات
أربع طرق للوصول: قائمة بمرشحات، وبحث نصي كامل، وبحث سريع عما تتابعه، وقائمة الجهات لبناء المرشحات.
tenders_list
يعرض المنافسات من اعتماد ونوبكو ومنافسات فريقك اليدوية، من الأحدث نشرا إلى الأقدم، ومع كل منافسة سطر ملخص ذكي إن وجد. وهو الأداة المناسبة للبحث عن منافسة برقمها أو رقمها المرجعي: ضع الرقم في q.
للقراءة فقط · الصلاحية tenders.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
page | integer | لا | رقم الصفحة، ويبدأ من 1. |
page_size | integer | لا | عدد النتائج في الصفحة: 20 افتراضيا، وحده الأقصى 100. |
source | string | لا | يعرض منافسات هذا المصدر فقط: etimad أو nupco أو manual للمنافسات التي أضافها فريقك. |
agency | string | لا | جزء من اسم الجهة الحكومية، ولا فرق فيه بين الأحرف الكبيرة والصغيرة. |
q | string | لا | ما يبحث عنه في اسم المنافسة وجهتها ورقمها ورقمها المرجعي ونص بنودها. والكلمة المكونة من 8 أرقام فأكثر (رمز مادة نوبكو) تطابق رموز مواد البنود أيضا. الفاصلة تعني OR، وعلامة + أو AND بحروف كبيرة تعني AND، والمسافة جزء من العبارة: gloves nitrile تبحث عن العبارة كما هي، فضع + بين الكلمات التي تريدها معا. وتعمل الصيغة المنظمة أيضا: الحقول agency: وname: وnumber: وreference: وsource: وtype: وstatus: وcode: (رمز مادة بمطابقة تامة)، ومعها NOT وعلامة - للاستبعاد والعبارات بين علامتي اقتباس والأقواس وitem:(...) ليتحقق الشرط كله في بند واحد، مثل agency:health item:(suture AND absorbable) -pediatric. والصيغة الخاطئة ترد بخطأ 400 مع رسالة مقروءة، والاستعلام غير المكتمل يعمل بجزئه المكتمل. |
type | string | لا | نوع المنافسة: open أو direct أو limited أو contest أو badail (طلبات بدائل نوبكو للدفع على الحساب). وتقبل القيمة العربية المخزنة أيضا. |
date_from | string | لا | الحد الأدنى لآخر موعد لتقديم العروض (last_offer_date) بصيغة YYYY-MM-DD. |
date_to | string | لا | الحد الأعلى لآخر موعد لتقديم العروض بصيغة YYYY-MM-DD، ويدخل فيه اليوم المذكور كله. |
created_within | integer | لا | يعرض ما وصل إلى المنصة من منافسات خلال آخر هذا العدد من الأيام، من 1 إلى 3,650. |
expired | boolean | لا | أرسل true لتشمل النتائج المنافسات التي فات موعدها. دونه تعرض القائمة التي تستخدم q أو product_id أو مرشح تاريخ أو created_within المنافسات المفتوحة فقط. |
past_only | boolean | لا | أرسل true لتعرض المنافسات التي فات موعدها فقط. |
product_id | integer | لا | معرف منتج في الكتالوج، ويأتي من `products_list`. يعرض المنافسات التي تطلب هذا المنتج: أي التي فيها بند حي يحمل أحد رموز نوبكو المرتبطة بالمنتج. |
{
"q": "syringe + sterile",
"source": "nupco",
"created_within": 7,
"page_size": 10
}ما يعيده: صفحة من المنافسات مع total وtotal_pages وdepth_limited وmax_rows. لكل منافسة تفاصيلها، وsummary_headline_en وsummary_headline_ar (فارغان إن لم يكتب لها ملخص بعد)، وitem_match بقيمة item حين جاءت المطابقة من نص بنودها.
- القائمة المجردة، والقائمة المرشحة بـ
sourceأوagencyأوtypeوحدها، تشمل المنافسات التي فات موعدها. أما البحث بـqأوproduct_idأو مرشح تاريخ فيعرض المفتوحة فقط ما لم ترسلexpired. ويستثنى من ذلك أمران: رقم منافسة أو رقم مرجعي يرسل وحده فتوجد منافسته دائما، ومنافسات فريقك اليدوية فتظهر دائما ولو بلا موعد. - إن أرسلت
qوproduct_idمعا أضيفت المنافسات المطابقة للمنتج إلى المطابقة لـq، ولا يضيقqنتائج المنتج. - لبحث يطابق المنتهية دون أن ترسل
expired، أو لترشيح بتاريخ النشر، استخدم `tenders_search`. - تتوقف الصفحات عند عمق يحدده اشتراك مؤسستك، وقبل أول دفعة للاشتراك تكون الصفحة أصغر والعمق أقل. وحين تحوي النتيجة أكثر منه يحمل
depth_limitedالقيمةtrue، ويذكرmax_rowsعدد النتائج التي تبلغها الصفحات، ولا يعدtotal_pagesإلا الصفحات الممكنة. ولرؤية غيرها ضيقqأو المرشحات بدل التنقل في الصفحات. - تتشارك أدوات البحث في المنافسات والأسعار التاريخية حدا لعدد الطلبات في الدقيقة على مستوى المؤسسة كلها، وحدا أصغر لكل اتصال. وحين يبلغ أحدهما ترد الأداة بخطأ
rate_limitedفيه عدد الثواني التي تنتظرها. وتصفح بحث واحد صفحة بعد صفحة بسرعة يبطئ الردود مؤقتا (slowed_down).
tenders_search
يبحث في المنافسات وبنودها بالاسم والجهة ورقم المنافسة والرقم المرجعي ونص البنود. وخلافا لـ`tenders_list` لا يقتصر على المنافسات المفتوحة فتظهر المنتهية أيضا، ويقيد مرشحا التاريخ فيه تاريخ النشر لا آخر موعد لتقديم العروض.
للقراءة فقط · الصلاحية search · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
q | string | نعم | ما يبحث عنه: رقم منافسة أو رقم مرجعي، أو كلمات عادية (الفاصلة تعني OR، وعلامة + أو AND بحروف كبيرة تعني AND، والمسافة جزء من العبارة)، أو الصيغة المنظمة بحقولها وNOT وعلامة - وعلامتي الاقتباس والأقواس وitem:(...)، مثل agency:health item:(suture AND absorbable) -pediatric. والكلمة المكونة من 8 أرقام فأكثر (رمز مادة نوبكو) تطابق رموز مواد البنود أيضا. راجع البحث في المنافسات. |
page | integer | لا | رقم الصفحة، ويبدأ من 1. |
page_size | integer | لا | عدد النتائج في الصفحة: 20 افتراضيا، وحده الأقصى 100. |
source | string | لا | يعرض منافسات هذا المصدر فقط: etimad أو nupco أو manual للمنافسات التي أضافها فريقك. |
agency | string | لا | جزء من اسم الجهة الحكومية. |
type | string | لا | نوع المنافسة: open أو direct أو limited أو contest أو badail (طلبات بدائل نوبكو للدفع على الحساب). وتقبل القيمة العربية المخزنة أيضا. |
date_from | string | لا | الحد الأدنى لتاريخ النشر (submission_date) بصيغة YYYY-MM-DD. |
date_to | string | لا | الحد الأعلى لتاريخ النشر بصيغة YYYY-MM-DD. |
{
"q": "agency:health item:(suture AND absorbable) -pediatric",
"source": "nupco",
"date_from": "2026-09-01"
}ما يعيده: صفحة من المنافسات مع total وtotal_pages وdepth_limited وmax_rows، من الأحدث نشرا إلى الأقدم. لكل منافسة item_match بقيمة true حين جاءت المطابقة من بنودها.
- تظهر هنا المنافسات بكل مواعيدها، المنتهية والمفتوحة. وللاقتصار على المفتوحة أو للترشيح بآخر موعد لتقديم العروض استخدم
tenders_list. - لا تحمل النتائج سطر الملخص الذكي الذي تحمله
tenders_list. - تتوقف الصفحات عند عمق يحدده اشتراك مؤسستك، وقبل أول دفعة للاشتراك تكون الصفحة أصغر والعمق أقل. وحين تحوي النتيجة أكثر منه يحمل
depth_limitedالقيمةtrue، ويذكرmax_rowsعدد النتائج التي تبلغها الصفحات، ولا يعدtotal_pagesإلا الصفحات الممكنة. ولرؤية غيرها ضيقqأو المرشحات بدل التنقل في الصفحات. - تتشارك أدوات البحث في المنافسات والأسعار التاريخية حدا لعدد الطلبات في الدقيقة على مستوى المؤسسة كلها، وحدا أصغر لكل اتصال. وحين يبلغ أحدهما ترد الأداة بخطأ
rate_limitedفيه عدد الثواني التي تنتظرها. وتصفح بحث واحد صفحة بعد صفحة بسرعة يبطئ الردود مؤقتا (slowed_down).
agencies_list
يعرض أسماء الجهات الحكومية دون تكرار من كل المنافسات التي تراها، مرتبة ترتيبا عربيا. استخدمه لتعرف الجهات الموجودة قبل الترشيح بـagency.
للقراءة فقط · الصلاحية search · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: agencies: قائمة بأسماء الجهات.
- تشمل القائمة جهات منافسات فريقك اليدوية، ولا تشمل شيئا من منافسات المؤسسات الأخرى.
قراءة منافسة
tenders_get
يعيد منافسة واحدة كاملة: تفاصيلها وكل بنودها، ورابط صفحتها في التطبيق. وللاطلاع على ما تشتريه المنافسة باختصار استخدم `tenders_summary`.
للقراءة فقط · الصلاحية tenders.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة، ويأتي من tenders_list أو tenders_search. |
ما يعيده: حقول المنافسة (مثل tender_name وagency_name وtender_number وreference_number وlast_offer_date وsubmission_date) وبنودها في items ورابطها في web_url.
- تعيد الأداة كل البنود مهما كثرت، فقد يطول الرد في منافسة كبيرة. ولكل بند
item_numberوitem_nameوdescriptionوquantityوunit، وmaterial_codeفي منافسات نوبكو. والبند الذي له قيمة فيdeleted_atأزيل من المنافسة. - منافسة غير موجودة، أو منافسة يدوية لمؤسسة أخرى، ترد بخطأ 404.
tenders_summary
يعيد الملخص الذي كتبه الذكاء الاصطناعي لمنافسة جمعتها المنصة: عنوانا من جملة واحدة وملخصا قصيرا وبضع نقاط بارزة، وبنود المنافسة مجمعة في عائلات منتجات لكل منها عدد (عشرون نوعا من الحقن تظهر مدخلا واحدا «حقن» وعدده 20). أول طلب لمنافسة يكتب ملخصها ويخزنه، ويقرأ من بعده الجميع الملخص المخزن.
يغير البيانات · الصلاحية tenders.read · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة. |
ما يعيده: tender_id وstatus وsummary. وفي summary: headline_en وheadline_ar وsummary_en وsummary_ar وhighlights_en وhighlights_ar وitem_groups (لكل عائلة name_en وname_ar وitem_count) وgenerated_at وitems_meta.
statusتكونreadyحين يكونsummaryممتلئا. وgeneratingتعني أن طلبا آخر يكتب الملخص الآن، فأعد الاستدعاء بعد ثوان. وunavailableتعني أنه لا ملخص للمنافسة ولا يمكن كتابته الآن، وsummaryفارغ، والرد لا يذكر السبب.- حين لا يوجد ملخص تكتبه الأداة في هذا الاستدعاء، وقد يستغرق ذلك حتى دقيقة. ويحق لكل مفتاح بدء 60 ملخصا جديدا في الساعة، وما بعدها يرد بخطأ 429.
- الملخصات للمنافسات التي جمعتها المنصة من اعتماد ونوبكو فقط. ومنافسات فريقك اليدوية ترد دائما بـ
unavailable. - يكتب النص من سجل المنافسة ومن نتائج ترسيات نوبكو السابقة لرموز المواد نفسها، بالعربية والإنجليزية معا، فاعرضه على أنه ملخص ذكي. ولا يستدعي الأداة المشاهد ولا الفني ولا المشاهد بدون تسعير، لكنهم يرون سطر العنوان في
tenders_list.
tenders_distribution
يعيد توزيع بنود المنافسة بحسب المواقع: لكل بند الموقع (plant) وعنوان التسليم اللذين يذهب إليهما وكمية كل منهما. والبند الذي لا صفوف توزيع له لا يظهر.
للقراءة فقط · الصلاحية tenders.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة. |
ما يعيده: distributions: قائمة بمدخل لكل بند فيه tender_item_id وصفوفه في rows، ولكل صف plant وdelivery_address وquantity.
- منافسة غير موجودة، أو منافسة يدوية لمؤسسة أخرى، ترد بخطأ 404.
تاريخ أسعار بنود المنافسة
ثلاث صور لما يعرف عن بنود المنافسة قبل أن تسعرها: ما رسا في نوبكو سابقا، وما أخذته من أسعار الموردين، وما قدمته مؤسستك. الأدوات الثلاث للخطة الاحترافية وخطة المؤسسات. وشرح هذه المعلومات في التطبيق في الأسعار التاريخية.
tenders_historical_prices
يطابق بنود المنافسة بنتائج ترسيات نوبكو السابقة عبر رمز المادة. ولكل رمز يذكر المورد الفائز بالترسية والشركة المصنعة وسعر الوحدة، من الأرخص إلى الأغلى.
للقراءة فقط · الصلاحية tenders.read · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة. |
ما يعيده: prices: مدخل لكل رمز مادة فيه rows، ولكل صف unit_price وcurrency وuom وvendor_name وmanufacturer وcountry وcatalog_no وsource_tender_number وaward_date وawarded_to_us وprice_hidden، وprice_hidden_reason في الصف المخفي سعره حتى يدفع الاشتراك. ومعها prices_hidden: القيمة unpaid حين تخفى الأسعار لهذا السبب، وإلا null.
- الصف الذي نشر إعلان ترسيته بلا سعر يكون
unit_priceفيه فارغا (null). هذا يعني أن السعر لم ينشر، لا أنه صفر، وتأتي هذه الصفوف في آخر القائمة. awarded_to_usتكونtrueحين يطابق اسم المورد الفائز اسم مؤسستك أو اسمها القانوني بالعربية أو الإنجليزية.- قبل أن تكتمل أول دفعة لاشتراك مؤسستك قد تأتي الصفوف بلا أسعار: الصف الذي أخفي سعره لهذا السبب يعود بـ
unit_priceفارغ وprice_hiddenبقيمةtrueوprice_hidden_reasonبقيمةunpaid، وترتب الصفوف بحسب المورد لا بحسب السعر. فالسعر موجود لكنه مخفي، وليس سعرا غير منشور. - والصف الذي يحمل
price_hiddenبقيمةtrueدونprice_hidden_reasonله سعر لا يظهر لمؤسستك، ويرتب مع الصفوف التي لا سعر لها. فالسعر موجود لكنه مخفي، وليس سعرا غير منشور. - تحتسب كل قراءة من رصيد مؤسستك في الدقيقة لعمليات البحث في المنافسات وسجل الأسعار، وهو رصيد مشترك بين كل المفاتيح والموصلات والتطبيق. وحين ينتهي ترد الأداة بخطأ 429
rate_limitedيذكر عدد الثواني قبل المحاولة التالية. - تطابق الأداة البنود التي لها رمز مادة فقط، فمنافسة بنودها بلا رموز تعيد
pricesفارغة. وللبحث في السجل كله برمز أو مورد استخدم `historical_prices_list`.
tenders_sourcing_history
يعرض أسعار الموردين التي سجلتها مؤسستك سابقا للبنود نفسها في منافساتها الأخرى وطلبات التسعير، ويطابقها ببنود هذه المنافسة عبر المنتج من الكتالوج أو رمز نوبكو.
للقراءة فقط · الصلاحية tenders.read · الأدوار: المالك، المدير، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة. |
ما يعيده: items: مدخل لكل بند له تاريخ فيه tender_item_id وعروضه في quotes. لكل عرض matchBasis (product أو code) وunitPriceUsd وunitPriceSar وcurrency مع quotedUnitPrice وvendorName وleadTimeDays وcatalogNo وsource وsubmittedAt، ومعها طلب التسعير أو المنافسة التي جاء منها.
- حتى 50 عرضا لكل بند، من الأحدث إلى الأقدم، وتسقط العروض التي بلا سعر. وتظهر القيمة
productفيmatchBasisحين يسعر العرض منتج البند من الكتالوج، وcodeحين يشارك البند رمز نوبكو. - لا تحتسب عروض هذه المنافسة نفسها، بل منافساتك الأخرى وطلبات التسعير فقط. وهذا التاريخ دليل لا تكلفة جارية، فلا يغير تكلفة هذه المنافسة.
- لا تاريخ للبند الذي ليس له رمز نوبكو ولا منتج مختار. وأسعار الموردين بيانات تكلفة، فلا يراها دورا المبيعات والفني.
tenders_submission_history
يعرض تاريخ مؤسستك مع منتجات المنافسة: الترسيات السابقة التي رست عليك في نتائج نوبكو، والأسعار التي قدمتها من قبل، مطابقة برمز المادة.
للقراءة فقط · الصلاحية tenders.read · الأدوار: المالك، المدير، المبيعات، المشتريات، المشاهد · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف المنافسة. |
ما يعيده: submissions: مدخل لكل رمز مادة له تاريخ، فيه awarded (لكل ترسية unit_price وcurrency وuom وsource_tender_number وaward_date وprice_hidden، وprice_hidden_reason في الترسية المخفي سعرها حتى يدفع الاشتراك) وquotes (لكل عرض unit_price وcurrency وsource وreference وcustomer_name وstatus وquote_date وtender_id). ومعها prices_hidden كما في tenders_historical_prices.
- تضم
awardedالترسيات التي يطابق اسم المورد الفائز فيها اسم مؤسستك أو اسمها القانوني فقط، من الأحدث إلى الأقدم. وقد يكونunit_priceفيها فارغا إن نشرت الترسية بلا سعر. - وأسعار الترسيات هنا تتبع قواعد
tenders_historical_pricesنفسها، فلا يكشف تغيير اسم المؤسسة سعرا لا يظهر لها. قبل أن تكتمل أول دفعة لاشتراك مؤسستك قد تكونprices_hiddenبقيمةunpaid، وتعود الترسية التي أخفي سعرها لهذا السبب بـunit_priceفارغ وprice_hiddenبقيمةtrueوprice_hidden_reasonبقيمةunpaid. والترسية التي تحملprice_hiddenبقيمةtrueدونprice_hidden_reasonلها سعر لا يظهر لمؤسستك. فالسعر موجود لكنه مخفي، وليس سعرا غير منشور. - أما
quotesفهي أسعار مؤسستك نفسها، فلا يخفى منها شيء. - تأتي
quotesمن مصدرين: عروض سابقة استوردتها (sourceبقيمةimport)، وأسعار البنود التي حددتها في منافساتك الأخرى داخل بروكداك (sourceبقيمةsystem، بالريال السعودي ومعهاtender_id). وأسعار هذه المنافسة نفسها لا تحتسب. - تطابق الأداة البنود التي لها رمز مادة فقط، فمنافسة بنودها بلا رموز تعيد
submissionsفارغة.
المفضلة
المفضلة منافسات تتابعها مؤسستك، ولكل منها ملاحظة اختيارية. وهي للمؤسسة كلها لا لعضو بعينه، وتحتسب مع العطاءات ضمن حد خطتك للمنافسات النشطة: 10 في خطة البداية، و100 في الاحترافية، وبلا حد في المؤسسات.
favorites_list
يعرض المنافسات التي أضافتها مؤسستك إلى المفضلة، من الأحدث إضافة إلى الأقدم، ومع كل منها سجل المنافسة والملاحظة المحفوظة معها. ويرى كل الأعضاء القائمة نفسها.
للقراءة فقط · الصلاحية favorites.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
page | integer | لا | رقم الصفحة، ويبدأ من 1. |
page_size | integer | لا | عدد النتائج في الصفحة: 20 افتراضيا، وحده الأقصى 100. |
ما يعيده: صفحة من المفضلة مع total وtotal_pages. لكل مفضلة tender_id وnotes وcreated_at والمنافسة نفسها في tenders.
favorites_add
يضيف منافسة إلى مفضلة مؤسستك مع ملاحظة اختيارية. وإضافة منافسة موجودة في المفضلة تستبدل ملاحظتها فقط، وترك notes يمسح الملاحظة، فلا تتكرر المنافسة في المفضلة إن كررت الاستدعاء.
يغير البيانات · الصلاحية favorites.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
tender_id | integer | نعم | معرف المنافسة، ويأتي من tenders_list أو tenders_search. |
notes | string | لا | ملاحظة تحفظ مع المفضلة، حتى 2,000 حرف. أرسل null أو اتركها ليكون بلا ملاحظة. |
{
"tender_id": 48213,
"notes": "Follow up with the procurement desk before the briefing"
}ما يعيده: المفضلة بعد الحفظ، وفيها tender_id وnotes وcreated_at.
- تحتسب المفضلة مع العطاءات ضمن حد المنافسات النشطة، والمنافسة التي في الاثنين تحتسب مرة واحدة. وإضافة مفضلة جديدة بعد بلوغ الحد ترد بخطأ 402 و
plan_limit_reachedمعlimitوcurrent. أما تعديل ملاحظة مفضلة قائمة فلا يرفض أبدا. - منافسة لا تراها ترد بخطأ 404.
favorites_remove
يزيل منافسة من مفضلة مؤسستك، وتذهب معها الملاحظة المحفوظة. وإزالة منافسة ليست في المفضلة لا تعد خطأ.
يحذف بيانات أو يستبدلها · الصلاحية favorites.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
tender_id | integer | نعم | معرف المنافسة المراد إزالتها. |
ما يعيده: تأكيد الإزالة.
عمليات البحث المحفوظة
البحث المحفوظ يخزن استعلاما ومرشحات تحت اسم ليعيد فريقك تشغيلها من صفحة البحث. وهو لا ينبهك بالجديد: لذلك أنشئ تنبيه كلمات مفتاحية.
saved_searches_list
يعرض عمليات البحث المحفوظة في مؤسستك من الأحدث إلى الأقدم، ويراها كل الأعضاء.
للقراءة فقط · الصلاحية search · كل الأدوار · الخطة الاحترافية وخطة المؤسسات
لا معاملات.
ما يعيده: saved_searches: قائمة لكل بحث فيها id وname وquery وagency وtender_type وsource وdate_from وdate_to وcreated_at.
saved_searches_create
يحفظ بحثا باسم، باستعلامه ومرشحاته، فيظهر في قائمة عمليات البحث المحفوظة لمؤسستك.
يغير البيانات · الصلاحية searches.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
name | string | نعم | اسم البحث المحفوظ، من حرف واحد إلى 200 حرف. |
query | string | لا | نص البحث بالصيغة نفسها التي يقبلها q في tenders_list، حتى 500 حرف. أرسل null ليكون بلا نص. |
agency | string | لا | مرشح الجهة، حتى 300 حرف. |
tender_type | string | لا | مرشح نوع المنافسة: open أو direct أو limited أو contest أو badail. |
source | string | لا | مرشح المصدر: etimad أو nupco أو manual. |
date_from | string | لا | أقدم موعد لتقديم العروض بصيغة YYYY-MM-DD. |
date_to | string | لا | أبعد موعد لتقديم العروض بصيغة YYYY-MM-DD. |
{
"name": "Ministry of Health sutures",
"query": "item:(suture AND absorbable)",
"agency": "Health",
"source": "nupco"
}ما يعيده: البحث المحفوظ في saved_search.
- حين يفتح عضو البحث المحفوظ في صفحة البحث يتحول
date_toإلى خيار «ينتهي خلال» الأقرب من 7 أيام أو 30 يوما أو سنة، ويهمل إذا فات التاريخ. أماdate_fromفيحفظ ولا تطبقه الصفحة. - يحفظ كل ما ترسله كما هو دون فحص أن الاستعلام صحيح.
saved_searches_delete
يحذف بحثا محفوظا من قائمة مؤسستك. لا يمكن التراجع عن ذلك.
يحذف بيانات أو يستبدلها · الصلاحية searches.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
id | integer | نعم | معرف البحث المحفوظ، ويأتي من saved_searches_list. |
ما يعيده: تأكيد الحذف.
- معرف لا يخص مؤسستك لا يحذف شيئا ولا يرد بخطأ.
التصدير
export_tenders_csv
يصدر حتى 1,000 منافسة بصيغة CSV نصية، أو بنود هذه المنافسات حين ترسل items بالقيمة true. والأعمدة بالعربية والترميز UTF-8 مع BOM، فيفتحه Excel بشكل سليم.
للقراءة فقط · الصلاحية export · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات
| المعامل | النوع | مطلوب | الوصف |
|---|---|---|---|
q | string | لا | كلمات عادية يبحث عنها في اسم المنافسة وجهتها ورقمها ورقمها المرجعي ونص بنودها: الفاصلة تعني OR، وعلامة + أو AND بحروف كبيرة تعني AND. ولا تفهم هذه الأداة الصيغة المنظمة لـtenders_search (مثل agency:)، فاستخدم المعاملات الأخرى للتضييق. |
source | string | لا | يصدر منافسات هذا المصدر فقط: etimad أو nupco أو manual للمنافسات التي أضافها فريقك. |
agency | string | لا | جزء من اسم الجهة الحكومية. |
type | string | لا | نوع المنافسة: open أو direct أو limited أو contest أو badail (طلبات بدائل نوبكو للدفع على الحساب). وتقبل القيمة العربية المخزنة أيضا. |
date_from | string | لا | الحد الأدنى لآخر موعد لتقديم العروض بصيغة YYYY-MM-DD. |
date_to | string | لا | الحد الأعلى لآخر موعد لتقديم العروض بصيغة YYYY-MM-DD، ويدخل فيه اليوم المذكور كله. |
created_within | integer | لا | يصدر ما وصل إلى المنصة من منافسات خلال آخر هذا العدد من الأيام، من 1 إلى 3,650. |
expired | boolean | لا | أرسل true لتشمل الملف المنافسات التي فات موعدها. دونه تصدر المنافسات المفتوحة فقط. |
items | boolean | لا | أرسل true لصف لكل بند من بنود المنافسات بدل صف لكل منافسة. |
{
"q": "gloves",
"source": "nupco",
"created_within": 30,
"items": true
}ما يعيده: نص CSV أول سطر فيه عناوين الأعمدة. لكل منافسة صف فيه المصدر والاسم والجهة والنوع والرقم المرجعي وتاريخ النشر وآخر موعد للعروض ورسوم الشراء والأيام المتبقية والرابط. ومع items صف لكل بند فيه اسم منافسته وجهتها ورقم البند واسمه ووصفه وكميته ووحدته وسعره التقديري.
- لا يصدر غير المالك والمدير، وتلزم صلاحية
exportوهي غيرtenders.read. - تصدر 1,000 منافسة على الأكثر، ولا يوجد ترقيم صفحات: ضيق النتائج بالمرشحات. ومع
itemsتصدر بنود هذه المنافسات، فقد يطول الملف. - ترشح التواريخ هنا بآخر موعد لتقديم العروض كما في
tenders_list، لا بتاريخ النشر كما فيtenders_search، وتصدر المنافسات المفتوحة فقط ما لم ترسلexpired. - يسجل كل تصدير في سجل نشاط الفريق باسم العضو الذي أنشأ المفتاح، ويراه المالك في team_activity_list.