قالبها، قاعدهها و وبهوکها
همهٔ فرمانهای `templates`، `rules` و `webhooks`: بدنههای ذخیرهشدهای که با slug میفرستید، قاعدههایی که نامههای رسیده را مرتب میکنند، و رویدادهای امضاشده برای سرور خودتان.
سه فضای نام
این سه فضای نام به یک صندوق پستی اجازه میدهند بدون اینکه کسی مراقبش باشد کار کند. templates بدنههایی را که بارها میفرستید ذخیره میکند، rules نامه را هنگام رسیدن مرتب میکند، و webhooks به سرور خودتان میگوید چه رخ داده است. هر فرمان یک متد SDK با نام kebab-case آن است، پس webhooks.rotateSecret میشود openemail webhooks rotate-secret، و آرگومانها و پرچمها را مانند هر فرمان منبع دیگری میخواند.
| فضای نام | همچنین | خواندن نیاز دارد به | تغییر نیاز دارد به |
|---|---|---|---|
| templates | template | templates:read | templates:write، و برای send همچنین emails:send |
| rules | rule | rules:read، از جمله test | rules:write |
| webhooks | webhook | webhooks:read | webhooks:write، از جمله test و replay-delivery |
این صفحه همهٔ فرمانها و آنچه پیش از اسکریپتنویسی با آنها دانستنش میارزد را فهرست میکند. برای هر آرگومان و پرچم، با نوعش، دامنههای مجوز لازم، نقطهٔ پایانی و آنچه برمیگرداند، openemail <namespace> <verb> --help را اجرا کنید. برای همان صفحه بهصورت JSON، --json را اضافه کنید.
openemail templates --helpopenemail rules create --helpopenemail webhooks replay-delivery --help --jsonقالبها
بدنههایی که یک بار ذخیره و بارها فرستاده میشوند، با نسخهها، پیشنمایشها و props نوعدار. هر فرمانی که <id-or-slug> میگیرد شناسهٔ tpl_ یا slug را میپذیرد. slug با تغییر نام قالب هرگز تغییر نمیکند، پس در اسکریپتها slug را ثابت نگه دارید.
| فرمان | چه میکند |
|---|---|
| openemail templates list | فهرست قالبها، به ترتیب آخرین بهروزرسانی. --status پیشنویس، فعال یا بایگانیشده را نگه میدارد، --search با نامها، slugها و موضوعها تطبیق میدهد و --sort ترتیب را انتخاب میکند |
| openemail templates get <id-or-slug> | خواندن یک قالب با نسخهٔ سرِ آن بهطور کامل، همراه با بدنه |
| openemail templates create --name <value> | ساختن یک قالب و نخستین نسخهاش. پیشنویس میماند مگر اینکه --publish بدهید، و --starter آن را از یک طرح آغازین میسازد |
| openemail templates update <id-or-slug> | ویرایش نام، slug، توضیح یا وضعیت، یا بدنهٔ پیشنویس. ارسالها تا وقتی منتشر نکنید با نسخهٔ منتشرشده میمانند |
| openemail templates duplicate <id-or-slug> | کپی نسخهٔ سر در قالبی تازه که بهصورت پیشنویس آغاز میشود |
| openemail templates replace-content <id-or-slug> | جایگزین کردن بدنه با بدنهٔ یک طرح آغازین (--starter) یا قالبی دیگر (--from-template-id). از شما تأیید میخواهد |
| openemail templates delete <id-or-slug> | حذف یک قالب و همهٔ نسخههایش. از شما تأیید میخواهد |
| openemail templates list-versions <id-or-slug> | فهرست نسخهها، تازهترین در ابتدا، بدون بدنههایشان |
| openemail templates get-version <id-or-slug> <version> | خواندن یک نسخه با بدنهاش، بدون دست زدن به پیشنویس |
| openemail templates publish <id-or-slug> | انتشار پیشنویس تا ارسالها به آن برسند. انتشار نسخهٔ سری که از پیش زنده است چیزی را تغییر نمیدهد |
| openemail templates restore-version <id-or-slug> <version> | بازگرداندن بدنهٔ یک نسخهٔ قدیمیتر بهعنوان پیشنویس. از شما تأیید میخواهد |
| openemail templates delete-version <id-or-slug> <version> | حذف یک نسخه. نسخهٔ زنده، نسخهٔ سر و تنها نسخه رد میشوند. از شما تأیید میخواهد |
| openemail templates list-starters | فهرست طرحهای آغازین داخلی |
| openemail templates get-starter <slug> | خواندن کامل یک طرح آغازین، با درخت بلوکها و یک پیشنمایش رندرشده |
| openemail templates list-fonts | فهرست فونتهای وبی که یک قالب میتواند بار کند |
| openemail templates render | رندر بدنهای که هیچ جا ذخیره نشده، از --html یا --document |
| openemail templates preview <id-or-slug> | رندر یک قالب ذخیرهشده با --props و --slots، از جمله پیشنویسها، بدون فرستادن آن |
| openemail templates get-analytics <id-or-slug> | ارسالها، باز شدنها و کلیکها در یک بازه، به تفکیک روز، منبع و نسخه |
| openemail templates list-sends <id-or-slug> | تکتک پیامهایی که قالب فرستاده، تازهترین در ابتدا، صفحه به صفحه |
| openemail templates send <id-or-slug> --from <value> --to <a,b> | فرستادن ایمیلی که از نسخهٔ منتشرشده رندر شده، یا از نسخهای که --template-version ثابت میکند |
هر قالب یک نسخهٔ سر دارد که تا وقتی ویرایشهای منتشرنشده دارد پیشنویس است، و یک نسخهٔ منتشرشده که ارسال بدون --template-version از آن استفاده میکند. create بدون --publish، ویرایش بدنه با update، replace-content و restore-version همه در پیشنویس مینویسند، پس گیرندگان تا publish چیز تازهای نمیبینند.
- قالب بایگانیشده با
template_archivedاز فرستادن سر باز میزند.publishدوباره فعالش میکند. - هر فضای کاری حداکثر 200 قالب دارد، از جمله بایگانیشدهها، پس حذف تنها راه باز کردن جا است.
deleteتا وقتی یک ارسال گروهیِ زمانبندیشده یا در صف هنوز نام قالب را دارد باtemplate_in_useرد میشود.
قاعدهها
شرطها و کنشهایی که روی نامههای رسیده ارزیابی میشوند، به ترتیبی که rules list نشان میدهد. یک قاعده فقط روی نامهای عمل میکند که هنگام فعال بودنش برسد. هیچ فرمانی قاعده را روی نامههای موجود در صندوق پستی اعمال نمیکند، و rules test راه دیدن چیزی است که میگیرد. شناسهٔ قاعدهها با rul_ آغاز میشود.
| فرمان | چه میکند |
|---|---|
| openemail rules list | فهرست قاعدهها به ترتیب اجرا. --enabled یا --no-enabled یک نوع را نگه میدارد |
| openemail rules get <id> | خواندن یک قاعده، با matchCount و lastMatchedAt |
| openemail rules create --name <value> --conditions <json|@file|-> --actions <json|@file|-> | ساختن یک قاعده در انتهای ترتیب. فعال است مگر اینکه --no-enabled بدهید |
| openemail rules update <id> | تغییر یک قاعده. --conditions و --actions کل فهرست را جایگزین میکنند و --position فقط همین قاعده را جابهجا میکند |
| openemail rules delete <id> | حذف یک قاعده. کارهایی که پیشتر کرده در list-runs میماند. از شما تأیید میخواهد |
| openemail rules reorder <rule-ids...> | تنظیم ترتیب همهٔ قاعدهها یکجا، با نام بردن هر قاعده دقیقاً یک بار |
| openemail rules test <id> | اجرای آزمایشی یک قاعده روی نامههای موجود در صندوق پستی. چیزی را تغییر نمیدهد و روی قاعدهٔ غیرفعال هم کار میکند |
| openemail rules list-runs | آنچه قاعدهها واقعاً با نامههای رسیده کردند، تازهترین در ابتدا. --rule-id و --thread-id آن را محدود میکنند |
--conditions فهرستی از شیءهای { field, op, value } است که با --match all یا --match any به هم میپیوندند، و در آن value همیشه رشته است و negate: true یک شرط را وارونه میکند. --actions فهرستی از شیءهای { type, value } است که به ترتیب اعمال میشوند. هر قاعده 1 تا 20 شرط و 1 تا 10 کنش میگیرد، و هر صندوق پستی حداکثر 100 قاعده دارد.
- فیلدهای شرط:
from،from_domain،envelope_from،to،cc،bcc،recipient،reply_to،delivered_to،subject،body،header،list_id،attachment_name،attachment_type،has_attachment،attachment_size،message_size،spam،hourوweekday. - عملگرها:
matches،contains،equals،starts_with،ends_with،gtوlt.gtوltفقط روی فیلدهای عددی کار میکنند، وhas_attachmentوspamفقطequalsرا باtrueیاfalseمیپذیرند. - نوعهای کنش:
label،remove_label،archive،mark_read،star،spam،trash،forward،reply،block_senderوreject.labelوremove_labelیک شناسهٔ برچسب مانندUSER_RECEIPTSمیگیرند،forwardیک نشانی وreplyشناسه یا slug یک قالب. from_domainبا زیردامنهها هم جور میشود، وhourوweekdayبه وقت UTC خوانده میشوند، با0برای یکشنبه.- قاعدهای با کنش
rejectبایدenvelope_fromرا هم بیازماید، وگرنه باreject_needs_envelopeرد میشود.
وبهوکها
نقطههای پایانی روی سرور خودتان که رویدادهای امضاشدهٔ صندوق پستی را دریافت میکنند، با رازهای امضا، گزارش تحویل و گزارش بازبینی هر تغییر. شناسهٔ نقطهٔ پایانی با whe_ و شناسهٔ تحویل با whd_ آغاز میشود.
| فرمان | چه میکند |
|---|---|
| openemail webhooks list | فهرست نقطههای پایانی فضای کاری، تازهترین در ابتدا، با وضعیت سلامتشان |
| openemail webhooks get <id> | خواندن یک نقطهٔ پایانی. راز امضا هرگز بخشی از خواندن نیست |
| openemail webhooks create --url <value> | ثبت یک نقطهٔ پایانی HTTPS. راز امضا را چاپ میکند، تنها باری که آن راز را میبینید |
| openemail webhooks update <id> | تغییر URL، رویدادها، فهرستهای مجاز یا فعال بودن. هر فهرست فهرست ذخیرهشده را جایگزین میکند |
| openemail webhooks delete <id> | حذف یک نقطهٔ پایانی و گزارش تحویلش. از شما تأیید میخواهد |
| openemail webhooks rotate-secret <id> | صدور یک راز امضای تازه. راز قدیمی بیدرنگ از کار میافتد. از شما تأیید میخواهد |
| openemail webhooks test <id> | فرستادن یک رویداد ساختگی و امضاشدهٔ email.sent و گزارش اینکه تحویل چطور پیش رفت |
| openemail webhooks list-deliveries <id> | تلاشهای تحویل یک نقطهٔ پایانی، تازهترین در ابتدا. --status، --since و --until آن را محدود میکنند |
| openemail webhooks get-delivery <id> <delivery-id> | یک تلاش بهطور کامل: بدنهٔ فرستادهشده، پاسخ سرور شما، همهٔ تلاشهای آن رویداد، و اینکه آیا بازپخش پذیرفته میشود |
| openemail webhooks replay-delivery <id> <delivery-id> | فرستادن دوبارهٔ یک رویداد ذخیرهشده به نقطهٔ پایانی، همین حالا |
| openemail webhooks list-workspace-deliveries | تلاشهای تحویل در همهٔ نقطههای پایانی، یا آنهایی که --endpoint-ids نام میبرد |
| openemail webhooks list-activity <id> | گزارش بازبینی یک نقطهٔ پایانی: چه کسی آن را ساخت، تغییر داد، آزمود، بازپخش کرد یا برداشت |
| openemail webhooks list-workspace-activity | گزارش بازبینی همهٔ نقطههای پایانی، از جمله برداشتهشدهها |
اگر --event-types را نگذارید، نقطهٔ پایانی مجموعهٔ پیشفرض را دریافت میکند، یعنی رویدادهای email.* به جز email.replied. email.replied، رویدادهای domain.* و رویدادهای suppression.* فقط وقتی به آن میرسند که نامشان را ببرید. --address-allowlist و --domain-allowlist نقطهٔ پایانی را به برخی نشانیها یا دامنهها محدود میکنند، همانطور که یک کلید API را.
- هر فضای کاری 10 نقطهٔ پایانی دارد مگر اینکه پشتیبانی سقفش را بالا برده باشد.
- نقطهٔ پایانیای که 100 تحویل پیاپی را ناموفق بگذراند سرور خاموشش میکند، و
webhooks update <id> --enabledآن را برمیگرداند. - با ورود از طریق مرورگر، فقط مالک فضای کاری میتواند یک تحویل را با
get-deliveryبخواند. هر کس دیگریowner_onlyو کد خروج4میگیرد.
بررسی یک قالب، سپس انتشار آن
templates preview دقیقاً همان چیزی را رندر میکند که ارسالی با همان مقدارها تولید میکرد، از جمله پیشنویسها، و فقط templates:read لازم دارد، پس حتی کلیدِ فقطخواندنی هم میتواند اجرایش کند. prop الزامیِ ناموجود را بهصورت هشدار گزارش میدهد، جایی که send آن را رد میکرد، پس با هر هشداری ساخت را ناموفق کنید. publish در هر استقرار بیخطر است، چون انتشار نسخهٔ سری که از پیش زنده است چیزی را تغییر نمیدهد.
draft=$(openemail templates get order-shipped --json | jq .latestVersion)openemail templates preview order-shipped --template-version "$draft" \ --props '{"orderId":"AC-4192","customer":"Ada"}' --json | jq -e '.warnings == []'openemail templates publish order-shippedفرستادن از یک قالب
نسخه را ثابت کنید تا بازنویسیای که فردا منتشر میشود آنچه این کد میفرستد را تغییر ندهد، و یک کلید idempotency برگرفته از آنچه باعث ارسال شده بدهید، تا تلاش دوباره پس از گم شدن پاسخ پیام نخست را بازپخش کند نه اینکه پیام دومی بفرستد. --dry-run متد، URL، سرآیندها با اعتبارنامهٔ پوشاندهشده و بدنه را چاپ میکند، چیزی نمیفرستد و با کد 0 خارج میشود. برای فرستادن، دوباره بدون --dry-run اجرایش کنید.
openemail templates send order-shipped \ --from 'Acme <[email protected]>' \ --to [email protected] \ --template-version 5 \ --props '{"orderId":"AC-4192","customer":"Ada"}' \ --idempotency-key order-shipped:AC-4192 \ --dry-runآزمودن یک قاعده پیش از اجرا
قاعده را خاموش بسازید، آن را روی نامههای اخیر آزمایشی اجرا کنید، و وقتی همان چیزی را گرفت که منظورتان بود روشنش کنید. با ورود از طریق مرورگر، rules create و rules update کد تأیید هویتی میخواهند که اسکریپت نمیتواند تایپ کند، پس نخست openemail verify را اجرا کنید. در 60 دقیقهٔ بعد آن نمایه اینها را بدون پرسش اجرا میکند.
[ { "field": "from_domain", "op": "equals", "value": "stripe.com" }, { "field": "has_attachment", "op": "equals", "value": "true" }][ { "type": "label", "value": "USER_RECEIPTS" }, { "type": "archive" }]openemail verifyrule=$(openemail rules create --name 'Stripe receipts' \ --conditions @conditions.json --actions @actions.json --no-enabled --json | jq -r .id)openemail rules test "$rule" --days 30 --limit 100openemail rules update "$rule" --enabledهشدارهای rules test را پیش از تطابقهایش بخوانید. field_unevaluable یعنی شرطی چیزی را میخواند که نامهٔ ذخیرهشده دیگر ندارد، پس آزمون نتوانست دربارهٔ آن داوری کند، و forward_unverified یعنی مقصد بازارسال اینجا میزبانی نمیشود. wouldApply آنچه قاعده اعلام میکند را فهرست میکند: بازارسال به نشانیای که تأیید نکرده، وقتی نامهٔ واقعی برسد همچنان شکست میخورد.
یک قاعده را اول بگذارید و ببینید چرا پیامی جابهجا شد
rules reorder همهٔ قاعدههای صندوق پستی را دقیقاً یک بار میگیرد. قاعدهای که جا بیفتد یا دو بار نام برده شود رد میشود و هیچ چیز جابهجا نمیشود. rules list شناسهها را به ترتیب اجرا برمیگرداند، پس قاعدهای را که میخواهید اول باشد جلوی بقیه بگذارید.
first=rul_4f1c9a2b7d3e8f6a0b5c1d2eopenemail rules reorder "$first" $(openemail rules list --all --ndjson \ | jq -r --arg first "$first" 'select(.id != $first) | .id')openemail rules list-runs --thread-id CAHk7pQ2x9LmZ4 --json | jq '.items[] | {ruleName, actions, failures}'list-runs کارنامهٔ آن چیزی است که واقعاً رخ داد. هر ردیف یک قاعده است که با یک پیام جور شده، با کنشهایی که اثر کردند و، در failures، آنهایی که صندوق پستی نپذیرفت، مانند پاسخ به فرستندهای که همان روز پاسخ گرفته بود. هر ردیف نامی را که قاعده در آن زمان داشت نگه میدارد، پس --rule-id برای قاعدهای که از آن پس حذف کردهاید هم کار میکند.
ثبت یک وبهوک و اثبات اینکه کار میکند
webhooks create راز امضا را یک بار نشان میدهد و هیچ فرمان بعدی دوباره نشانش نمیدهد. با --json این راز در JSON روی stdout است، در حالی که یادآوری نگهداریاش به stderr میرود، پس خروجی همچنان تجزیهپذیر است. webhooks test صرف نظر از اینکه نقطهٔ پایانی مشترک چه رویدادهایی است، یک رویداد ساختگی و امضاشدهٔ email.sent میفرستد و هیچ نامهای فرستاده نمیشود.
openemail verifyopenemail webhooks create --url https://hooks.acme.com/openemail \ --event-types email.received,email.bounced,email.complained \ --description 'Support desk sync' --json > endpoint.jsonjq -r .secret endpoint.jsonopenemail webhooks test "$(jq -r .id endpoint.json)" --json | jq .deliveryrm endpoint.jsonپیش از حذف فایل، راز را در انبار رازهایتان بگذارید. test حتی وقتی سرور شما شکست بخورد با کد 0 خارج میشود، پس delivery.status را بخوانید: delivered برای پاسخ 2xx و failed برای هر چیز دیگر، از جمله تغییر مسیر، چون تغییر مسیرها هرگز دنبال نمیشوند. responseCode برابر null یعنی هیچ پاسخی نرسیده است.
پیدا کردن تحویلهای ناموفق و فرستادن دوبارهٔ یکی
پس از یک قطعی در سمت شما، آنچه را در همهٔ نقطههای پایانی ناموفق بوده فهرست کنید، بررسی کنید که بازپخش پذیرفته میشود، و رویداد را دوباره بفرستید. بازپخش همان شناسهٔ رویداد را دارد، پس گیرندهای که شناسههای رسیدگیشده را کنار میگذارد با آن مانند رویدادی رفتار میکند که میشناسد.
openemail webhooks list-workspace-deliveries --status failed --since 2026-09-26T00:00:00Z --all --ndjson \ | jq -r '[.endpointId, .id, .eventType, (.responseCode // "no answer")] | @tsv'openemail webhooks get-delivery whe_3f9c2a7b1e4d8f60a5c7b92d whd_8c1e4a7f2b9d3e6a0c5f1b28 --json | jq .replayRefusalopenemail webhooks replay-delivery whe_3f9c2a7b1e4d8f60a5c7b92d whd_8c1e4a7f2b9d3e6a0c5f1b28--sinceو--untilیک لحظه به قالب ISO 8601 میگیرند.- ردیف ناموفقی که
nextAttemptAtآن زمانی دارد هنوز یک تلاش دوبارهٔ خودکار در پیش دارد. replayRefusalوقتی بازپخش بیرون برودnullاست، و در غیر این صورت دلیل رد شدنش را نام میبرد، مانندwebhook_disabledتا وقتی نقطهٔ پایانی خاموش است.- بازپخشها یک رویداد در هر بار انجام میشوند. هیچ فرمانی همهٔ تحویلهای ناموفق را دوباره نمیفرستد.
کدهای تأیید هویت
با ورود از طریق مرورگر، چهار تا از این فرمانها پیش از تغییر هر چیزی کد تأیید هویت میخواهند، همانطور که برنامهٔ وب: rules create، rules update، webhooks create و webhooks update. از کلید API هرگز پرسیده نمیشود. هر فرمان دیگر این صفحه بدون کد اجرا میشود، از جمله حذفها و webhooks rotate-secret.
- در ترمینال، CLI یک کد ششرقمی برایتان ایمیل میکند، یا وقتی ورود دومرحلهای روشن است کدی از برنامهٔ احراز هویت میخواهد، سپس فرمان را یک بار اجرا میکند.
- بدون نظارت، با
--jsonیا--no-input، در CI یا بدون ترمینال، کسی نمیتواند کد را تایپ کند، پس فرمان با کد خروج4متوقف میشود و چیزی را تغییر نمیدهد. نخستopenemail verifyرا اجرا کنید تا نمایه 60 دقیقه به کد نیاز نداشته باشد. --yesیک حذف را تأیید میکند اما هرگز از کد نمیگذرد.
تأییدها و اجرای آزمایشی
هفت فرمان اینجا چیزی را برمیدارند یا بازنویسی میکنند، پس نخست از شما تأیید میخواهند: templates delete، templates delete-version، templates replace-content، templates restore-version، rules delete، webhooks delete و webhooks rotate-secret. بدون نظارت، هر کدام با کد خروج 2 متوقف میشود مگر اینکه --yes بدهید.
$ openemail webhooks delete whe_3f9c2a7b1e4d8f60a5c7b92d --no-input✗ Refusing to run unattended. Pass --yes to confirm.$ openemail webhooks delete whe_3f9c2a7b1e4d8f60a5c7b92d --yes--dry-run نخستین درخواستی را که چیزی را تغییر میداد چاپ میکند و بدون فرستادن یا خواستن تأیید با کد 0 خارج میشود. با --json یک سند { dryRun, request } چاپ میکند. rules test، templates render و templates preview چیزی را تغییر نمیدهند، اما درخواستهای POST هستند، پس اجرای آزمایشی به جای اجرا چاپشان میکند.
صفحهبندی
templates list،templates list-versions،rules list،rules list-runsو هر فرمانwebhooks list…در هر بار یک صفحه میخوانند، 25 ردیف مگر اینکه--limitتا 100 بخواهد. ترمینال مقدار--cursorرا برای صفحهٔ بعد نشان میدهد.--allهمهٔ صفحهها را میخواند،--max <n>پس از همان تعداد ردیف میایستد و--ndjsonدر هر سطر یک شیء JSON چاپ میکند. با--jsonیک فهرست یک سند{ items, hasMore, nextCursor }چاپ میکند، با--allهم.- نشانگر را با همان فیلترها و ترتیبی که با آن آمده برگردانید. هر چیز دیگری بهعنوان
invalid_cursorبا کد خروج7رد میشود. templates list-sendsبه جای آن با شماره صفحهبندی میکند، با--pageو--page-size، مقدارtotalرا گزارش میدهد و--allندارد. شمارهٔ صفحهها هنگام بیرون رفتن نامهها جابهجا میشوند، پس به جای ورق زدن در عمق، بازه را با--daysیا--minutesتنگ کنید.templates list-startersوtemplates list-fontsکل فهرست را یکجا برمیگردانند، وrules reorderهمهٔ قاعدهها را بهصورت فهرستی ساده به ترتیب تازهشان برمیگرداند.- هر صندوق پستی حداکثر 100 قاعده دارد، پس
rules list --limit 100همیشه همهٔ قاعدهها را در یک صفحه برمیگرداند.
پرچمهایی که ارزش نگاه دوباره دارند
--template-versionهمان فیلد بدنهٔversionاست که نامش عوض شده، چون--versionنسخهٔ CLI را چاپ میکند. آرگومان<version>درget-version،restore-versionوdelete-versionیک شمارهٔ نسخه است، نه یک شناسهٔtplv_.--conditions،--actions،--document،--slots،--propsو دیگر پرچمهای JSON، JSON را درونخطی، از یک فایل با@pathیا از stdin با-میگیرند.--dataکل بدنه را به همین شکل میگیرد، و هر پرچمی که در کنارش بدهید کلید خودش را بازنویسی میکند.--htmlخودِ نشانهگذاری را میگیرد، نه یک فایل، پس--html @page.htmlمتن@page.htmlرا میفرستد.--html "$(cat page.html)"را بدهید، یاhtmlرا در فایلی بگذارید که به--dataمیدهید.rules update --conditionsو--actionsکل فهرست را جایگزین میکنند، وwebhooks update --event-types،--address-allowlistو--domain-allowlistهم همینطور. مقدار کنونی را بخوانید، تغییرش دهید و همهاش را بفرستید.--event-typesخالی خطای کاربرد است. برای برگرداندن یک نقطهٔ پایانی به مجموعهٔ پیشفرض،--data '{"eventTypes":[]}'را بفرستید، و برای متوقف کردن تحویلهایش--no-enabledرا بدهید.--expected-versionدرtemplates update،replace-contentوrestore-versionنسخهٔ سری را میگیرد که خواندهاید. وقتی کسی دیگر از آن پس نسخهٔ سر را جابهجا کرده باشد، فرمان با کد خروج6وversion_conflictمتوقف میشود و چیزی نمینویسد.rules update <id> --no-enabledیک قاعده را خاموش میکند و جایش را در ترتیب نگه میدارد، که راه مکث دادن به یک قاعده بدون حذف آن است.