تصفح الدليل

أدوات MCP

الفريق والإعدادات والملف الشخصي

أدوات MCP لأعضاء الفريق ودعواتهم وإعدادات المؤسسة وملفك الشخصي.

تجمع هذه الصفحة أدوات إدارة المؤسسة: أعضاء الفريق ودعواتهم، وبيانات المؤسسة التي تطبع على عروض الأسعار، وملفك الشخصي. أغلبها للمالك والمدير، وبعضها للمالك وحده، وتذكر كل أداة من يستطيع استخدامها.

الأدوار التي يمكن تعيينها ستة: admin وsales وpurchasing وtechnical وviewer وviewer_no_pricing. المدير يدير الفريق والتكاملات، أما الفوترة وبيانات المؤسسة وسجل نشاط الفريق فللمالك وحده. المبيعات والمشتريات يعملان على العطاءات وعروض الأسعار والكتالوج ويريان أسعار البيع. والمبيعات لا ترى أسعار التكلفة ولا عروض الموردين، أما المشتريات فترى الجانبين. الفني يقرأ الكتالوج والشركات المصنعة والمنافسات دون أي أسعار. المشاهد للقراءة فقط ويرى كل الأسعار، والمشاهد بدون تسعير للقراءة فقط دون أسعار. وأما المالك (owner) فهو من أنشأ المؤسسة، ولا يعين ولا يتغير دوره ولا يزال بهذه الأدوات.

تنبيه:الويب هوك ومفاتيح API لا تدار من خادم MCP. ينشئها المالك أو المدير من الإعدادات ← التكاملات في التطبيق، أو عبر واجهة REST.
الأداةما تفعله
team_listعرض الفريق
team_update_roleتغيير دور عضو
team_removeإزالة عضو من الفريق
team_invite_createدعوة عضو إلى الفريق
team_invite_resendإعادة إرسال دعوة
team_invite_cancelإلغاء دعوة
settings_getعرض إعدادات المؤسسة
settings_updateتعديل إعدادات المؤسسة
profile_getعرض الملف الشخصي
profile_updateتعديل الملف الشخصي
zoho_books_getعرض ربط Zoho Books
zoho_books_organizations_listعرض منشآت Zoho Books
zoho_books_settings_updateتعديل إعدادات مزامنة Zoho Books
zoho_books_syncمزامنة Zoho Books الآن
zoho_books_disconnectفصل Zoho Books

أعضاء الفريق والدعوات

الدعوة تنتهي بعد 7 أيام. وتحتسب المقاعد من الأعضاء الحاليين والدعوات المعلقة معا.

team_list

يعرض أعضاء المؤسسة ببريد كل عضو ورقم جواله، مع الدعوات المعلقة التي ما زال بإمكان أصحابها قبولها. منه تأخذ معرفات العضويات والدعوات لبقية أدوات الفريق.

للقراءة فقط · الصلاحية team.read · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: members (لكل عضو id وهو معرف العضوية، وuser_id وrole وcreated_at وكائن profiles فيه email وfirst_name وlast_name وfull_name وphone_number وcompany_name) وinvitations (لكل دعوة id وemail وphone_number وrole وstatus وexpires_at).

  • لا تعرض الدعوات المنتهية ولا المقبولة ولا الملغاة، فالقائمة تضم ما يمكن قبوله فقط.

team_update_role

يغير دور عضو في الفريق. دور المالك لا يتغير أبدا، ولا يمكن تعيين الدور owner بهذه الأداة.

يغير البيانات · الصلاحية team.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
member_idintegerنعممعرف العضوية، وهو id العضو في رد team_list وليس معرف المستخدم.
rolestringنعمالدور الجديد: admin أو sales أو purchasing أو technical أو viewer أو viewer_no_pricing، وشرحها في مقدمة الصفحة. لا يقبل owner.
{
  "member_id": 27,
  "role": "purchasing"
}
مثال على المعاملات

ما يعيده: تأكيد success: true.

  • المالك وحده محمي: تغيير دوره يرد 403، أما دور أي عضو آخر، ومنهم المدير، فيمكن تغييره. والعضو المجهول يرد 404.
  • يسري الدور الجديد على طلبات العضو التالية فورا.

team_remove

يزيل عضوا من المؤسسة ويسحب وصوله إلى المنصة. لا يمكن التراجع عن ذلك، وعودته تتطلب دعوة جديدة. ولا يمكن إزالة المالك.

يحذف بيانات أو يستبدلها · الصلاحية team.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
member_idintegerنعممعرف العضوية، وهو id العضو في رد team_list.

ما يعيده: تأكيد success: true.

  • محاولة إزالة المالك ترد 403، وعضو غير موجود يرد 404.
  • مفاتيح API التي أنشأها العضو تتوقف عن العمل بعد خروجه من المؤسسة.

team_invite_create

يرسل بالبريد دعوة للانضمام إلى المؤسسة بدور محدد. رقم جوال المدعو (واتساب) مطلوب إلى جانب بريده، وينسخ إلى ملفه عند قبول الدعوة، وبه تتعرف عليه المنصة، كالموافقة على انضمامه إلى مجموعات واتساب. وتحتسب المقاعد المشغولة والدعوات المعلقة معا ضمن حد خطتك، أو ضمن المقاعد المدفوعة إن كان اشتراكك يحسب لكل مستخدم. وعند بلوغ الحد يضيف المالك مقعدا من صفحة الفوترة أو الفريق في التطبيق، لأن ذلك يخصم من البطاقة.

يغير البيانات · الصلاحية team.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
emailstringنعمبريد المدعو الإلكتروني، حتى 320 حرفا. يحفظ بأحرف صغيرة.
phone_numberstringنعمجوال المدعو (واتساب) مع رمز الدولة، مثل +9665XXXXXXXX. يقبل الرقم المحلي السعودي 05XXXXXXXX ويكمل برمز الدولة، ويحفظ أرقاما فقط. والرقم غير الصالح يرد 400.
rolestringنعمالدور الذي يمنح للعضو: admin أو sales أو purchasing أو technical أو viewer أو viewer_no_pricing، وشرحها في مقدمة الصفحة. لا يقبل owner.
{
  "email": "layla.hassan@acme-medical.example",
  "phone_number": "+966501234567",
  "role": "sales"
}
مثال على المعاملات

ما يعيده: success وinvitation_id وemail_sent، وهذا الأخير يبين هل خرج بريد الدعوة فعلا.

  • إذا بلغ مجموع الأعضاء والدعوات المعلقة حد خطتك ردت الأداة 402 plan_limit_reached مع limit وcurrent. والخطة التي لا تتيح تمييز الأدوار (البداية) لا تقبل إلا الدور admin، وغيره يرد 402 plan_feature_required.
  • يرد 409 إذا كان صاحب البريد عضوا في مؤسسة، هذه أو غيرها، أو عنده دعوة معلقة إلى أي مؤسسة: لكل شخص مؤسسة واحدة ودعوة مفتوحة واحدة.
  • تنتهي الدعوة بعد 7 أيام. ورابطها يأخذ المدعو إلى التسجيل ليدخل هذه المؤسسة.

team_invite_resend

يعيد إرسال بريد دعوة ما زالت معلقة ولم تنته مدتها، بالرابط نفسه. ولا يمد مدة الدعوة.

يغير البيانات · الصلاحية team.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
invitation_idintegerنعممعرف الدعوة، من team_list.

ما يعيده: success وemail_sent، وهذا الأخير يبين هل خرج البريد فعلا.

  • الدعوة المجهولة ترد 404، والتي لم تعد معلقة (قبلت أو ألغيت) ترد 400، والمنتهية ترد 410: ألغها وأرسل دعوة جديدة.

team_invite_cancel

يلغي دعوة معلقة فلا يعود رابطها يقبل. لا يمكن التراجع، وإن أردت دعوة الشخص من جديد فأرسل دعوة أخرى.

يحذف بيانات أو يستبدلها · الصلاحية team.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
invitation_idintegerنعممعرف الدعوة، من team_list.

ما يعيده: تأكيد success: true.

  • المعلقة وحدها تلغى، وغيرها (كالمقبولة) يرد 400. والإلغاء يعيد المقعد إلى حد خطتك.

إعدادات المؤسسة

هذه البيانات تطبع على عروض الأسعار ومستنداتها، وهي للمالك وحده قراءة وكتابة. ولصورتي الشعار والختم أدوات رفع خاصة، منها `settings_logo_upload_url_create` و`settings_stamp_upload_url_create`.

settings_get

يعرض بيانات المؤسسة التي تطبع على عروض الأسعار: الأسماء وأرقام التسجيل والعنوان وبيانات الاتصال، وقيم عروض الأسعار الافتراضية. للمالك وحده.

للقراءة فقط · الصلاحية settings.read · الأدوار: المالك · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: سجل المؤسسة: name وlegal_name_ar وlegal_name_en وcr_number وcc_number وsfda_license وvat_number وaddress_ar وaddress_en وphone وfax وpo_box وcity وpostal_code وحقول القيم الافتراضية وquote_number_prefix، مع logo_path وstamp_path اللذين يدلان على وجود الصورتين.

  • القراءة نفسها محصورة بالمالك: أي دور آخر يرد 403.
  • logo_path وstamp_path للقراءة فقط هنا. وترفع الصورتان أو تحذفان بأدوات الشعار والختم.

settings_update

يعدل نصوص بيانات المؤسسة وقيم عروض الأسعار الافتراضية. لا يتغير إلا ما ترسله، ويمسح النص الفارغ الحقل. للمالك وحده.

يغير البيانات · الصلاحية settings.write · الأدوار: المالك · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
namestringلااسم المؤسسة المعروض، من حرف إلى 200 حرف. لا يمسح.
legal_name_arstringلاالاسم القانوني بالعربية، حتى 200 حرف. أرسل null لمسحه.
legal_name_enstringلاالاسم القانوني بالإنجليزية، حتى 200 حرف. أرسل null لمسحه.
cr_numberstringلارقم السجل التجاري، حتى 50 حرفا. أرسل null لمسحه.
cc_numberstringلارقم عضوية الغرفة التجارية، حتى 50 حرفا. أرسل null لمسحه.
sfda_licensestringلارقم ترخيص هيئة الغذاء والدواء (SFDA)، حتى 100 حرف. أرسل null لمسحه.
vat_numberstringلاالرقم الضريبي، حتى 50 حرفا. أرسل null لمسحه.
address_arstringلاالعنوان بالعربية، حتى 500 حرف. أرسل null لمسحه.
address_enstringلاالعنوان بالإنجليزية، حتى 500 حرف. أرسل null لمسحه.
phonestringلاهاتف المؤسسة، حتى 50 حرفا. أرسل null لمسحه.
faxstringلارقم الفاكس، حتى 50 حرفا. أرسل null لمسحه.
po_boxstringلاصندوق البريد، حتى 50 حرفا. أرسل null لمسحه.
citystringلاالمدينة، حتى 100 حرف. أرسل null لمسحها.
postal_codestringلاالرمز البريدي، حتى 20 حرفا. أرسل null لمسحه.
default_quote_validity_daysintegerلامدة صلاحية عرض السعر الافتراضية بالأيام، من 1 إلى 3650. تملأ بها العروض الجديدة.
default_delivery_period_daysintegerلامدة التوريد الافتراضية بالأيام، من 1 إلى 3650. تملأ بها العروض الجديدة.
default_payment_termsstringلاشروط الدفع الافتراضية للعروض الجديدة. إما مفتاح جاهز: advance_100 (دفعة مقدمة كاملة) أو advance_50_balance_on_delivery (نصف المبلغ مقدما والباقي عند التسليم) أو on_delivery (الدفع عند التسليم) أو net_30 أو net_60 أو net_90 (خلال 30 أو 60 أو 90 يوما من تاريخ الفاتورة)، وإما نص مخصص يطبع كما كتبته، حتى 500 حرف. أرسل null لتطبع العروض الجديدة بلا شروط دفع.
default_first_delivery_daysintegerلامدة التوريد الأولى الافتراضية للمؤسسة بالأيام، من 0 إلى 3650. تستخدم في مستندات العطاء حين لا يحدد المنتج مدة خاصة به.
default_order_delivery_daysintegerلامدة توريد الطلبات الافتراضية للمؤسسة بالأيام، من 0 إلى 3650. تستخدم في مستندات العطاء حين لا يحدد المنتج مدة خاصة به.
quote_number_prefixstringلاالبادئة التي تبدأ بها أرقام عروض الأسعار، من حرف إلى 10 أحرف.
catalog_pricing_lowest_pricebooleanلاحين يشترك عدة منتجات في كود نوبكو لبند ولا منتج افتراضي للكود، يسعر tenders_catalog_pricing البند بأقل سعر بيع بينها. يعمل افتراضيا، وfalse يترك هذه البنود ليختار لها شخص.
{
  "cr_number": "1010123456",
  "vat_number": "300012345600003",
  "default_quote_validity_days": 30,
  "default_payment_terms": "net_30",
  "quote_number_prefix": "ACM-"
}
مثال على المعاملات

ما يعيده: تأكيد success: true.

  • يمسح الحقل النصي بنص فارغ أو بـnull. أما name وquote_number_prefix وحقول الأيام فلا تمسح.
  • تحتفظ عروض الأسعار القائمة ببياناتها كما طبعت يوم إنشائها، ولا يسري التغيير إلا على العروض الجديدة.

ملفك الشخصي

الأداتان تعملان على العضو الذي ربط الاتصال، وهو من تنسب إليه كل عملية كتابة.

profile_get

يعرض ملف العضو الذي ربط الاتصال: اسمه وبريده ورقم جواله، مع مؤسسته وصلاحيات الاتصال ودوره وخطة المؤسسة وما يتاح لدوره من قدرات.

للقراءة فقط · الصلاحية settings.read · كل الأدوار · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: user_id وorg_id وscopes وrole وplan (فيها tier وfeatures) وcapabilities (ما يراه الدور ويديره، مثل can_view_bid_pricing) وfirst_name وlast_name وfull_name وphone_number وemail.

  • plan.features يبين ما تتيحه خطة المؤسسة. والأداة التابعة لميزة غير متاحة في الخطة ترد 403 plan_upgrade_required.
  • capabilities تلخص ما يستطيعه الدور: رؤية الأسعار وعروض الموردين والتسليمات والأوامر، وتعديل العطاءات والمنتجات.
  • المفتاح الذي غادر صاحبه المؤسسة يرد 403 على كل استدعاء، لا على هذه الأداة وحدها، ويلزم أن يصدر المدير مفتاحا جديدا.

profile_update

يعدل ملفك الشخصي: الاسم الأول واسم العائلة ورقم الجوال. والرقم هو جهة اتصالك مندوبا للمبيعات في عروض الأسعار، وبه تتعرف عليك المنصة، كالموافقة على انضمامك إلى مجموعات واتساب.

يغير البيانات · الصلاحية settings.write · الأدوار: المالك، المدير، المبيعات، المشتريات · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
first_namestringلاالاسم الأول، حتى 100 حرف. أرسل null لمسحه.
last_namestringلااسم العائلة، حتى 100 حرف. أرسل null لمسحه.
full_namestringلاالاسم الكامل بديلا عن الاسمين السابقين، حتى 200 حرف. يقسم عند أول مسافة إلى اسم أول واسم عائلة، ويهمل إذا غيرت الاسم الأول أو اسم العائلة في الطلب نفسه. أرسل null لمسحه.
phone_numberstringلاجوالك (واتساب) مع رمز الدولة، حتى 30 حرفا. يحفظ أرقاما فقط، ويقبل الرقم المحلي السعودي 05XXXXXXXX ويكمله برمز الدولة. أرسل null أو نصا فارغا لمسحه.
{
  "first_name": "Layla",
  "last_name": "Hassan",
  "phone_number": "+966501234567"
}
مثال على المعاملات

ما يعيده: تأكيد success: true.

  • الاسم الكامل يشتق من الاسم الأول واسم العائلة. والرقم غير الصالح يرد 400، والطلب الذي لا يحمل أي حقل يرد 400 أيضا.
  • تتحدث إدخالات سجل مندوبي المبيعات المرتبطة بك تلقائيا مع ملفك، أما عروض الأسعار التي أنشئت من قبل فتحتفظ ببيانات الاتصال المطبوعة عليها.

ربط Zoho Books

تستخدم كل منشأة عميل API خاصا بها في Zoho. يدخل المالك أو المدير بيانات هذا العميل ثم يربط الحساب من الإعدادات ← التكاملات في التطبيق، لأن الرمز السري لا يمر عبر هذه الأدوات ومنح الصلاحية يتم في صفحة Zoho نفسها. وبعد الربط تدار المزامنة كلها بهذه الأدوات. تعمل المزامنة كل ساعة، ولا تحذف أي سجل في أي من الجانبين.

zoho_books_get

يعرض حالة الربط ومنشأة Zoho Books المختارة، والاتجاهات المفعلة، وتاريخ البدء، ونتيجة آخر مزامنة وأعدادها.

للقراءة فقط · الصلاحية settings.read · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: كائن فيه connected وzoho_organization_name وimport_sales_orders وimport_mode وexport_sales_orders وexport_quotations وsync_since وlast_sync_at وlast_sync_ok وlast_sync_summary. لا يعيد أي رمز دخول.

zoho_books_organizations_list

يعرض منشآت Zoho Books التي يصل إليها الحساب المربوط، لتختار واحدة منها للمزامنة.

للقراءة فقط · الصلاحية settings.read · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: قائمة organizations، فيها organization_id وname لكل منشأة.

zoho_books_settings_update

يختار منشأة Zoho Books ويفعل اتجاهات المزامنة أو يوقفها. لا يتغير إلا ما ترسله.

يغير البيانات · الصلاحية settings.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

المعاملالنوعمطلوبالوصف
zoho_organization_idstringلامعرف المنشأة من zoho_books_organizations_list.
import_sales_ordersbooleanلااستيراد أوامر البيع من Zoho Books.
import_modestringلاطريقة الاستيراد: records تنسخ الأمر وملفاته كل ساعة، وfiles لا تنشئ شيئا تلقائيا بل يقرأ العضو أمر الشراء المرفق من صفحة استيراد أوامر البيع.
import_sales_order_documentsbooleanلافي طريقة records، انسخ الملفات المرفقة بكل أمر أيضا. مفعل افتراضيا.
export_sales_ordersbooleanلاإرسال أوامر البيع إلى Zoho Books. ولا ترسل الأوامر المستوردة منه.
export_quotationsbooleanلاإرسال عروض الأسعار المعتمدة كتقديرات، بعد بقائها معتمدة 24 ساعة.
sync_sincestringلاتاريخ بصيغة YYYY-MM-DD، ولا تنتقل إلا السجلات المؤرخة فيه أو بعده.
{
  "import_sales_orders": true,
  "import_mode": "files",
  "export_quotations": true
}
مثال على المعاملات

ما يعيده: حالة الربط بعد التعديل، كما في zoho_books_get.

  • لا يفعل أي اتجاه قبل اختيار المنشأة، ويرد الطلب 409.

zoho_books_sync

يشغل المزامنة فورا بدل انتظار التشغيل التالي، ويعيد ما تم في هذا التشغيل.

يغير البيانات · الصلاحية settings.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: كائن summary فيه أعداد الأوامر والملفات المستوردة وأوامر البيع وعروض الأسعار المرسلة، وسطر لكل سجل رفضه Zoho.

  • يرد 409 إذا كانت مزامنة أخرى جارية أو لم يفعل أي اتجاه.

zoho_books_disconnect

يلغي صلاحية بروكداك في Zoho Books ويوقف المزامنة ويحذف الرمز السري المحفوظ لعميل المنشأة. لا يحذف شيئا نسخ سابقا في أي من الجانبين.

يحذف بيانات أو يستبدلها · الصلاحية settings.write · الأدوار: المالك، المدير · الخطة الاحترافية وخطة المؤسسات

لا معاملات.

ما يعيده: تأكيد disconnected: true.

  • إعادة الربط تتم من التطبيق فقط، ولا تنسخ أي سجل مرتين.