# ربط نظامك (Custom API)

> اربط موقعك أو نظامك الخاص بوكيل مجيب الذكي — يستدعي الوكيل واجهة API الخاصة بك أثناء المحادثة ليتحقق من حالة الطلب أو المخزون أو الحجوزات أو نقاط الولاء ويجيب العميل بالنتيجة. متاح في كل الباقات المدفوعة.

تتيح أداة ربط نظامك لوكيل الذكاء الاصطناعي أن يتواصل مع نظامك الخاص أثناء محادثته مع العميل. تصف طلبًا واحدًا — رابطًا، وطريقة الدخول، ومتى يُستخدم — فيستدعيه الوكيل عندما يسأل العميل، ثم يجيب بلغة بسيطة. الاستخدامات الشائعة: حالة الطلب، المخزون والأسعار، تأكيد الحجوزات، نقاط الولاء. هذه الأداة مشمولة في كل الباقات المدفوعة.

## كيف تعمل أداة ربط نظامك؟

تُعدّ الأداة مرة واحدة في لوحة التحكم. بعدها يستخدمها الوكيل بنفسه: يتعرّف على السؤال المناسب، ويملأ القيم من المحادثة، ويرسل مجيب الطلب إلى نظامك، ويحوّل الوكيل الرد إلى إجابة. لا يرى العميل سوى الإجابة، ولا يرى الطلب ولا الرد الخام أبدًا.

الدورة خطوة بخطوة:

1. **يسأل العميل** — «وين طلبي رقم 1042؟»
2. **يقرّر الوكيل** — تعليماتك تقول إن هذه الأداة لأسئلة حالة الطلب، فيختارها ويأخذ `1042` رقمًا للطلب.
3. **يستدعي مجيب نظامك** — يُرسل الطلب الذي أعددته، مثل `GET https://api.yourshop.com/orders/1042`، مع مفتاح API الخاص بك.
4. **يرد نظامك** — مثل `{"status": "shipped", "eta": "2026-10-08"}`.
5. **يجيب الوكيل** — «تم شحن طلبك ومن المتوقع وصوله يوم 8 أكتوبر».

كل أداة هي طلب واحد. إذا أردت أن يتحقق الوكيل من الطلبات ويبحث أيضًا في المنتجات، فأنشئ أداتين.

## ما الذي يمكنني ربطه؟

أي نظام يرد عبر HTTPS بردود JSON: متجرك الإلكتروني، أو نظام حجوزات، أو CRM أو ERP، أو خدمة خلفية بناها مطوّرك. لا يلزم تثبيت أي شيء من جهتك — نقطة نهاية واحدة موجودة تكفي. أمثلة شائعة:

- **تتبع الطلبات** — الحالة وشركة التوصيل وموعد التسليم، برقم الطلب
- **المنتجات** — التوفر والسعر والمقاسات والألوان، بالاسم أو الرمز
- **الحجوزات والمواعيد** — تأكيد حجز أو الاستعلام عنه أو إنشاؤه
- **حسابات العملاء** — نقاط الولاء أو الرصيد أو حالة العضوية
- **الأنظمة الداخلية** — أي CRM أو ERP أو نظام خاص له واجهة ويب

يجب أن يكون النظام متاحًا عبر الإنترنت. لا يمكن استخدام العناوين الخاصة ولا الشبكات المحلية ولا روابط `http://`.

## ماذا أحتاج قبل البدء؟

تحتاج إلى اشتراك مدفوع، ورابط الطلب عبر HTTPS، وطريقة الدخول التي تتوقعها واجهة API، وقيمة للتجربة، وردود بصيغة JSON. يستطيع من يدير نظامك توفير الأربعة الأخيرة في دقائق؛ ولا يلزم تثبيت أي شيء من جهته. بالتفصيل:

1. اشتراك **مدفوع** (Starter أو Professional) — راجع [الباقات والأسعار](/docs/billing/plans-and-pricing)
2. **رابط** الطلب، ويبدأ بـ `https://`
3. **طريقة الدخول** التي تتوقعها واجهة API — مفتاح API، أو رمز Bearer، أو اسم مستخدم وكلمة مرور، أو OAuth2 client credentials
4. **قيمة للتجربة**، مثل رقم طلب حقيقي
5. ردود بصيغة **JSON** — وهي الصيغة الوحيدة التي يستطيع الوكيل قراءتها

## كيف أنشئ أداة ربط نظامك؟

انتقل إلى [الأدوات](https://dashboard.mojeeb.app/tools)، واختر الوكيل من أعلى لوحة التحكم، وابحث عن **ربط نظامك (API)** تحت **أدوات متاحة**، ثم انقر **ربط**. تُفتح صفحة **ربط نظامك**. املأها من الأعلى إلى الأسفل:

1. **الطلب** — الصق الرابط واختر نوع الطلب (GET أو POST أو PUT أو PATCH أو DELETE). أضف هيدرز إضافية فقط إذا كانت واجهة API تحتاجها.
2. **الحماية** — اختر طريقة دخول الطلب والصق المفتاح أو الرمز. راجع [كيف تعمل الحماية؟](#كيف-تعمل-الحماية)
3. **البودي** — يظهر مع POST وPUT وPATCH وDELETE. اكتب جسم الطلب بصيغة JSON أو كحقول نموذج.
4. **المدخلات اللي مجيب هيملاها** — كل `{{placeholder}}` كتبته في الرابط أو البودي يظهر هنا. صف كلًا منها ليعرف الوكيل ماذا يضع فيها، وأعطِ قيمة للتجربة.
5. **التفاصيل** — أعطِ الأداة اسمًا واكتب **إمتى مجيب يستخدمها؟**
6. انقر **احفظ وجرّب**. أصلح ما تبلّغ عنه التجربة حتى تعرض ردًا.
7. عندما تنجح التجربة تعمل الأداة من تلقاء نفسها — ترى الرسالة **الأداة شغّالة**. ومفتاح **شغّل الأداة** في أسفل الصفحة يوقفها مؤقتًا إن لم تكن جاهزًا.

تظهر الأداة الآن تحت **أدوات مفعّلة** في صفحة الأدوات.

![مجيب وكيل ذكاء اصطناعي دعم العملاء - صفحة أداة ربط نظامك مع قسمي الطلب والحماية](/img/screenshots/mojeeb-ai-tools-custom-api-form-ar.png)

### كيف أكتب الرابط؟

اكتب الرابط تمامًا كما تكتبه في المتصفح أو في Postman، وضع قوسين معقوفين مزدوجين حول كل جزء يجب أن يملأه الوكيل من المحادثة. بداية الرابط حتى أول شرطة مائلة بعد العنوان (`https://api.yourshop.com`، ومعه المنفذ إن وُجد) هي النطاق وتصبح هي الاتصال؛ وما بعده هو الطلب الذي يرسله مجيب في كل مرة:

```text
https://api.yourshop.com/orders/{{order_id}}
https://api.yourshop.com/products?search={{keyword}}&limit=3
```

القواعد:

- يجب أن يبدأ الرابط بـ `https://` وأن يشير إلى عنوان عام.
- يمكن وضع المتغيرات في المسار أو في الكويري، ولا يمكن وضعها في اسم النطاق أبدًا.
- يبدأ اسم المتغير بحرف إنجليزي صغير ولا يستخدم إلا الحروف الصغيرة والأرقام والشرطة السفلية: `order_id` و`phone` و`keyword2`.
- المتغير داخل المسار ضروري دائمًا، فأبقِه **مطلوب**. متغيرات الكويري وحدها يمكن أن تكون اختيارية.
- مفتاح الكويري الذي يكون متغيره اختياريًا ويتركه الوكيل فارغًا يُحذف من الطلب، لذلك يعمل `?order={{order}}&ref={{ref}}` حين يعطي العميل أحد الرقمين فقط.

### ما أنواع الطلبات المدعومة؟

GET وPOST وPUT وPATCH وDELETE. طلبات GET لا تحمل بودي. والأدوات التي تغيّر بيانات في نظامك — عادةً POST أو PUT — تُعدّ بالطريقة نفسها كالأدوات التي تقرأ فقط، ويمكن تشغيلها بعد نجاح التجربة.

### كيف أرسل بودي مع الطلب؟

مع طلبات POST وPUT وPATCH وDELETE يظهر قسم **البودي** تحت الحماية. اكتب البودي مرة واحدة مع متغيرات في المواضع التي يجب أن يُدخل فيها الوكيل قيمًا من المحادثة؛ وكل ما عداها يُرسل تمامًا كما كُتب في كل استدعاء. تتوفر صيغتان:

- **JSON** — اكتب البودي كنص وضع المتغيرات بين علامتي اقتباس كأي قيمة أخرى: `{"quantity": "{{qty}}"}`. عندما يكون المتغير هو القيمة كاملة يرسل مجيب القيمة بنوعها، فيصل الرقم رقمًا والقيمة المنطقية قيمة منطقية. وكل ما لا يحتوي على متغير يُرسل تمامًا كما كُتب، في كل مرة.
- **Form** — أزواج مفتاح وقيمة مسطّحة، تُرسل كنموذج ويب قياسي. لا كائنات متداخلة.

مثال لبودي JSON بمتغير واحد وقيم ثابتة:

```json
{
  "size": 3,
  "filters": [
    { "field": "active", "operator": "exact", "value": true },
    { "field": "name", "operator": "icontains", "value": "{{keyword}}" }
  ]
}
```

المتغير الاختياري الذي يتركه الوكيل فارغًا يُحذف من البودي بدل أن يُرسل نصًا فارغًا.

### كيف أصف المدخلات؟

تُكتشف المدخلات تلقائيًا: كل متغير في الرابط أو البودي يصبح صفًا تحت **المدخلات اللي مجيب هيملاها**. الوصف الذي تكتبه هو ما يقرؤه الوكيل عندما يقرّر ما يضعه هناك، فاكتبه كما تشرح لموظف جديد. لكل مدخل، املأ:

| الحقل | وظيفته |
|-------|--------|
| **إيه اللي مجيب يحط هنا؟** | الشرح الوحيد الذي يحصل عليه الوكيل، فكن محددًا: «رقم الطلب الذي يسأل عنه العميل، أرقام فقط» |
| **النوع** | string أو integer أو number أو boolean أو enum — قائمة ثابتة بالقيم المسموحة تكتبها تحت **الاختيارات**، حتى 20 قيمة |
| **مطلوب** | إذا فُعّل، يجب أن يحصل الوكيل على القيمة من العميل قبل أن يستطيع استخدام الأداة |
| **الصيغة** | للمدخلات النصية فقط، تلميح اختياري: تاريخ، أو تاريخ ووقت، أو إيميل، أو رقم موبايل، أو لينك |
| **قيمة للتجربة** | تُستخدم فقط للتجربة في هذه الصفحة؛ ولا تُرسل للوكيل أبدًا |

![مجيب وكيل ذكاء اصطناعي دعم العملاء - المدخلات التي يملؤها مجيب وقسم التفاصيل مع تعليمات الأداة](/img/screenshots/mojeeb-ai-tools-custom-api-inputs-ar.png)

النوع ومطلوب والصيغة وقائمة الاختيارات توجد خلف رابط **خيارات** تحت كل مدخل؛ ويبدأ المدخل الجديد نصًا مطلوبًا. يمكن أن تحتوي الأداة على 16 مدخلًا كحد أقصى. وإذا لم يكن في الطلب متغيرات فإنه يُرسل كما هو في كل مرة — وهذا مفيد للاستعلامات الثابتة مثل «عروض اليوم».

### كيف أكتب «إمتى مجيب يستخدمها؟»

هذا النص هو دليل الوكيل الوحيد للأداة، فاكتبه كتعليمات لموظف جديد، بحد أقصى 2,000 حرف. غطِّ أربعة أمور:

- **متى يستخدمها** — أسئلة العملاء التي يجب أن تستدعيها، مع أمثلة
- **ما الذي يجب أن يقدمه العميل** — وأن يطلبه الوكيل أولًا إذا كان ناقصًا
- **ما الذي يحتويه الرد** — الحقول المهمة ومعناها
- **ما الذي لا يُقال** — الحقول التي يجب ألا يراها العميل أبدًا، مثل سعر التكلفة أو رقم هاتف شخص آخر

مثال:

> استخدم هذه الأداة عندما يسأل العميل عن حالة طلبه أو مكانه أو موعد تسليمه (مثلًا: «وين طلبي؟»، «اتشحن الطلب؟»). يجب أن يذكر العميل رقم الطلب؛ إذا لم يذكره فاطلبه أولًا ولا تستدعِ الأداة. يحتوي الرد على `status` و`courier` و`eta`. أخبر العميل بالحالة والموعد المتوقع بكلمات بسيطة. لا تذكر أبدًا الحقل `warehouse_notes`.

## كيف تعمل الحماية؟

يرسل مجيب الطلب إلى نظامك بمفتاحك تمامًا كما أعددته — ونظامك هو الذي يقرّر ما يُسمح للطلب برؤيته. يُخزَّن المفتاح مرة واحدة لكل نطاق وتتشاركه كل الأدوات على ذلك النطاق. اختر الطريقة تحت **الحماية**:

| طريقة الدخول | ما تُدخله | ما يرسله مجيب |
|--------------|-----------|---------------|
| **بدون** | لا شيء | الطلب دون بيانات اعتماد — لواجهات API العامة فقط |
| **مفتاح API** | مكان الإرسال (هيدر أو كويري)، والاسم الدقيق للهيدر أو الكويري، والمفتاح، وبادئة اختيارية | مثلًا `X-API-Key: abc123` أو `?api_key=abc123` |
| **Bearer token** | الرمز، واسم الهيدر (الافتراضي `Authorization`)، والبادئة (الافتراضية `Bearer`) | `Authorization: Bearer abc123` — غيّر البادئة إذا كانت واجهة API تتوقع كلمة أخرى مثل `Token` |
| **Basic (اسم مستخدم وباسورد)** | اسم المستخدم وكلمة المرور | هيدر Basic authentication قياسي |
| **OAuth2 client credentials** | رابط التوكن، وClient ID، وClient Secret، وScope اختياري، وما إذا كانت بيانات الاعتماد تُرسل في البودي أو في هيدر Basic | يجلب مجيب رمز وصول ويعيد استخدامه حتى يقترب من الانتهاء، ثم يجلب رمزًا جديدًا |
| **هيدرز مخصصة** | حتى 8 هيدرز؛ لكل منها اسم الهيدر واسم السر والقيمة السرية | كل هيدر باسمه تمامًا |

تُخزَّن المفاتيح والأسرار مشفّرة ولا تُعرض مرة أخرى بعد الحفظ؛ وتعرض الصفحة نقاطًا مكانها. لاستبدال أحدها اختر **غيّره** تحت الحماية، وأدخل المفتاح الجديد، وانقر **احفظ وجرّب**، ثم أكّد **تغيّر المفتاح؟**. المفتاح تابع للنطاق، لذلك يسري المفتاح الجديد على كل الأدوات على ذلك النطاق. وعندما تنشئ أداة على نطاق له مفتاح محفوظ بالفعل، يعرض مجيب إعادة استخدامه بالخيار **استخدمه**.

ما لن يفعله مجيب:

- الإرسال إلى روابط `http://` أو عناوين خاصة أو شبكات محلية
- تتبّع التحويلات (redirects) — يجب أن يرد الرابط الذي تدخله مباشرة
- قبول الهيدرز المحجوزة مثل `Host` أو `Cookie` أو `X-Forwarded-For` — يرفضها النموذج عند الحفظ

ضع المفاتيح في قسم **الحماية** فقط. المفتاح المكتوب في الرابط أو البودي أو في هيدر إضافي نص عادي: يُخزَّن دون تشفير وقد يظهر في سجل الأداة. أما المفاتيح المدخلة تحت الحماية فلا تصل إلى السجل أبدًا.

### ماذا لو كان نظامي يحتاج إلى CSRF token؟

بعض الأنظمة، مثل SAP Gateway وخدمات OData الأخرى، ترفض طلبات POST وPUT وPATCH وDELETE ما لم تحمل CSRF token يُجلب قبلها مباشرة. لهذه الأنظمة افتح **إعدادات متقدمة** تحت **الحماية** وشغّل **السيرفر محتاج CSRF token قبل أي كتابة (SAP, OData)**. عندها يرسل مجيب كل طلب كتابة على ذلك النطاق على خطوتين:

1. يطلب توكنًا من نظامك بطلب GET يحمل `x-csrf-token: fetch`، وطريقة الدخول نفسها، وهيدرز الأداة وقيم الكويري المكتوبة فيها كما هي، مثل `sap-client=100`، ليأتي التوكن من النظام نفسه الذي ستذهب إليه الكتابة.
2. يرسل طلب الكتابة مع التوكن وملفات الجلسة (cookies) التي أعادها نظامك معه.

- طلبات القراءة (أدوات GET) لا تطلب توكنًا أبدًا.
- الإعداد تابع للنطاق مثل المفتاح، فيسري على كل أدوات الكتابة على ذلك النطاق.
- يطلب مجيب التوكن افتراضيًا من جذر خدمة الأداة: مسار الرابط حتى آخر شرطة مائلة، متجاوزًا إلى الخلف أي جزء فيه متغيّر، فالمسار `/ZCREATE_APPOINTMENT_SRV/APPOINTMENT` يطلبه من `/ZCREATE_APPOINTMENT_SRV/`. ويعرض التلميح تحت **يجيب التوكن من (اختياري)** المسار الخاص بالأداة التي تعدّلها. ولطلبه من مكان آخر على النطاق نفسه أدخل مسارًا هناك: يبدأ بـ `/` ولا يحمل كويري ولا `..` ولا متغيرات.
- القيمة التي يملؤها الوكيل، أي المتغيّر `{{placeholder}}`، لا تُرسل مع طلب التوكن، لذا اكتب `sap-client` في الرابط أو في هيدر كما هو، مثل `?sap-client=100`.
- كل طلب كتابة يجلب توكنًا جديدًا، ولا يحتفظ مجيب بأي توكن أو cookie بين الطلبات. وينتظر مجيب حتى 15 ثانية لكل من الطلبين.
- ما زلت لا تستطيع كتابة هيدر `Cookie` بنفسك: فالـ cookies تأتي من نظامك.

إذا قالت التجربة **الموقع عايز CSRF token قبل الكتابة**، فانقر **شغّله وجرّب تاني**.

## كيف أجرّب الأداة؟

انقر **احفظ وجرّب**. يحفظ مجيب الأداة، ويرسل طلبًا حقيقيًا واحدًا إلى نظامك (وطلبين لأداة كتابة على نطاق يحتاج CSRF token) مستخدمًا قيم التجربة التي أدخلتها للمدخلات، ويعرض النتيجة. يحتاج كل مدخل مطلوب إلى قيمة للتجربة أولًا؛ وإلا تعرض اللوحة **اكتب قيمة للتجربة وجرّب**.

- **رجع رد 200 في 350 م.ث** — رد نظامك. وتحتها ترى الرابط الذي أُرسل مع إخفاء المفتاح، وبودي الطلب إن وُجد، والرد منسّقًا ومحدودًا بأول 40 سطرًا مع زر **عرض الكل** لتوسيعه. وفي الرد الضخم تُعرض عيّنة من بدايته فقط.
- لا يستلم الوكيل شيئًا من التجربة. فهي لك وحدك.

![مجيب وكيل ذكاء اصطناعي دعم العملاء - لوحة تجربة أداة ربط نظامك مع الرد المحفوظ](/img/screenshots/mojeeb-ai-tools-custom-api-test-ar.png)

يمكن لشركتك تشغيل حتى 30 تجربة في الدقيقة عبر كل الأدوات وأعضاء الفريق. معاني رسائل التجربة:

| الرسالة | ما يجب التحقق منه |
|---------|-------------------|
| الموقع ما لقاش الصفحة دي — اتأكد من اللينك | المسار خاطئ، أو قيمة التجربة غير موجودة في نظامك |
| الموقع بتاعك رجّع خطأ (500) | فشل نظامك؛ راجع سجلاته |
| الموقع ما ردش في الوقت | انتظر مجيب 15 ثانية؛ اجعل نقطة النهاية أسرع |
| ما نقدرش نوصل للعنوان ده — لازم يكون عنوان عام على الإنترنت | يشير الرابط إلى عنوان خاص أو محلي |
| ما لقيناش الموقع ده — اتأكد من اسم الدومين | اسم النطاق لا يُحلّ |
| الـ API شغّال — بس الرد أكبر من 1 ميجا | أعد بيانات أقل، مثلًا بتقسيم الصفحات |
| الرد مش نص ولا JSON | تعيد نقطة النهاية ملفًا أو HTML بدل JSON |
| شهادة الأمان بتاعة الموقع فيها مشكلة | شهادة HTTPS غير صالحة أو منتهية |
| الموقع عايز CSRF token قبل الكتابة (403) | تظهر حين يذكر رد 403 من نظامك CSRF: فهو يرفض الكتابة دون توكن. انقر **شغّله وجرّب تاني**، أو شغّله تحت **الحماية** ← **إعدادات متقدمة**؛ راجع [ماذا لو كان نظامي يحتاج إلى CSRF token؟](#ماذا-لو-كان-نظامي-يحتاج-إلى-csrf-token) |
| الموقع رفض الـ CSRF token اللي مُجيب جابه (403) | جاء التوكن من مكان أو نظام آخر: راجع **يجيب التوكن من (اختياري)**، واكتب `sap-client` في الرابط أو في هيدر كما هو |
| السيرفر مدّاش CSRF token قبل الكتابة | فشل طلب التوكن أو عاد دون توكن، ويذكر السطر تحت الرسالة السبب، مثل `token fetch refused (HTTP 403)`. راجع **يجيب التوكن من (اختياري)**، وتأكد أن طريقة الدخول هذه مسموح لها بجلب التوكن |

## كيف أشغّل الأداة أو أوقفها؟

نجاح **احفظ وجرّب** يشغّل الأداة من تلقاء نفسه — ترى الرسالة **الأداة شغّالة** — فلا تكون الأداة شغّالة أبدًا دون تجربة ناجحة وراءها. لإيقافها مؤقتًا استخدم مفتاح **شغّل الأداة** في أسفل صفحة الأداة، أو افتح قائمة النقاط الثلاث (⋮) على بطاقتها تحت **أدوات مفعّلة** واستخدم مفتاح **نشط**. الأداة المتوقفة تحتفظ بكل إعداداتها؛ الوكيل فقط يتوقف عن استخدامها. وتبقى متوقفة حتى تشغّلها مرة أخرى أو تنفّذ **احفظ وجرّب** التالي.

تعديل الأداة يمسح نتيجة آخر تجربة. شغّل **احفظ وجرّب** مرة أخرى بعد أي تغيير لتعرف أن النسخة الجديدة تعمل. لا تتوقف الأداة من تلقاء نفسها عند تعديلها، فجرّبها فورًا.

## ماذا يرى الذكاء الاصطناعي من الرد؟

يستلم الوكيل رد نظامك كما هو، حتى 50,000 حرف؛ وكل ما يزيد يُقطع عند هذا الحد. يقرأ أسماء الحقول وقيمها ليصوغ إجابته، لذلك تجعل ثلاثة أمور الأدوات أكثر موثوقية:

- **أعد فقط ما يحق للعميل معرفته.** كل ما في الرد يصل إلى الوكيل، بما فيه حقول مثل سعر التكلفة أو الملاحظات الداخلية. احذفها من جهتك، أو اذكرها في التعليمات كحقول لا تُذكر أبدًا.
- **استخدم أسماء حقول واضحة.** `delivery_date` يُفهم؛ أما `dd` فيُخمَّن.
- **أبقِ الردود صغيرة.** ثلاثة منتجات بتفاصيلها حجم جيد؛ أما الكتالوج الكامل فلا.

الوكيل مُوجَّه بألّا يلصق JSON الخام للعميل أبدًا؛ بل يلخّص بلغة المحادثة.

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

## كيف أرى ما نفّذته الأداة؟

كل استدعاء يجريه الوكيل عبر أداة ربط نظامك يُسجَّل. في صفحة الأدوات افتح قائمة النقاط الثلاث (⋮) على بطاقة الأداة واختر **السجل**. تعرض صفحة **سجل التنفيذ** كل استدعاء مع نتيجته وتوقيته والطلب والرد بالضبط، لتعرف لماذا أجاب الوكيل بالطريقة التي أجاب بها. وتعرض:

- **الإجمالي** و**نجحت** و**فشلت** و**متوسط الوقت** في الأعلى. انقر «نجحت» أو «فشلت» لتصفية القائمة.
- إدخالًا لكل استدعاء مع الوقت والحالة والمدة.
- **الطلب والرد** — الطلب الذي أرسله مجيب بالضبط والرد الذي استلمه، وهو مفيد عندما يعطي الوكيل إجابة غير متوقعة.
- **عرض المحادثة** — يفتح الدردشة التي استخدم فيها الوكيل الأداة.

![مجيب وكيل ذكاء اصطناعي دعم العملاء - صفحة سجل التنفيذ لأداة ربط نظامك مع الإجماليات وآخر الاستدعاءات](/img/screenshots/mojeeb-ai-tools-custom-api-log-ar.png)

المفاتيح مخفية في السجل. أما القيم التي ملأها الوكيل من المحادثة فتظهر كاملة.

## كيف أعدّل الأداة أو أحذفها؟

يوجد الخياران في قائمة النقاط الثلاث (⋮) على بطاقة الأداة تحت **أدوات مفعّلة**. التعديل يعيد فتح صفحة الإعداد ويمسح نتيجة آخر تجربة؛ والحذف يزيل الأداة من الوكيل لكنه يبقي الاتصال المحفوظ للأدوات الأخرى على النطاق نفسه. الخياران:

- **تعديل** — يفتح الصفحة نفسها التي أنشأت بها الأداة. غيّر الرابط أو الحماية أو المدخلات أو التعليمات، ثم **احفظ وجرّب**. لا يمكن تغيير نطاق الرابط؛ أنشئ أداة جديدة لنطاق مختلف.
- **حذف** — يزيل الأداة من هذا الوكيل بعد تأكيد. والإجراء نفسه هو أيقونة سلة المهملات **امسح الأداة** في أعلى صفحة الأداة. يبقى الاتصال المحفوظ بنظامك، فتستمر الأدوات الأخرى التي تستخدم النطاق نفسه في العمل.

## أسئلة شائعة

### هل يستطيع الوكيل إنشاء بيانات أو تغييرها في نظامي؟

نعم. تعمل أدوات POST وPUT وPATCH وDELETE مثل أدوات القراءة ويمكن تشغيلها بعد تجربة ناجحة. ولأن وكيل الذكاء الاصطناعي قد يقرّر أحيانًا استدعاء الأداة مرتين — مثلًا عندما يرسل العميل رسالتين متتاليتين بسرعة — اجعل هذه النقاط آمنة عند التكرار، أو دع نظامك يرفض التكرار اعتمادًا على رقم الطلب أو المرجع.

### هل يعيد مجيب محاولة الطلب الفاشل؟

لا. كل قرار يتخذه الوكيل ينتج طلبًا واحدًا بالضبط، أو طلبين لأداة كتابة على نطاق يحتاج CSRF token (طلب التوكن ثم الكتابة)، دون إعادة محاولة تلقائية ودون تتبّع تحويلات. إذا فشل الطلب يُبلَّغ الوكيل ويجيب بناءً على ذلك، ويظهر الفشل في سجل الأداة.

### هل يعمل ربط نظامك مع SAP؟

نعم. تعمل SAP Gateway وخدمات OData الأخرى مثل أي واجهة API أخرى. وإذا كان نظامك يرفض الكتابة دون CSRF token، فشغّل **السيرفر محتاج CSRF token قبل أي كتابة (SAP, OData)** تحت **الحماية** ← **إعدادات متقدمة**، واكتب `sap-client` في الرابط أو في هيدر كما هو؛ راجع [ماذا لو كان نظامي يحتاج إلى CSRF token؟](#ماذا-لو-كان-نظامي-يحتاج-إلى-csrf-token).

### هل يمكن استخدام أداة واحدة لعدة نقاط نهاية؟

لا. الأداة طلب واحد إلى رابط واحد. أنشئ أداة لكل سؤال تريد أن يجيب عنه الوكيل — مثلًا «حالة الطلب» و«توفر المنتج» كأداتين على الاتصال نفسه.

### من أين تأتي الطلبات؟

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

### هل مفتاح API الخاص بي آمن؟

تُشفَّر المفاتيح عند التخزين، ولا تُعرض بعد الحفظ، ولا تُرسل إلا إلى النطاق الذي أعددته. أبقِ المفاتيح خارج الرابط والبودي، حيث ستُخزَّن نصًا عاديًا في سجل الأداة.

### أي باقة تشمل ربط نظامك؟

كل الباقات المدفوعة: **Starter** و**Professional**. في الباقة المجانية تظهر على بطاقة ربط نظامك (API) في صفحة الأدوات شارة **مدفوع** وزر **ترقية** بدل **ربط**؛ والنقر عليه يفتح خيارات الباقات. راجع [الباقات والأسعار](/docs/billing/plans-and-pricing).

### هل أستطيع إعداد الأدوات من نظامي الخاص؟

نعم. تضيف الواجهة البرمجية العامة الأدوات نفسها وتختبرها وتشغّلها وتقرؤها، فيستطيع تكامل أو مساعد ذكاء اصطناعي إعدادها لك؛ راجع [أدوات ربط نظامك](/docs/developers/agents/custom-api-tools) في توثيق المطوّرين. ومفتاح API الذي تحتاجه يأتي مع كل الباقات المدفوعة.

### هل يستطيع الوكيل البحث برقم هاتف العميل؟

فقط إذا ذكره العميل في المحادثة. يملأ الوكيل المدخلات مما يكتبه العميل؛ ولا يملك وصولًا إلى رقم هاتف القناة أو بيانات الحساب.

## صفحات ذات صلة

- [أدوات الوكيل](/docs/tools/overview) — كل الأدوات في نظرة واحدة
- [الباقات والأسعار](/docs/billing/plans-and-pricing) — ما تشمله كل باقة
- [قاعدة المعرفة](/docs/features/knowledge-base) — علّم الوكيل معنى حقول الرد
- [محادثات الذكاء الاصطناعي](/docs/features/ai-conversations) — حيث تظهر إجابات الأدوات
