ارسال خودکار پیامک وضعیت سفارش Airtable با Twilio

ارسال خودکار پیامک وضعیت سفارش Airtable با Twilio

9 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 8682 · منبع: کاتالوگ Pixori

اتوماسیون اعلان‌های پیامکی برای به‌روزرسانی وضعیت سفارش در Airtable با Twilio

این گردش کار، ارسال اعلان‌های پیامکی به مشتریان را هنگام به‌روزرسانی وضعیت سفارششان در Airtable خودکار می‌کند. این سیستم برای کسب‌وکارهای تجارت الکترونیک طراحی شده است تا مشتریان را مطلع نگه دارد. گردش کار یک جدول Airtable را برای تغییرات وضعیت نظارت می‌کند، پیام‌های پیامکی شخصی‌سازی شده با استفاده از داده‌های مشتری ایجاد می‌کند، این پیام‌ها را از طریق Twilio ارسال می‌کند و وضعیت اعلان را برای پیگیری مجدداً در Airtable به‌روز می‌کند.

تشریح گردش کار

این گردش کار به بلوک‌های منطقی زیر تقسیم می‌شود:

1. نظارت بر Airtable برای تغییرات وضعیت: رکوردهای جدید یا به‌روز شده را در جدول "Status Notifications" در Airtable شما که برای ارسال علامت‌گذاری شده‌اند، شناسایی می‌کند.

2. تنظیمات پیکربندی: جزئیات ضروری پیکربندی، از جمله URLهای پایه Airtable و شماره تلفن فرستنده Twilio شما را بارگیری می‌کند.

3. فیلتر و آماده‌سازی اعلان‌ها: اعلان‌هایی را که آماده ارسال هستند فیلتر می‌کند، آن‌ها را در Airtable به عنوان "Sending..." علامت‌گذاری می‌کند تا از ارسال تکراری جلوگیری شود و داده‌های پیکربندی را با جزئیات اعلان ترکیب می‌کند.

4. آماده‌سازی و ارسال پیامک: یک پیامک شخصی‌سازی شده با استفاده از اطلاعات مشتری ایجاد کرده و آن را از طریق سرویس Twilio ارسال می‌کند.

5. مدیریت وضعیت تحویل: نتیجه فرآیند ارسال پیامک را بررسی کرده و وضعیت اعلان را در Airtable به "Success" یا "Error" به‌روز می‌کند.

6. مستندات تعبیه‌شده: یادداشت‌های مفید و راهنمایی‌های پیکربندی را مستقیماً در گردش کار گنجانده است.

---

تحلیل گره‌های جزئیات

۱. نظارت بر تغییرات وضعیت در Airtable

  • هدف: این گره به عنوان ماشه عمل می‌کند و به طور مداوم جدول "Status Notifications" در Airtable شما را برای رکوردهای جدیدی که نیاز به ارسال پیامک دارند، بررسی می‌کند.
  • گره: Monitor Order Status Changes
  • نوع: airtableTrigger
  • عملکرد: پایگاه Airtable شما را در فواصل زمانی منظم (مثلاً هر دقیقه) برای رکوردهای جدید بر اساس فیلد "Created" بررسی می‌کند.
  • پیکربندی: نیاز به توکن دسترسی شخصی Airtable، پایگاه Airtable مشخص شده و URL جدول دارد.
  • ورودی: ندارد (این یک گره ماشه است).
  • خروجی: رکوردهای جدید یا به‌روز شده را از جدول Airtable شما منتشر می‌کند.
  • مشکلات احتمالی: توکن API نامعتبر Airtable، مشکلات اتصال شبکه، یا رسیدن به محدودیت‌های نرخ API Airtable.

۲. راه‌اندازی پیکربندی

  • هدف: این بخش متغیرهای کلیدی پیکربندی مورد نیاز در سراسر گردش کار، مانند URLهای جدول Airtable و شماره فرستنده Twilio را متمرکز و بارگیری می‌کند.
  • گره‌ها: Config, Configuration Helper
  • گره: Config

* نوع: set

* عملکرد: متغیرهای ثابت مانند orders_table_url، notifications_table_url، scripts_table_url (اختیاری) و from_number (شماره تلفن Twilio شما) را تعریف می‌کند.

* ورودی: داده‌ها را از گره Monitor Order Status Changes دریافت می‌کند.

* خروجی: داده‌های پیکربندی را همراه با داده‌های اعلان ورودی منتقل می‌کند.

* مشکلات احتمالی: انتظار نمی‌رود؛ با این حال، پیکربندی نادرست منجر به خطاهای گردش کار می‌شود.

  • گره: Configuration Helper

* نوع: stickyNote

* عملکرد: دستورالعمل‌های واضحی را برای کاربران در مورد نحوه به‌روزرسانی URLهای Airtable و شماره فرستنده Twilio ارائه می‌دهد.

* ورودی/خروجی: ندارد.

۳. فیلتر و آماده‌سازی اعلان‌ها

  • هدف: این بخش رکوردها را فیلتر می‌کند تا فقط اعلان‌های علامت‌گذاری شده به عنوان "To send" را پردازش کند. سپس رکورد را در Airtable به "Sending..." به‌روز می‌کند تا از پردازش تکراری جلوگیری کند و داده‌های پیکربندی را با جزئیات اعلان ادغام می‌کند.
  • گره‌ها: Filter Pending Notifications, Mark Notification as Sending, Combine Config with Order Data
  • گره: Filter Pending Notifications

* نوع: if

* عملکرد: رکوردهایی را فیلتر می‌کند که فیلد Message Status آن‌ها دقیقاً "To send" باشد.

* پیکربندی: از یک عبارت برای بررسی اینکه آیا $json.fields['Message Status'] برابر با "To send" است، استفاده می‌کند.

* ورودی: داده‌های پیکربندی و اعلان را دریافت می‌کند.

* خروجی: فقط رکوردهایی را که معیارهای ارسال را برآورده می‌کنند، عبور می‌دهد.

* مشکلات احتمالی: خطاهای عبارت در صورت عدم وجود فیلد Message Status یا نام‌گذاری متفاوت آن.

  • گره: Mark Notification as Sending

* نوع: airtable (عملیات به‌روزرسانی)

* عملکرد: فیلد Message Status را در Airtable به "Sending..." برای رکورد اعلان فعلی به‌روز می‌کند. این به عنوان یک قفل عمل می‌کند تا از پردازش همان اعلان توسط نمونه‌های دیگر جلوگیری کند.

* پیکربندی: از URL Airtable از گره Config و شناسه رکورد برای انجام به‌روزرسانی استفاده می‌کند.

* ورودی: رکوردهای اعلان فیلتر شده.

* خروجی: رکورد به‌روز شده Airtable.

* مشکلات احتمالی: خطاهای API Airtable، یا مشکلات احتمالی همزمانی اگر چندین گردش کار سعی در به‌روزرسانی همزمان یک رکورد داشته باشند (اگرچه وضعیت "Sending..." این موضوع را کاهش می‌دهد).

  • گره: Combine Config with Order Data

* نوع: merge (ترکیب بر اساس موقعیت)

* عملکرد: داده‌های پیکربندی (از گره Config) را با داده‌های رکورد اعلان به‌روز شده ادغام می‌کند. این تضمین می‌کند که تمام اطلاعات لازم برای گره‌های بعدی در دسترس باشد.

* ورودی: یک جریان از Mark Notification as Sending (اعلان به‌روز شده) و یک جریان از Config.

* خروجی: مجموعه داده ترکیبی حاوی جزئیات پیکربندی و اعلان.

* مشکلات احتمالی: عدم تطابق نمایه‌سازی داده‌ها در صورت عدم هم‌ترازی صحیح ورودی‌ها، یا در صورت عدم وجود داده برای ادغام.

۴. آماده‌سازی و ارسال پیامک

  • هدف: این بخش محتوای پیامک شخصی‌سازی شده را می‌سازد و سپس آن را با استفاده از Twilio به مشتری ارسال می‌کند.
  • گره‌ها: Prepare SMS Content, Send Order Status SMS
  • گره: Prepare SMS Content

* نوع: set

* عملکرد: متن پیامک را قالب‌بندی می‌کند. نام کوچک مشتری و وضعیت سفارش او را به طور پویا درج می‌کند. همچنین شماره تلفن گیرنده (To) و شماره فرستنده (From) را تنظیم می‌کند.

* پیکربندی: از عباراتی برای استخراج داده‌ها از ورودی ترکیبی استفاده می‌کند. الگوی پیام این است: "Hi {{First Name}}, Your order status changed to: {{Order Status}}. Any questions, call us!"

* ورودی: داده‌های ترکیبی پیکربندی و اعلان.

* خروجی: یک شیء JSON حاوی فیلدهای Message، To و From که برای گره Twilio آماده است.

* مشکلات احتمالی: فیلدهای گمشده در داده‌های ورودی می‌تواند منجر به پیام ناقص یا شماره تلفن نادرست شود.

  • گره: Send Order Status SMS

* نوع: twilio

* عملکرد: پیامک آماده شده را به مشتری ارسال می‌کند.

* پیکربندی: نیاز به Account SID و Auth Token Twilio شما دارد. از شماره From و شماره To ارائه شده در ورودی، همراه با محتوای Message استفاده می‌کند.

* ورودی: محتوای پیامک آماده شده از گره Prepare SMS Content.

* خروجی: پاسخ از API Twilio، که موفقیت یا شکست را نشان می‌دهد.

* مشکلات احتمالی: اعتبارنامه‌های نامعتبر Twilio، شماره تلفن‌های نادرست (مشکلات قالب‌بندی)، فراتر رفتن از محدودیت‌های ارسال Twilio، یا مهلت‌های زمانی API.

۵. مدیریت وضعیت تحویل

  • هدف: این بخش تعیین می‌کند که آیا پیامک با موفقیت ارسال شده است یا خیر و رکورد مربوطه را در Airtable به‌روز می‌کند تا نتیجه را منعکس کند.
  • گره‌ها: Check SMS Delivery, Mark Notification as Success, Mark Notification as Failed
  • گره: Check SMS Delivery

* نوع: if

* عملکرد: خروجی گره Twilio را ارزیابی می‌کند تا تعیین کند آیا خطایی در هنگام ارسال پیامک رخ داده است یا خیر.

* پیکربندی: بررسی می‌کند که آیا فیلد error در پاسخ Twilio false است.

* ورودی: خروجی از گره Send Order Status SMS.

* خروجی: گردش کار را به یک مسیر "موفقیت" یا یک مسیر "شکست" هدایت می‌کند.

* مشکلات احتمالی: ممکن است پاسخ‌های Twilio را به اشتباه تفسیر کند اگر ساختار API به طور غیرمنتظره‌ای تغییر کند.

  • گره: Mark Notification as Success

* نوع: airtable (عملیات به‌روزرسانی)

* عملکرد: فیلد Message Status را در Airtable به "Success" برای رکورد اعلان به‌روز می‌کند.

* پیکربندی: از شناسه رکورد اعلان و URLهای Airtable از گره Config استفاده می‌کند.

* ورودی: مسیر "موفقیت" از گره Check SMS Delivery.

* خروجی: تأیید به‌روزرسانی Airtable.

* مشکلات احتمالی: خطاهای API Airtable یا تداخلات قفل رکورد.

  • گره: Mark Notification as Failed

* نوع: airtable (عملیات به‌روزرسانی)

* عملکرد: فیلد Message Status را در Airtable به "Error" به‌روز می‌کند اگر ارسال پیامک ناموفق بود.

* پیکربندی: مشابه گره موفقیت، اما وضعیت را به "Error" تنظیم می‌کند.

* ورودی: مسیر "شکست" از گره Check SMS Delivery.

* خروجی: تأیید به‌روزرسانی Airtable.

* مشکلات احتمالی: خطاهای API Airtable.

۶. مستندات جاسازی شده

  • هدف: زمینه و راهنمایی ضروری را مستقیماً در رابط گردش کار ارائه می‌دهد.
  • گره: Workflow Description
  • نوع: stickyNote
  • عملکرد: شامل یک نمای کلی جامع از گردش کار، دستورالعمل‌های راه‌اندازی، جزئیات پیکربندی و پیوند به منابع مرتبط مانند الگوهای پایگاه Airtable و ثبت‌نام Twilio است.
  • ورودی/خروجی: ندارد.

---

جدول خلاصه

| نام Node | نوع Node | نقش عملکردی | Node(های) ورودی | Node(های) خروجی | یادداشت چسبان

| Monitor Order Status Changes | airtableTrigger | فعال شدن بر

on new notification records | None | Config | |

ConfigsetLoad configuration variables (URLs, numbers)Monitor Order Status ChangesFilter Pending Notifications
Filter Pending NotificationsifFilter notifications pending sendingConfigMark Notification as Sending, Combine Config with Order Data
Mark Notification as Sendingairtable (Update)Mark notification as "Sending..."Filter Pending NotificationsCombine Config with Order Data
Combine Config with Order Datamerge (Combine)Merge configuration with order dataMark Notification as Sending, ConfigPrepare SMS Content
Prepare SMS ContentsetPrepare personalized SMS messageCombine Config with Order DataSend Order Status SMS
Send Order Status SMStwilioSend SMS via TwilioPrepare SMS ContentCheck SMS Delivery
Check SMS DeliveryifCheck SMS sending success/failureSend Order Status SMSMark Notification as Success, Mark Notification as Failed
Mark Notification as Successairtable (Update)Update status to "Success"Check SMS Delivery (success)None
Mark Notification as Failedairtable (Update)Update status to "Error"Check SMS Delivery (failure)None
Workflow DescriptionstickyNoteWorkflow overview and setup instructionsNoneNoneIncludes detailed workflow overview, setup instructions, configuration notes, and links to Airtable base templates and Twilio signup.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه وضعیت سفارشات Airtable را به پیامک تبدیل می‌کند؟

این گردش کار تغییرات وضعیت سفارش را در Airtable رصد کرده، پیامک‌های شخصی‌سازی شده با استفاده از داده‌های مشتری ایجاد می‌کند و سپس آن‌ها را از طریق سرویس Twilio ارسال می‌نماید.

چه پیش‌نیازهایی برای استفاده از این گردش کار لازم است؟

شما به یک حساب Airtable با دسترسی API و یک حساب Twilio برای ارسال پیامک نیاز دارید. همچنین باید URLهای جداول مربوطه در Airtable و شماره فرستنده Twilio را پیکربندی کنید.

چگونه از ارسال پیامک تکراری جلوگیری می‌شود؟

گردش کار قبل از ارسال پیامک، وضعیت اعلان را در Airtable به "Sending..." تغییر می‌دهد تا از پردازش مجدد آن جلوگیری کند. پس از ارسال، وضعیت به "Success" یا "Error" به‌روز می‌شود.

workflowهای مرتبط

این workflow در کاتالوگ Pixori.me بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.