# تبدیل متن به صوت TTS و استفاده از آن در ارسال تماس انبوه توسط N8N

**URL:** <https://forum.mysup.ir/t/topic/478>\
**Category:** API\
**Tags:** simotel, autodialer, api, ai, n8n\
**Created:** [می 24، 2025، 6:01ب.ظ UTC](https://forum.mysup.ir/t/topic/478 "2025-05-24T18:01:45Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hamid-hra](https://forum.mysup.ir/user_avatar/forum.mysup.ir/hamid-hra/32/718_2.png) [@hamid-hra](https://forum.mysup.ir/u/hamid-hra)\
**Post date:** [می 24، 2025، 6:01ب.ظ UTC](https://forum.mysup.ir/t/topic/478/1 "2025-05-24T18:01:45Z")

</div>

با توجه به رشد چشمگیر و روزافزون کاربردهای هوش مصنوعی، به‌ویژه در حوزه VoIP، شما می‌توانید با استفاده از پلتفرم قدرتمند **n8n** یک **workflow** هوشمند طراحی کرده و فرآیند ارسال پیام‌های شخصی‌سازی‌شده به مشتریان خود را به‌صورت کاملاً خودکار اجرا نمایید.

در این راهکار، ابتدا اطلاعات مورد نظر شما به‌صورت فایل‌های **CSV** یا **XLSX** از طریق یک فرم دریافت می‌گردد. سپس با بهره‌گیری از فناوری **OpenAI** ، این پیام‌ها به فایل صوتی تبدیل می‌شوند. در نهایت، فایل‌های صوتی تولید شده توسط **سیستم Auto Dialer سیموتل** برای مخاطبان پخش خواهد شد.

این فرآیند نه تنها موجب صرفه‌جویی در زمان و منابع انسانی می‌شود، بلکه تجربه‌ای شخصی‌سازی‌شده، هوشمند و حرفه‌ای را برای مخاطبان شما فراهم می‌آورد.

### مراحل اجرا:

### مراحل اجرای Workflow

#### 1. ایجاد Workflow جدید

در گام نخست، یک **workflow** جدید در محیط n8n ایجاد نمایید.

#### 2. دریافت فایل از طریق فرم

از بخش پنل نودها، کامپوننت **On Form Submission** را انتخاب کرده و تنظیمات مربوط به فرم را مطابق نیاز خود پیکربندی کنید:

 ![image](https://forum.mysup.ir/uploads/default/original/2X/4/47df9806454a311e5b016ec1b715919bdc9530fe.png)

#### 3.تبدیل فایل به Json

پس از دریافت فایل‌های **XLSX** یا **CSV** از طریق فرم، لازم است فایل دریافت شده به فرمت **JSON** تبدیل شده و به مرحله بعدی فرایند ارسال شوند.

از آنجا که ممکن است کاربران فایل را در قالب CSV یا XLSX ارسال کنند، دو مسیر مجزا برای هر فرمت در نظر گرفته شده است.

 ![image](https://forum.mysup.ir/uploads/default/original/2X/e/ed4c876f781ef4342ff04986c0933e1215e28be4.png)

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

##### تنظیمات مسیر XLSX:

 ![image](https://forum.mysup.ir/uploads/default/original/2X/7/7a0a921f23095fde1a6bcab6b7e78851c7e9d82a.png) ![image](https://forum.mysup.ir/uploads/default/original/2X/3/3b08906f1221a2b30fc61d7b1b4532b1bdf52e0b.png)

##### مسیر CSV :

 ![image](https://forum.mysup.ir/uploads/default/original/2X/0/0b37c81e7401977d237748f216d2b3c3a2f607c7.png) ![image](https://forum.mysup.ir/uploads/default/original/2X/7/729b492d98f2de32bf98a658be40596e78206ebd.png)

با این تنظیمات، اگر فایل دریافتی از نوع مورد نظر نباشد، مسیر اشتباه به صورت خودکار نادیده گرفته خواهد شد.

#### 4. افزودن تاریخ و زمان جاری ایران

جهت ثبت دقیق زمان پردازش، از نود **Date & Time** استفاده کرده و فقط منطقه زمانی (Time Zone) را بر اساس ایران تنظیم نمایید:

 ![image](https://forum.mysup.ir/uploads/default/original/2X/9/9fd9b6dc01446bb5f79a9950287c3a35f841dd94.png)

#### 5. تبدیل متن به صوت با استفاده از OpenAi

پس از انجام مراحل قبلی، اکنون نوبت آن است که فایل متنی به دست آمده را برای تبدیل به صوت به سرویس **OpenAI** ارسال کنیم. برای این منظور، از پنل نودها، کامپوننت **OpenAI** را جستجو و انتخاب کرده و مطابق با مراحل زیر تنظیم نمایید.

در این مرحله، لازم است که **یک حساب کاربری OpenAI Pro** در اختیار داشته باشید. همچنین باید با استفاده از **API Token** مربوط به حساب خود، یک **Credential Account** در n8n تعریف کنید تا اتصال به سرویس OpenAI برقرار شود.

#### تنظیم ورودی:

برای آن‌که OpenAI بتواند متن مورد نظر را پردازش و به صوت تبدیل کند، باید خروجی متنی مرحله‌ی قبلی workflow را به‌عنوان ورودی در این نود قرار دهیم.

در قسمت **Text Input** ، مقدار زیر را وارد کنید:

```auto
{{ $('Extract from File1').item.json.Text }}

```

توجه داشته باشید که اگر نام کامپوننت مرحله قبلی را تغییر داده‌اید، ممکن است این مقدار به‌درستی کار نکند. در این صورت، می‌توانید از منوی سمت چپ، نود مورد نظر را به‌صورت **drag & drop** به محل Text Input بکشید تا مسیر درست به‌صورت خودکار درج شود.

 ![image](https://forum.mysup.ir/uploads/default/original/2X/a/aa0b1d90fb16469c3ba81fa1e8ddb838bd2ba04c.png) ![image](https://forum.mysup.ir/uploads/default/original/2X/2/2aeef22fe345c64428465d0501dca74de62dee2f.png)

#### 6. بارگذاری فایل صوتی در سیموتل

تا این مرحله، با بهره‌گیری از OpenAI فایل صوتی مورد نظر تولید شده است. اکنون نیاز داریم این فایل صوتی را برای پخش توسط **سیموتل** به سیستم Auto Dialer ارسال کنیم.

برای این منظور، با مراجعه به **[مستندات رسمی سیموتل](https://wiki.simotel.com/fa/developers/)** و استفاده از راهنمای موجود در ویکی سیموتل، می‌توانیم به‌راحتی مراحل بعدی را پیاده‌سازی کنیم.

### ارسال فایل صوتی به سیموتل

در این مرحله باید از نود **HTTP Request** در n8n استفاده کنیم تا فایل صوتی ایجادشده را برای سرور سیموتل آپلود کنیم.

در تنظیمات این نود، درخواست شما باید به شکل زیر پیکربندی شود تا در خروجی به شما یک id تعلق بگیرد:

 ![image](https://forum.mysup.ir/uploads/default/original/2X/e/ed990b407f0a5b26b4c0ddc9372e95567e4c5f5f.png) . ![image](https://forum.mysup.ir/uploads/default/original/2X/3/3f726c1d43d6f9d87b44cfe7e194dc03d1ec6b77.png)

### نکات مهم برای برقراری ارتباط صحیح با سرور سیموتل

برای اطمینان از عملکرد صحیح نودهای **HTTP Request** در ارتباط با API سیموتل، رعایت نکات زیر ضروری است:

- در بخش **Method** نود، مقدار باید حتماً بر روی `POST` تنظیم شود.
- در بخش **Authentication** دو رویکرد اصلی وجود دارد:
  1. استفاده از یک **Generic Credential Type** برای سیموتل: با ایجاد یک Credential سفارشی، اطلاعات احراز هویت (مانند API Token) به‌صورت ایمن به n8n ارائه شده و Headerهای مربوطه به‌صورت خودکار ارسال می‌شوند.
  2. استفاده مستقیم از گزینه **Send Headers** : در این روش می‌توانید مقادیر Header را به‌صورت دستی و شخصی‌سازی‌شده تنظیم کنید. به‌عنوان مثال:

- آدرس `URL` را مطابق مستندات سیموتل وارد کنید (برای مثال: `/api/announcement/upload`).
- فایل صوتی خروجی از OpenAI باید به‌عنوان **Attachment** یا **Form-Data** در درخواست قرار گیرد.
- در صورت نیاز، Headerها و توکن احراز هویت (`Authorization`) نیز باید مطابق با تنظیمات سرور سیموتل اضافه شوند.

#### 7. افزودن آوا به کمپین تماس‌انبوه (Auto Dialer)

پس از آنکه فایل صوتی با موفقیت در سرور سیموتل آپلود شد، نوبت به آن می‌رسد که این فایل را به سیستم **Auto Dialer** اضافه کنیم تا بتوان از آن در کمپین‌های تماس تلفنی استفاده کرد.

برای انجام این کار، باید یک نود جدید از نوع **HTTP Request** در محیط n8n ایجاد کرده و خروجی نود قبلی (که شامل `id` فایل صوتی آپلودشده است) را به آن متصل نمایید.

با استفاده از API سیموتل ، اطلاعات فایل صوتی را به بخش اعلان‌ها (Announcements) اضافه می‌کنید. همچنین برای جلوگیری از ایجاد فایل‌های تکراری با نام یکسان، بهتر است در نام فایل یا عنوان اعلان، زمان آپلود نیز گنجانده شود.

 ![image](https://forum.mysup.ir/uploads/default/original/2X/6/680fd0b2cbc3efba0e1820e9ec5b82c5f6736a77.png) . ![image](https://forum.mysup.ir/uploads/default/original/2X/a/ae98bc15753603b8ffec065177d1ce09ffe09bb3.png)

### 8. ساخت کمپین تماس‌انبوه در سیموتل

پس از افزودن فایل صوتی به بخش اعلان‌ها (Announcements)، اکنون باید کمپین تماس‌انبوه را ایجاد کنیم تا سیستم Auto Dialer بتواند تماس‌ها را به مخاطبین مشخص‌شده برقرار کند.

برای این کار، یک نود جدید **HTTP Request** در n8n ایجاد نمایید و بدنه درخواست را به‌صورت JSON مطابق ساختار زیر تنظیم کنید:

```auto
{
  "name": "TTS - {{ $('Extract from File1').item.json.Number }}",
  "trunk_manager_id": "682d60c9f7e48c74135f31c4",
  "interface_context": "",
  "interface_text": "",
  "numbers": ["{{ $('Extract from File1').item.json.Number }}"],
  "groups": ["", ""],
  "try_interval": "600",
  "try": "1",
  "start": "2024-02-19 15:17",
  "end": "2027-02-23 15:17",
  "announcement": "{{ $json.data._id }}",
  "description": "",
  "count": 3
}

```

پس از ساخت کمپین در سیموتل به صورت خودکار با مشترک تماس گرفته می شود و متن ارسال شده به صورت صوت برای مشترک پخش می گردد.

 ![image](https://forum.mysup.ir/uploads/default/original/2X/a/a621308437fa8bd492120716710e4fcf1cadd7c8.png)

برای مشاهده و دانلود همین workflow میتوانید از GitHub بنده بازدید کنید .

> **[GitHub - hamid-hra/n8n\_project](https://github.com/hamid-hra/n8n_project)**
>
> Contribute to hamid-hra/n8n\_project development by creating an account on GitHub.
