موصّل Make.com - وثائق Entity Enricher

موصّل Make.com

أضف وحدة Make واحدة إلى أي سيناريو، وعيّن كيانًا من خطوة سابقة، واستقبل كائن JSON منظمًا ومتحققًا من المخطط ومدمجًا من نماذج متعددة — مع مخرجات متعددة اللغات بـ 40 لغة تُنتَج في تمريرة LLM واحدة. 9 وحدات من الدرجة الأولى بقوائم منسدلة ديناميكية ومعالجة أخطاء مدركة لحدود الخطة، مصممة لنموذج فوترة Make لكل عملية.

مُصمّم لـ Make

يوفّر Entity Enricher بالفعل موصّل n8n يستهلك تدفّق Server-Sent Events. لا يمكن لوحدات Make استهلاك SSE بشكل أصلي — إذ تمثّل كل وحدة استدعاء HTTP ذرّياً واحداً. ولدعم الإثراء كعملية واحدة في Make، يوفّر الخادم نقطة نهاية مخصّصة POST /api/single/enrich/sync تغلّف تدفّق البث من جانب الخادم وتُعيد النتيجة المدمجة النهائية في استجابة واحدة.

n8n connector
POST /enrich/stream → job_id
GET /llm/stream/{id}
GET /llm/stream/{id}
... (events)
[final bundle out]
Make.com connector
POST /enrich/sync
(server awaits internally)
[final bundle out]

الإثراء متعدد اللغات في تمرير واحد

اختر أكثر من لغة في حقل Languages ويملأ Entity Enricher كل خاصية متعددة اللغات بجميع اللغات المحددة في استدعاء LLM واحد — وليس N من الجولات المتتابعة لكل لغة. تغطّي 40 لغة الأسواق الأوروبية والآسيوية والشرق أوسطية والأفريقية الرئيسية.

نتيجة استدعاء واحد لإثراء الكيان مع languages = ["en", "fr", "de", "ja"]:

{
  "names": {
    "primary": {
      "en": "Aspirin",
      "fr": "Aspirine",
      "de": "Aspirin",
      "ja": "アスピリン"
    }
  },
  "indications": {
    "en": "Pain, fever, inflammation; antiplatelet therapy.",
    "fr": "Douleur, fièvre, inflammation ; antiagrégant plaquettaire.",
    "de": "Schmerz, Fieber, Entzündung; Thrombozytenaggregationshemmer.",
    "ja": "痛み、発熱、炎症;抗血小板療法。"
  }
}

يمكن لوحدات Make اللاحقة تعيين أي لغة مباشرة: {{enrichEntity.result.names.primary.fr}}. تعرض قائمة اللغات المنسدلة القائمة الكاملة المكوّنة من 40 لغة، مع إشعار بحد الخطة عندما يحدّ ملف مؤسستك عدد اللغات القابلة للاختيار.

وحدة Make: قائمة منسدلة متعددة الاختيار للغات تعرض 40 لغة مدعومة

التثبيت

يوجد مصدر تطبيق Make في مستودع TOT-Concept العام (مُزامَن من مستودع Entity Enricher الأحادي). حتى صدور الإصدار v1.0 على متجر Make، حمّله جانبيًا عبر Developer Hub:

  1. سجّل الدخول إلى مؤسستك في Make بصفتك مطوّرًا.
  2. انتقل إلى Apps → Create a new app → Custom App.
  3. إمّا أن ترفع دليل make-app-entity-enricher/ بصيغة .zip، أو تلصق كل ملف .json / .imljson في علامة تبويبه داخل المحرّر.
  4. أضف اتصال مفتاح API باستخدام مفتاح من Entity Enricher ← الإعدادات ← مفاتيح API (بصيغة ent_XXXXXXXXXXXX). يُختبر الاتصال تلقائياً مقابل /api/enrichment/options.
Make: نموذج إعداد الاتصال بمفتاح API

القوائم المنسدلة الديناميكية

يُملأ كل حقل قابل للاختيار في وحدات Make عبر استدعاء إجرائي بعيد (RPC) يصل إلى واجهة برمجة تطبيقات Entity Enricher عند التهيئة. تظهر المخططات المثبّتة أولاً (مميّزة بالرمز 📌)، وتتضمن تسميات النماذج التسعير لكل مليون رمز، وترى المؤسسات المحدودة الخطة إشعاراً عند بلوغ حصتها.

وحدة Make: قائمة المخططات المنسدلة مفتوحة مع المخططات المثبّتة في الأعلى

المتطلبات الأساسية

مفتاح APIأنشئ مفتاح وصول للمؤسسة في Entity Enricher. راجع وثائق مفاتيح API. استخدم مفتاح وصول للمؤسسة (بدوره الخاص) لعمليات التكامل بين الخدمات.
عنوان URL الأساسيعنوان URL الخاص بنسخة Entity Enricher لديك — القيمة الافتراضية هي https://entityenricher.ai. لا تُجرِ التغيير إلا لعمليات النشر المُستضافة ذاتيًا.
OAuth 2.0سيأتي في الإصدار v0.4 إلى جانب مصادقة مفتاح API، بمجرد إطلاق خادم التفويض الخاص بـ Entity Enricher. ستتمكن سيناريوهات المستخدم النهائي من ربط حساباتها الخاصة عبر تدفق Make OAuth القياسي.

إثراء الكيانات أثناء العمل

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

عند تحديد نموذجين أو أكثر، تُدمَج النتيجة تلقائيًا على جانب الخادم. يعرض لوح إخراج Make ‏is_fused: true، وقائمة source_models، وملخص fusion يحصي الحقول المتفق عليها والمتعارضة:

لوحة إخراج Make: نتيجة إثراء مدموجة من نماذج متعددة

الوحدات المتاحة

9 وحدات موزّعة على 5 فئات. تُصدر وحدات البحث حزمة واحدة لكل نتيجة لسلاسل Iterator/Aggregator اللاحقة؛ بينما تُصدر وحدات الإجراء حزمة واحدة.

الفئةوحدةالوصف
EnrichmentEnrich Entityإثراء باستدعاء واحد مع دمج متعدد النماذج. يُعيد النتيجة النهائية المدمجة (أو أفضل نتيجة لنموذج واحد). يُلغى تلقائيًا عند ظهور تحذير تصنيف.
SchemasList Schemasيُرجع حزمة Make واحدة لكل مخطط محفوظ، جاهزة لسلاسل Iterator/Aggregator.
SchemasGet Schema Detailsمحتوى المخطط الكامل بما في ذلك مجالات الخبرة والخصائص ومفاتيح البحث.
RecordsList Recordsابحث في سجلات الإثراء السابقة باستخدام عوامل التصفية (النوع، النجاح، النص الحر).
RecordsGet Recordاسترجاع نتيجة إثراء واحدة مع مقاييس كاملة لكل موجّه.
FusionMerge Resultsأعد دمج نتائج إثراء متعددة، مع إمكانية استخدام مُحكِّم LLM مختلف.
AttachmentsUpload Attachmentرفع ملف (مُعيَّن كمخزن مؤقت من وحدة سابقة، مثل HTTP ▸ Get a File) وإرجاع معرّف المرفق الخاص به لاستخدامه في Enrich Entity.
AttachmentsDelete Attachmentحذف مرفق حسب المعرّف — خطوة تنظيف مفيدة بعد الإثراء.
ConfigurationGet Optionsالنماذج واللغات والاستراتيجيات المتاحة، وحدود خطة المؤسسة.

سير عمل متعدد الكيانات: نمط المكرِّر

تُحتسب فواتير سيناريوهات Make لكل عملية. فبدلاً من نقل وحدة الإثراء بالدفعات الخاصة بموصّل n8n، يستخدم تطبيق Make أداة التكرار المدمجة في Make مع Enrich Entity. كل تكرار مستقل، والأخطاء لا تتسلسل، وتعكس الفوترة بالضبط ما تمت معالجته.

[trigger: array of entities]
[Make: Iterator] (splits into N bundles)
[this app: Enrich Entity] (one operation per entity)
[Make: Aggregator] (recombines, optionally with skip-on-error)
[downstream: upsert to CRM / database]

الميزات الرئيسية

متعدد اللغات بـ 40 لغة

يملأ استدعاء واحد لإثراء الكيان كل خاصية متعددة اللغات بجميع اللغات المختارة — يُنتَج في تمريرة LLM واحدة، وليس عبر N جولات متتالية. اربط أي لغة مباشرةً: {{result.names.primary.fr}}.

الإثراء باستدعاء واحد

تُغلّف نقطة نهاية POST /api/single/enrich/sync المخصصة تدفّق البثّ على جانب الخادم. عملية Make واحدة = حزمة واحدة. لا استطلاع، ولا أنماط ذات وحدتين.

القوائم المنسدلة الديناميكية (RPCs)

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

الدمج التلقائي متعدد النماذج

اختر نموذجين أو أكثر ويُدمَج الناتج تلقائيًا. تتضمّن حزمة الإخراج is_fused وsource_models[] وملخّص fusion: {agreed_fields, conflicted_fields, total_fields}.

التصنيف المسبق

يتحقق نموذج تصنيف رخيص اختياري من مطابقة الكيان للنوع المتوقع في المخطط قبل تشغيل الإثراء. ويُنتج عدم التطابق خطأ DataError مُصنّفًا بدلًا من بيانات مُختلَقة.

إدراك حدود الخطة والأرصدة

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

أقفال القائمة المنسدلة للبحث على الويب

تقرأ قائمة البحث على الويب المنسدلة parameters.models وتعطّل نفسها عندما لا يُصرّح أيٌّ من النماذج المحددة بـ supports_web_search.

بدون وحدة الدفعات

تُحتسب فواتير سيناريوهات Make لكل عملية. وتستخدم سير العمل متعددة الكيانات أداة التكرار المدمجة في Make مع Enrich Entity، ما يوفّر معالجة دقيقة للأخطاء لكل كيان وفوترة دقيقة.

مهلة قابلة للتهيئة

مهلة افتراضية مدتها 300 ثانية لكل طلب، محصورة بين [10، 900]. تُلغى المهمة تلقائيًا من جانب الخادم إذا لم تكتمل في الوقت المحدد، وتُرجع خطأ ConnectionError مُصنّفًا.

عقد الأخطاء

تُربط كل حالة يمكن للواجهة الخلفية إرجاعها بخطأ Make ذي نوع محدد، بحيث يمكن لمعالجات أخطاء السيناريو أن تتفرّع حسب نمط الفشل بدلاً من تحليل النصوص.

سيناريو Make: معالج الأخطاء يتفرّع عند OutOfMoneyError
HTTPنوع الخطأ في Makeمتى يُطلَق
400DataErrorلم يُعثر على المخطط، أو مفاتيح البحث مفقودة، أو النماذج أو اللغات غير صالحة.
401InvalidCredentialsمفتاح API غير صحيح أو مفقود.
402OutOfMoneyErrorتجاوز حد الخطة أو عدم كفاية الأرصدة. الرسالة = body.detail.detail (قابلة للقراءة البشرية، وتتضمّن رابط شحن لـ insufficient_credits) + body.detail.code (قابلة للقراءة الآلية). تفرّع حسب الرمز: insufficient_credits وmodel_limit_exceeded وlanguage_limit_exceeded وconcurrent_job_limit_reached وdaily/weekly/monthly_prompt_limit_exceeded.
403AccessDeniedErrorالدور أو النطاق غير كافٍ.
404InvalidConfigurationErrorلم يُعثر على المخطط أو السجل.
422DataErrorتحذير التصنيف. يحمل body.detail.classification الحالة والتعليل ومستوى الثقة و entity_description.
429RateLimitErrorتجاوز حد معدّل المزوّد (مؤقت).
499RuntimeErrorأُلغيت المهمة.
502ConnectionErrorخطأ من مزوّد LLM المصدر (مثل تجاوز سعة السياق).
504ConnectionErrorانقضت timeout_seconds؛ أُلغيت المهمة تلقائيًا على جانب الخادم.

أفكار سير العمل

إثراء CRMشغّله عند إضافة جهات اتصال جديدة في HubSpot/Salesforce، وأثرِها ببيانات الشركة، وحدّث سجل CRM.
خط معالجة جداول البياناتاقرأ الكيانات من Google Sheets، والمكرّر + إثراء الكيان، واكتب النتائج في ورقة جديدة.
إعادة التحكيم الشرطيةشغّل الدمج القائم على القواعد أولًا؛ وإذا كان conflicted_fields > 5، فأعد الدمج باستخدام مُحكِّم LLM عبر Merge Results — دون إعادة تشغيل عملية الإثراء المكلفة.
توجيه حدود الخطةعند حدوث OutOfMoneyError، نبّه شخصاً في Slack وأوقف السيناريو مؤقتاً حتى إعادة ضبط نافذة الحصة.
تحديث مجدولالتشغيل وفق جدول cron (مُشغِّل Make Schedule) لإعادة إثراء السجلات القديمة بأحدث النماذج.

الخطوات التالية