آموزش ارسال پیام تماس از دست رفته به تلگرام با n8n

در این پروژه با استفاده از n8n، تماس‌های بدون پاسخ که از مرکز تماس سیموتل دریافت می‌شوند، بررسی شده و به‌صورت خودکار در تلگرام اطلاع‌رسانی می‌شوند.

هدف پروژه

  • دریافت CDR تماس‌ها از مرکز تماس
  • تشخیص تماس‌های ورودی و بدون پاسخ
  • تفکیک تماس‌های:
    • از دست رفته در صف
    • از دست رفته روی داخلی مستقیم
  • ارسال پیام مناسب به تلگرام

اجزای اصلی پروژه

Webhook - دریافت CDR

Node: Webhook-CDR

برای ارتباط بین مرکز تماس وn8n از Webhook استفاده می‌کنیم. در این روش، PBX بعد از هر رویداد تماس یک درخواست HTTP به n8n ارسال می‌کند به این منظور لازم است از مرکز تماس سیموتل یک api با url نود webhook در n8n ساخته شود.

نمونه پارامترهای دریافتی:

  • cuid
  • شماره تماس‌گیرنده (src)
  • داخلی یا صف (dst)
  • disposition
  • type

فقط تماس‌هایی با شرایط زیر پردازش می‌شوند:

  • disposition = NO ANSWER
  • type = incoming

فیلتر تماس‌های بدون پاسخ

Node: return-cuid-noanswer

در این مرحله:

  • فقط تماس‌های ورودی و بدون پاسخ عبور داده می‌شوند
  • شناسه تماس (cuid) استخراج می‌شود
  • زمان شروع و پایان تماس آماده می‌شود

دریافت اطلاعات تکمیلی تماس

بعد از دریافت cuid تماس، از طریق cdr لازم است این شناسه از بین گزارشات مرکز جستجو شود تا بتوان داخلی یا داخلی های بدون پاسخ را شناسایی کرد. برای دریافت اطلاعات از سیموتل لازم است یک ApiKey سمت سیموتل ساخته شود و به نود n8n معرفی شود و رویداد موردنظر فراخوانی شود.

دو درخواست API به پنل مرکز تماس ارسال می‌شود:

گزارش خلاصه تماس

Node: report-search-info

برای تشخیص تماس‌های از دست رفته داخل صف

گزارش CDR کامل

Node: report-cdr-search

برای تماس‌های مستقیم به داخلی‌ها

تشخیص تماس از دست رفته در صف

Node: create-message-missedInQueue

شرایط:

  • تماس پاسخ داده نشده
  • مربوط به صف (مثلاً qnum = 200)
  • چند داخلی زنگ خورده ولی کسی پاسخ نداده

پیام ارسالی:

:cross_mark: تماس بدون پاسخ

:telephone_receiver: شماره تماس: 09xxxxxxxx

:alarm_clock: ساعت تماس: 12:17

:busts_in_silhouette: داخلی‌های بدون پاسخ: 201, 202, 203

تشخیص تماس از دست رفته روی داخلی

Node: create-message-Missed

شرایط:

  • تماس مستقیم
  • داخلی‌های مشخص (مثلاً 2xx)
  • پاسخ داده نشده

پیام ارسالی:

:cross_mark: تماس از دست رفته

:telephone_receiver: تماس‌گیرنده: 09xxxxxxxx

:alarm_clock: ساعت تماس: 12:17

:bust_in_silhouette: داخلی: 228

ارسال پیام به تلگرام

Node: Send message Missed

پیام‌ها به:

  • گروه تلگرام
  • حتی داخل یک Topic خاص (message_thread_id)

ارسال می‌شوند.

1 پسندیده