يتيح لك المكرّر التكرار عبر مصفوفة من السجلات وتنفيذ إجراءات على كلٍ منها. وهو ضروري لتدفّقات العمل التي تحتاج إلى معالجة سجلات متعددة أُرجعت بواسطة Search Records أو استُلِمت عبر ربط الويب.Documentation Index
Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
Use this file to discover all available pages before exploring further.
متى تستخدم المكرّر
| السيناريو | مثال |
|---|---|
| معالجة نتائج البحث | إرسال بريد إلكتروني إلى كل شخص تم العثور عليه |
| التعامل مع مصفوفات ربط الويب | إنشاء سجلات لكل عنصر بالتسلسل |
| التحديثات الدفعيّة | تحديث عدة سجلات بقيم محسوبة |
| إشعارات | تنبيه عدة أشخاص بخصوص حدثٍ ما |
فهم المكرّر
يتوقع المكرّر إدخالاً عبارة عن مصفوفة. ثم يقوم بما يلي:- يأخذ أول عنصر من المصفوفة
- يشغّل جميع الإجراءات داخل المكرّر باستخدام ذلك العنصر
- ينتقل إلى العنصر التالي
- يكرّر حتى تتم معالجة جميع العناصر
الإعداد الأساسي
مثال: إرسال بريد إلكتروني للجميع ضمن نتائج البحث
الهدف: العثور على جميع جهات الاتصال في شركة محددة وإرسال بريد إلكتروني مخصص لكلٍ منهم.الخطوة 1: البحث عن سجلات
- أضف إجراء Search Records
- الكائن: People
- عامل التصفية: Company يساوي “Acme Inc”
- يُرجِع هذا مصفوفة من الأشخاص
الخطوة 2: التحقق من وجود نتائج
- أضف إجراء Filter
- الشرط:
{{searchRecords.length}}أكبر من 0 - يمنع هذا أخطاء المكرّر عند كون النتائج فارغة
الخطوة 3: إضافة Iterator
- أضف إجراء Iterator
- مدخل المصفوفة: اختر
{{searchRecords}} - هذا ينشئ حلقة تكرار
الخطوة 4: إضافة إجراءات داخل المكرّر
الإجراءات الموضوعة بعد Iterator تُشغَّل لكل عنصر:- أضف إجراء Send Email (داخل المكرّر)
- إلى:
{{iterator.currentItem.email}} - الموضوع: مرحباً
{{iterator.currentItem.firstName}}! - المتن: رسالة مخصّصة باستخدام حقول العنصر الحالي
النتيجة
إذا أعاد Search Records 5 أشخاص، فسيقوم المكرّر بما يلي:- يرسل بريداً إلكترونياً إلى الشخص 1
- يرسل بريداً إلكترونياً إلى الشخص 2
- … يستمر لكل الأشخاص الخمسة
الوصول إلى بيانات العنصر الحالي
داخل المكرّر، استخدم{{iterator.currentItem}} للوصول إلى السجل الحالي:
| المتغيّر | الوصف |
|---|---|
{{iterator.currentItem}} | كائن السجل الحالي بالكامل |
{{iterator.currentItem.id}} | معرّف السجل |
{{iterator.currentItem.email}} | حقل البريد الإلكتروني |
{{iterator.currentItem.company.name}} | اسم الشركة المرتبطة |
{{iterator.index}} | الموضع الحالي في المصفوفة (بدءاً من 0) |
أنماط شائعة
تحديث عدة سجلات
الهدف: وضع علامة “متأخر” على جميع المهام المتأخرة عن موعدهاإنشاء سجلات من مصفوفة
الهدف: يتلقى الويبهوك طلباً يتضمن عدة عناصر، وإنشاء سجل لكل عنصرمعالجة مشروطة داخل الحلقة
الهدف: إرسال بريد إلكتروني فقط لجهات الاتصال ذات العناوين الصالحةاستكشاف الأخطاء وإصلاحها
”المكرّر يتوقع مصفوفة”
السبب: مرّرت سجلاً مفرداً بدلاً من مصفوفة. الإصلاح: تأكّد من أنك تمرّر ناتج Search Records أو حقلاً من نوع مصفوفة، وليس سجلاً مفرداً.المكرّر لا يعمل
السبب: المصفوفة فارغة. الإصلاح: أضف عامل تصفية قبل Iterator للتحقق من طول المصفوفة:الإجراءات تُشغَّل مرات كثيرة جداً
السبب: أعاد Search Records سجلات أكثر مما هو متوقّع. الإصلاح:- أضف عوامل تصفية أكثر تحديداً إلى Search Records
- عيّن حداً في Search Records (بحد أقصى 200)
- أضف عامل تصفية داخل المكرّر لشروط إضافية
اعتبارات الأداء
- استخدام الأرصدة: كل دورة تستهلك أرصدة لإجراءاتها
- الوقت: تستغرق المصفوفات الكبيرة وقتاً أطول للمعالجة
- القيود: فكّر في تنفيذ العمليات الكبيرة جداً على دفعات
- قيود المعدّل: قد تصل استدعاءات واجهات برمجة التطبيقات الخارجية إلى حدود المعدّل مع كثرة التكرارات
أفضل الممارسات
- تحقق دائماً من طول المصفوفة قبل Iterator لتجنّب الأخطاء
- أضف عوامل تصفية داخل الحلقات عندما لا تحتاج جميع العناصر إلى معالجة
- أعد تسمية خطوة Iterator لوصف ما تقوم بالتكرار عليه
- اختبر باستخدام مصفوفات صغيرة قبل معالجة مجموعات بيانات كبيرة
- راقب تشغيلات سير العمل لضمان اكتمال التكرارات كما هو متوقّع