الأتمتة والأحداث
كل أمر للأتمتات والأشخاص بداخلها والأحداث التي تحرّكهم، مع أمثلة تطبيقية.
كيف يترابط كل شيء
الأتمتة مشغِّل وشجرة من الخطوات. وهي تحتفظ بمسودة ونسخة منشورة: يغيّر 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 يومًا.