الانتقال إلى محتوى الصفحة
الوثائق
وثائق Make Agent Fast

مرجع API

اطّلع على كل مورد عام وكل أسلوب (method) والنطاق المطلوب وقواعد ترقيم الصفحات وعقود التعديل.

نظرة سريعة

اطّلع على كل مورد عام وكل أسلوب (method) والنطاق المطلوب وقواعد ترقيم الصفحات وعقود التعديل.

مسار طلبات APIمفتاح محدد النطاق ← مورد بإصدار ← استجابة موقّعة
تطبيق / SDKمفتاح Bearermaf_live_…/api/v1/…الموردJSON
v1123 عمليةJSON

المرجع المعتمد القابل للقراءة آليًا هو OpenAPI JSON. هذه الصفحة هي فهرس العمليات المقروء للبشر، وتشرح القواعد المشتركة بين جميع نقاط النهاية.

عنوان URL الأساسي والإصدار#

https://makeagent.fast/api/v1

يُعد الإصدار الرئيسي جزءًا من المسار. قد تظهر حقول إضافية دون تغيير الإصدار الرئيسي، لذا تجاهل أي حقول غير معروفة في الاستجابة. تستخدم جميع طلبات الإدارة HTTPS ومفتاح API من نوع bearer أو رمز وصول OAuth.

الترويسات الشائعة#

Authorization: Bearer maf_live_...
Accept: application/json
Content-Type: application/json
Idempotency-Key: your-stable-operation-key

الترويسة Content-Type مطلوبة لأجسام JSON في طلبات POST وPATCH، بما في ذلك {}. أما Idempotency-Key فهي اختيارية، لكننا نوصي بها بشدة لكل طلب POST وPATCH وDELETE.

الحساب والمواقع#

الأسلوبالمسارالنطاقالغرض
GET/meaccount:readقراءة ملخص الحساب والخطة والاستحقاقات والمحفظة
GET/sitessites:readعرض المواقع المملوكة
POST/sitessites:writeإنشاء موقع ووكيله الافتراضي
GET/sites/{site_id}sites:readجلب موقع واحد مملوك
PATCH/sites/{site_id}sites:writeتحديث حقول الموقع الآمنة
DELETE/sites/{site_id}sites:writeحذف الموقع والموارد التابعة له
POST/sites/{site_id}/publishsites:writeالنشر أو إلغاء النشر باستخدام { "published": boolean }
GET/sites/{site_id}/agentagents:readقراءة إعدادات الوكيل
PATCH/sites/{site_id}/agentagents:writeتحديث وضع الشخصية والغرض والاسم المعروض والتعليمات والصوت واللغات والنموذج والمظهر وإطار التضمين والشارة وحالة التضمين أو المصادر المسموح بها
GET/sites/{site_id}/billingaccount:readقراءة الخطة والفترة والمحفظة والإضافات وروابط الفوترة في لوحة التحكم
PATCH/sites/{site_id}/workspaceteam:writeإعادة تسمية الشركة المالكة للوكيل
PATCH/sites/{site_id}/retentionteam:writeتحديد مدة الاحتفاظ بالمحادثات

يتطلب إنشاء الموقع الحقلين title وcontent.headline. وتشمل الحقول الاختيارية slug وtype وtemplate ومحتوى إضافيًا وpersona_mode، ولغة واحدة إلى أربع لغات من en وko وuz وru.

يمرّر الطلب PATCH /agent الحقول model وappearance وembed_chrome وbadge_hidden عبر فحوصات الخطة نفسها المطبّقة في لوحة التحكم؛ فالقيمة badge_hidden: true تتطلب خطة مؤهلة أو إضافة الشارة.

التثبيت وأداة الموقع#

الأسلوبالمسارالنطاقالغرض
GET/sites/{site_id}/installagents:readقراءة وجهة التثبيت وحالة التضمين والمصادر المسموح بها وأدلة التثبيت
PATCH/sites/{site_id}/installagents:writeتحديد الصفحة التي يجب تثبيت الأداة عليها
POST/sites/{site_id}/install/checkagents:writeالتحقق مما إذا كان مقتطف التضمين يعمل في الصفحة المستهدفة

المعرفة والأسئلة الشائعة#

الأسلوبالمسارالنطاقالغرض
GET/sites/{site_id}/knowledgeknowledge:readعرض مصادر المعرفة
POST/sites/{site_id}/knowledgeknowledge:writeاستيعاب نص ملصوق، أو زحف موقع إلكتروني، أو استيراد مصدر YouTube أو بودكاست أو تغذية (feed)
PATCH/sites/{site_id}/knowledge/{source_id}knowledge:writeتحديد refresh_hours أو approval_status الخاص بحزمة المشتري
POST/sites/{site_id}/knowledge/{source_id}/recrawlknowledge:writeوضع إعادة قراءة مصدر تم جلبه في قائمة الانتظار؛ يعيد 202
DELETE/sites/{site_id}/knowledge/{source_id}knowledge:writeحذف مصدر واحد من الاسترجاع مستقبلًا
GET/sites/{site_id}/faqsknowledge:readعرض الأسئلة الشائعة المنظَّمة
POST/sites/{site_id}/faqsknowledge:writeإنشاء { "question", "answer", "approved" }
POST/sites/{site_id}/faqs/generateknowledge:writeصياغة مسودات أسئلة شائعة من معرفة الوكيل
POST/sites/{site_id}/faqs/approve-allknowledge:writeاعتماد ونشر كل مسودات الأسئلة الشائعة
PATCH/sites/{site_id}/faqs/{faq_id}knowledge:writeتحديث السؤال أو الإجابة أو حالة الاعتماد
DELETE/sites/{site_id}/faqs/{faq_id}knowledge:writeحذف سؤال شائع
GET / PATCH/sites/{site_id}/fact-sheetknowledge:read / knowledge:writeقراءة صحيفة الحقائق المستخرجة عن النشاط التجاري، أو تعديل الحقائق التي أخطأ الاستخراج فيها
POST/sites/{site_id}/fact-sheet/reextractknowledge:writeإعادة قراءة الموقع الإلكتروني وإعادة بناء صحيفة الحقائق
POST/sites/{site_id}/qaknowledge:writeنشر أزواج أسئلة وأجوبة منتقاة
POST/sites/{site_id}/answers/reviseknowledge:writeتعليم الوكيل الإجابة التي كان ينبغي أن يقدّمها
GET/sites/{site_id}/knowledge-connectionsknowledge:readعرض اتصالات المعرفة مع Notion وDrive وMCP
GET/sites/{site_id}/knowledge-connections/connect-linksknowledge:readالحصول على عناوين URL في لوحة التحكم التي تبدأ اتصال Notion أو Drive
PATCH / DELETE/sites/{site_id}/knowledge-connections/{connection_id}knowledge:writeتحديد وتيرة المزامنة أو العناصر المحددة أو أداة الاستيراد؛ أو فصل الاتصال وحذف بياناته
GET/sites/{site_id}/knowledge-connections/{connection_id}/itemsknowledge:readعرض الصفحات أو قواعد البيانات أو الملفات التي يمكن للاتصال استيرادها
POST/sites/{site_id}/knowledge-connections/{connection_id}/syncknowledge:writeوضع مزامنة اتصال المعرفة في قائمة الانتظار

يقبل POST /knowledge ثلاثة أنواع من الأجسام: { "name", "text" } بطول من 5 إلى 200,000 حرف؛ و{ "url", "max_pages", "refresh_hours" } لزحف موقع إلكتروني (max_pages من 1 إلى 40، وrefresh_hours من 1 إلى 8,760 أو null)؛ و{ "kind": "youtube" | "podcast" | "feed", "url", "refresh_hours" }. تتطلب مصادر YouTube والبودكاست والتغذية خطة Operate أو Scale؛ وفي خطة Launch تعيد 409 conflict. أما رفع الملفات فيبقى عملية تتم من لوحة التحكم.

المحادثات والعملاء المحتملون والتحليلات والاستخدام#

الأسلوبالمسارالنطاقالغرض
GET/sites/{site_id}/conversationsconversations:readعرض سلاسل المحادثات
GET/sites/{site_id}/conversations/{conversation_id}conversations:readجلب سلسلة محادثة ورسائلها مقسّمة إلى صفحات
POST/sites/{site_id}/conversations/{conversation_id}/replyconversations:writeالرد على الزائر بصفة النشاط التجاري
POST/sites/{site_id}/conversations/{conversation_id}/pauseconversations:writeإيقاف الوكيل مؤقتًا في هذه المحادثة وتولّيها
POST/sites/{site_id}/conversations/{conversation_id}/resumeconversations:writeإعادة المحادثة إلى الوكيل
GET/sites/{site_id}/leadsleads:readعرض العملاء المحتملين الذين تم التقاطهم
POST/sites/{site_id}/leadsleads:writeإنشاء عميل محتمل معتمد بموافقة صريحة وتفضيلات تواصل
GET/sites/{site_id}/leads/{lead_id}leads:readجلب عميل محتمل واحد
PATCH/sites/{site_id}/leads/{lead_id}leads:writeتحديث عميل محتمل أو تأهيله أو تغيير سياسة التواصل معه
POST/sites/{site_id}/leads/{lead_id}/acceptleads:writeقبول عميل محتمل ضمن مسار الفرص
POST/sites/{site_id}/leads/{lead_id}/followupleads:writeإرسال رسالة المتابعة إلى عميل محتمل
POST/sites/{site_id}/leads/{lead_id}/followup/draftleads:writeإعادة صياغة رسالة المتابعة دون إرسالها
GET/sites/{site_id}/analyticsanalytics:readعرض أحداث التحليلات
GET/sites/{site_id}/reportanalytics:readقراءة تقرير التحليلات المجمَّع
POST/sites/{site_id}/report/unanswered-faqknowledge:writeالإجابة عن سؤال بلا إجابة وإضافته كسؤال شائع جديد
GET/sites/{site_id}/usageusage:readعرض أحداث الاستخدام المقاس

تقبل مجموعات الأحداث والأنشطة هذه المعامِلين limit وcursor. قد تحتوي السجلات المعادة على بيانات شخصية؛ خزّنها وصدّرها وفق التزاماتك في الخصوصية.

ردود المالك مدعومة: تتولى reply وpause وresume سلسلة محادثة على الويب أو محادثة على Telegram أو WhatsApp أو Messenger أو Instagram بالطريقة نفسها التي تعمل بها لوحة التحكم. أما إرسال الرسائل بصفة الزائر فليس عملية عامة في API. تعديل العملاء المحتملين مدعوم؛ لا تضبط consent_status: granted ما لم يكن لدى نظامك سجل موافقة يمكن الدفاع عنه. تُستبعد الموافقة غير المعروفة من الرسائل الجماعية.

مسار الفرص ونتائج CRM#

الأسلوبالمسارالنطاقالغرض
GET / POST/sites/{site_id}/pipeline/stagespipeline:read / pipeline:writeعرض المراحل أو إعدادها
GET / POST/sites/{site_id}/pipeline/accountspipeline:read / pipeline:writeعرض حسابات الأعمال أو إنشاؤها
GET/sites/{site_id}/pipeline/accounts/{account_id}pipeline:readجلب حساب أعمال
GET / POST/sites/{site_id}/pipeline/opportunitiespipeline:read / pipeline:writeعرض الفرص أو إنشاؤها
GET / PATCH/sites/{site_id}/pipeline/opportunities/{opportunity_id}pipeline:read / pipeline:writeقراءة النشاط أو تحديث الإسناد والقيمة والمرحلة والإجراء التالي والرد البشري
POST/sites/{site_id}/pipeline/outcomespipeline:writeاستيراد نتيجة ربح أو خسارة مصدرها CRM بطريقة idempotent
GET/sites/{site_id}/pipeline/sync-recordspipeline:readعرض حالة المزامنة والمحاولات والأخطاء
POST/sites/{site_id}/pipeline/sync-records/{sync_record_id}/retrypipeline:writeإعادة محاولة نتيجة فاشلة من حمولتها المخزَّنة
GET / PATCH/sites/{site_id}/pipeline-workflowpipeline:read / pipeline:writeقراءة سياسة الرد في المبيعات أو تحديثها
GET / POST/sites/{site_id}/pilotspipeline:read / pipeline:writeعرض التجارب التجريبية الموجَّهة أو بدؤها
GET/sites/{site_id}/pilots/{pilot_id}pipeline:readقراءة تجربة تجريبية ومرحلتها وأعدادها وقائمة مهامها
POST/sites/{site_id}/pilots/{pilot_id}/setup, /start, /stop, /review, /decision, /complete, /deletepipeline:writeنقل تجربة تجريبية عبر الإعداد والقياس والمراجعة والقرار والإغلاق، أو حذفها مع أدلتها (سبع عمليات)
POST/sites/{site_id}/pilots/{pilot_id}/outcomes, /bookingspipeline:writeتسجيل نتيجة عميل محتمل أو نتيجة حجز (عمليتان)
POST/sites/{site_id}/pilots/{pilot_id}/report/approve, /report/revokepipeline:writeاعتماد تقرير التجربة القابل للمشاركة أو إلغاء اعتماده (عمليتان)
GET / POST/sites/{site_id}/buyer-packspipeline:read / pipeline:writeعرض حزم المشتري، أو إنشاء حزمة من مصادر معتمدة
PATCH/sites/{site_id}/buyer-packs/{pack_id}pipeline:writeاستبدال عنوان الحزمة وجمهورها وملخصها ومصادرها وأقسامها
POST/sites/{site_id}/buyer-packs/{pack_id}/approve, /revokepipeline:writeتفعيل رابط مشاركة الحزمة أو تعطيله (عمليتان)

يبقى provider الخاص بـ CRM الذي تم تقديمه، والمعرّف الخارجي، ومفتاح idempotency في سجل التدقيق. تتولى إعادة المحاولة سجلًا فاشلًا فقط، ولا تحوّل أبدًا عملية كتابة خارجية قيد التنفيذ إلى نجاح كاذب.

الموصّلات#

الأسلوبالمسارالنطاقالغرض
GET/sites/{site_id}/connectorsconnectors:readعرض حالة الموصّلات دون الأسرار
POST/sites/{site_id}/connectorsconnectors:writeربط قناة: التحقق من بيانات الاعتماد مباشرةً، وتهيئة webhook الخاص بها، وإرجاع قائمة مراجعة الإعداد
PATCH/sites/{site_id}/connectors/{connector_id}connectors:writeتحديد status أو reply_with_voice
DELETE/sites/{site_id}/connectors/{connector_id}connectors:writeإلغاء تهيئة موصّل وإزالته
POST/sites/{site_id}/conciergeconnectors:writeطلب أن تتولى المنصة ربط قناة مراسلة نيابةً عنك
GET/sites/{site_id}/domainsdomains:readأُزيل — يعيد 409. النطاقات المخصصة غير متاحة
POST/sites/{site_id}/domainsdomains:writeأُزيل — يعيد 409
PATCH/sites/{site_id}/domains/{domain_id}domains:writeأُزيل — يعيد 409
POST/sites/{site_id}/domains/{domain_id}/verifydomains:writeأُزيل — يعيد 409
DELETE/sites/{site_id}/domains/{domain_id}domains:writeأُزيل — يعيد 409

يستخدم إنشاء الموصّل جسمًا يتحدد بحسب القناة. تختلف حقول بيانات الاعتماد بين telegram وwhatsapp وmessenger وinstagram وdiscord وkakao؛ استخدم دليل الموصّل المطابق قبل إرسال الأسرار.

الرسائل الجماعية والإشعارات وتحقيق الدخل#

الأسلوبالمسارالنطاقالغرض
GET/sites/{site_id}/broadcastsbroadcasts:readعرض الرسائل الجماعية
POST/sites/{site_id}/broadcastsbroadcasts:writeإنشاء مسودة رسالة جماعية عبر Kakao
POST/sites/{site_id}/broadcasts/{broadcast_id}/sendbroadcasts:writeوضع مسودة موجودة في قائمة الانتظار؛ يعيد 202
GET/sites/{site_id}/notificationsnotifications:readعرض إشعارات المالك
POST/sites/{site_id}/notifications/read-allnotifications:writeتعليم جميع إشعارات المالك لهذا الوكيل كمقروءة
PATCH/sites/{site_id}/notifications/{notification_id}notifications:writeالتعليم كمقروء أو غير مقروء باستخدام { "read": boolean }
GET/sites/{site_id}/alertsnotifications:readقراءة حالة قناة تنبيهات المالك ورابطها في لوحة التحكم
GET/sites/{site_id}/monetization/productsmonetization:readعرض منتجات الموقع
POST/sites/{site_id}/monetization/productsmonetization:writeإنشاء منتج من نوع access أو consult أو tip أو digital
PATCH/sites/{site_id}/monetization/products/{product_id}monetization:writeتحديث حقول المنتج وحالة تفعيله
DELETE/sites/{site_id}/monetization/products/{product_id}monetization:writeحذف منتج

يقبل إنشاء الرسائل الجماعية حاليًا القناة kakao فقط. يفشل وضعها في قائمة الانتظار مع 409 conflict عندما لا يوجد مستلمون يمكن الوصول إليهم أو عندما لا تعود الرسالة مسودة.

الإجراءات والتذاكر والفريق#

الأسلوبالمسارالنطاقالغرض
GET / PATCH/sites/{site_id}/actionsagents:read / agents:writeقراءة أو إعداد الإجراءات وwebhook العام ورابط الحجز وتذاكر الدعم
GET/sites/{site_id}/ticketstickets:readعرض تذاكر الدعم
GET/sites/{site_id}/tickets/{ticket_id}tickets:readقراءة تذكرة ورسائلها
PATCH/sites/{site_id}/tickets/{ticket_id}tickets:writeتحديد الحالة والأولوية والمسؤول المعيَّن (اختياري)
POST/sites/{site_id}/tickets/{ticket_id}/messagestickets:writeإضافة ملاحظة داخلية، أو ضبط internal: false للرد على العميل عبر البريد الإلكتروني
GET/sites/{site_id}/teamteam:readقراءة الأعضاء والدعوات وأحداث التدقيق المسموح بها
POST/sites/{site_id}/team/invitationsteam:writeإنشاء رابط دعوة دون إرسال بريد إلكتروني
DELETE/sites/{site_id}/team/invitations/{invitation_id}team:writeإلغاء دعوة معلّقة
PATCH / DELETE/sites/{site_id}/team/members/{membership_id}team:writeتغيير دور عضو غير مالك، أو إزالة العضو

Webhooks للمطورين وأدوات الإعداد#

الأسلوبالمسارالنطاقالغرض
GET/webhook-endpointswebhooks:readعرض حالة نقاط النهاية دون أسرار التوقيع
POST/webhook-endpointswebhooks:writeتسجيل عنوان URL عام عبر HTTPS وإظهار سر التوقيع مرة واحدة
DELETE/webhook-endpoints/{endpoint_id}webhooks:writeحذف نقطة نهاية وإيقاف التسليم مستقبلًا
GET/setup/toolsأي بيانات اعتماد صالحةاكتشاف أدوات الإعداد لتكاملات API وMCP وGitHub
POST/setup/tools/{tool_name}بحسب الأداةتشغيل أداة إعداد؛ تتطلب طلبات المنصة نطاقات نقاط النهاية الخاصة بها، ويستخدم فحص GitHub النطاق integrations:read، ويستخدم إعداد PR النطاق integrations:write

يجب أن تستخدم عناوين URL الخاصة بـ webhook بروتوكول HTTPS، ولا يجوز أن تتضمن بيانات اعتماد أو منفذًا مخصصًا، ويجب أن تُحلَّ إلى عناوين IP عامة فقط.

ترقيم الصفحات#

تقبل المجموعات المقسّمة إلى صفحات المعامِل limit من 1 إلى 100؛ والقيمة الافتراضية 50. استخدم next_cursor المعتم المُعاد مع المجموعة والمرشِّحات نفسها فقط.

{
  "data": [],
  "has_more": false,
  "next_cursor": null
}

تعيد بعض مجموعات الإعدادات الصغيرة الغلاف نفسه مع has_more: false ولا تحتاج إلى مؤشر (cursor).

Idempotency#

يجب أن يتكوّن مفتاح idempotency من 8 إلى 200 حرف من الأحرف والأرقام و. و_ و: و-. تُحفَظ النتائج لمدة 24 ساعة وتُحصر في نطاق مالك بيانات الاعتماد.

  • المفتاح نفسه مع الأسلوب والمسار والاستعلام والجسم نفسها: يعيد الاستجابة المخزَّنة مع x-idempotent-replayed: true.
  • المفتاح نفسه مع مدخلات مختلفة: يعيد 409 conflict.
  • المفتاح نفسه أثناء معالجة الطلب الأول: يعيد 409 conflict وRetry-After: 2.

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

الاستجابات والأخطاء#

تغلّف استجابات النجاح مواردها داخل data. تعيد عمليات الإنشاء عادةً 201؛ وتعيد عمليات إرسال الرسائل الجماعية الموضوعة في قائمة الانتظار 202؛ وتعيد العمليات الناجحة الأخرى 200. تتضمن كل استجابة x-request-id وتستخدم Cache-Control: no-store لبيانات API.

راجع النطاقات والأخطاء للاطلاع على جدول رموز الأخطاء الكامل، ووصفات API لسير عمل جاهزة للنسخ.

عملاء MCP#

اربط عميل MCP يدعم Streamable HTTP بالعنوان https://makeagent.fast/api/mcp. تفتح العملاء التي تدعم اكتشاف OAuth المتصفح لتسجيل الدخول والموافقة. تحقّق من هوية العميل والشركة والنطاقات المطلوبة قبل الموافقة. تطلب الموافقة الأولى النطاقات التي تستخدمها الأدوات (sites:read وsites:write وagents:write وanalytics:read وconversations:read وconversations:write وleads:read وleads:write وknowledge:write)؛ وتُطالَب بيانات الاعتماد التي ينقصها أحدها بالتفويض مرة أخرى. يلزم وجود خطة نشطة.

بالنسبة إلى العملاء الذين يستخدمون بيانات اعتماد مهيأة يدويًا، أنشئ مفتاح API محدد النطاق في إعدادات المطورين وأرسله في الترويسة Authorization: Bearer .... أبقِ بيانات الاعتماد بعيدة عن التحكم بالمصدر وعن شيفرة المتصفح. يمكنك إلغاء مفاتيح API أو منح OAuth من إعدادات المطورين.

أدوات القراءة: list_agents وget_agent وget_report وlist_unanswered_questions وlist_conversations وget_conversation وlist_leads. أدوات الكتابة: create_agent_from_website وcreate_agent_from_notes وtest_agent وadd_knowledge وsave_answer وreply_to_customer وupdate_lead وset_website_widget. تأخذ كل أداة خاصة بالوكيل agent_id من list_agents. تستهلك test_agent الرصيد (Credits) مثل أي إجابة عادية؛ وترسل reply_to_customer رسالة إلى العميل وتوقف الوكيل مؤقتًا في تلك المحادثة؛ وتشغّل set_website_widget أداة دردشة الموقع أو تُطفئها؛ أما قنوات المراسلة فتُدار من لوحة التحكم. تحصل العملاء التي فُعّلت لديها MCP Apps (افتراضيًا اتصال Claude المصادَق عليه) أيضًا على list_pending_approvals وlist_action_runs وdecide_approval، التي توافق على تغيير أكّده العميل أو ترفضه؛ أما العملاء الآخرون فلا يرون سوى الأدوات الخمس عشرة المذكورة أعلاه. بالنسبة إلى أدوات الإعداد وتكامل GitHub، استخدم مساعد الإعداد داخل التطبيق أو /api/v1/setup/tools.

مراجعات البروتوكول المدعومة هي 2026-07-28 و2025-11-25 و2025-06-18. يعيد النقل بيانات JSON؛ ولا يوفّر SSE القديم ولا جلسات الخادم. تفوّض رموز MCP OAuth الوصول إلى /api/mcp فقط، وليس إلى طلبات REST المباشرة. تدوم رموز وصول OAuth ساعة واحدة؛ وتتجدد بيانات اعتماد التحديث وتنتهي صلاحيتها بعد 90 يومًا. تستخدم مفاتيح API المُنشأة يدويًا مدة الصلاحية التي ضُبطت لها.