تخطَّ إلى المستندات
CLI

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

كل أمر للأتمتات والأشخاص بداخلها والأحداث التي تحرّكهم، مع أمثلة تطبيقية.

كيف يترابط كل شيء

الأتمتة مشغِّل وشجرة من الخطوات. وهي تحتفظ بمسودة ونسخة منشورة: يغيّر update المسودة والإعدادات، ويثبّت publish المسودة ويشغّل الأتمتة. القراءة تتطلب automations:read والتغيير يتطلب automations:write. وتتطلب publish وresume وsend-test أيضًا emails:send، لأنها تجعل الأتمتة ترسل بريدًا.

الطرفية
openemail automations create --name "Welcome series" --starter welcome-seriesopenemail automations update aut_5c1e9a7b3d2f48e6a0b4c7d1 --data @welcome.jsonopenemail automations publish aut_5c1e9a7b3d2f48e6a0b4c7d1openemail automations stats aut_5c1e9a7b3d2f48e6a0b4c7d1

التعريف بصيغة JSON، فاكتبه في ملف ومرّره باستخدام --data @file. ويطبع openemail automations get <id> --json التعريف الحالي، ويسرد problems فيه ما يمنع نشره حتى الآن.

الأتمتة

الأمرما تفعله
openemail automations listصفحة واحدة من الأتمتات، الأحدث تغييرًا أولًا. ويحصرها --status في draft أو live أو paused أو archived
openemail automations create --name <value>أنشئ مسودة من --starter، أو من تعريف في --data، أو مسودة فارغة
openemail automations get <id>أتمتة واحدة مع مسودتها ونسختها المنشورة وإعداداتها وما في المسودة من مشكلات
openemail automations update <id>غيّر الاسم أو الإعدادات أو تعريف المسودة. ويرفض --expected-updated-at الكتابة فوق تغيير جرى منذ أن قرأتها
openemail automations publish <id>ثبّت المسودة بوصفها النسخة التالية وشغّل الأتمتة
openemail automations pause <id>أوقف أتمتة منشورة مؤقتًا. ويبقى كل من بداخلها في مكانه
openemail automations resume <id>أعد تشغيل أتمتة متوقفة مؤقتًا بالنسخة التي كانت تعمل بها
openemail automations archive <id>أوقف أتمتة نهائيًا مع الاحتفاظ بسجلّها. ويخرج منها كل من بداخلها
openemail automations duplicate <id>انسخ أتمتة إلى مسودة جديدة، من دون أشخاصها أو أرقامها
openemail automations delete <id>احذف أتمتة وسجلّها بعد أن تؤكد. ويطلب تسجيل الدخول عبر المتصفح رمز تحقق أيضًا
openemail automations list-startersنقاط البداية التي يمكن أن تنطلق منها أتمتة جديدة

الاختبار والنسخ والأرقام

الأمرما تفعله
openemail automations send-test <id> --step-key <value>أرسل خطوة بريد واحدة من المسودة إلى نفسك، أو إلى --to، بقيم تجريبية. ولا يسجّل أحدًا
openemail automations list-versions <id>كل نسخة نُشرت، الأحدث أولًا
openemail automations restore-version <id> <version>انسخ نسخة سابقة إلى المسودة من جديد. انشر لتبدأ العمل
openemail automations stats <id>المجاميع، وصف لكل خطوة، ونقطة لكل يوم. ويحدد --since بداية الفترة، وقيمتها الافتراضية آخر 30 يومًا

الأشخاص داخل الأتمتة

الأمرما تفعله
openemail automations list-enrollments <id>الأشخاص الذين دخلوا، الأحدث أولًا، مع الخطوة التي يقف عندها كل منهم. ويحصرها --status و--step-key، ويقرأ --all كل الصفحات
openemail automations get-enrollment <id> <enrollment-id>مسار شخص واحد، مع كل خطوة نُفّذت فيه والرسالة التي نتجت عن كل إرسال
openemail automations enroll <id> --email <value>أدخل جهة اتصال إلى أتمتة منشورة عند خطوتها الأولى. ويحدّد --contact-id جهة الاتصال بالمعرّف بدلًا من ذلك
openemail automations exit-enrollment <id> <enrollment-id>إخراج شخص قبل أن ينتهي
الطرفية
openemail automations list-enrollments aut_5c1e9a7b3d2f48e6a0b4c7d1 --status active --all --json | jq -r '.items[] | .contact.email + " " + (.stepKey // "")'

الأحداث

الحدث يفيد بأن جهة اتصال فعلت شيئًا في منتجك. فيبدأ كل أتمتة منشورة يسمّيه مشغِّلها، ويدفع إلى الأمام كل من كان ينتظره. وإرساله يتطلب contacts:write.

الأمرما تفعله
openemail events send --name <value> --email <value>سجّل حدثًا واحدًا لجهة اتصال. ويضيف --create-contact جهة الاتصال إذا لم يكن العنوان لأحد بعد، ويجعل --idempotency-key إعادة المحاولة آمنة
openemail events send-batch <events>سجّل حتى 100 حدث من ملف JSON، واطبع ما قُبل منها وما رُفض
openemail events list-namesأسماء الأحداث التي أرسلتها مساحة العمل، لاختيار أحدها في مشغِّل
openemail contacts list-events <email>الأحداث التي قامت بها جهة اتصال واحدة، الأحدث أولًا. ويحصرها --name في حدث واحد
الطرفية
openemail events send --data '{"name":"order.placed","email":"[email protected]","properties":{"orderId":"AC-4192"}}' --idempotency-key order:AC-4192:placedopenemail events send-batch @events.jsonopenemail contacts list-events [email protected] --name order.placed

توضع الخصائص في متن JSON، فأرسل الحدث الذي يحملها باستخدام --data. وتُحفظ الأحداث 90 يومًا.