Twilio — міжнародний телекомунікаційний провайдер. Він дозволяє боту дзвонити клієнтам і з'єднувати їх з вашими співробітниками у будь-якій зі 100+ країн, де Twilio пропонує телефонні номери, включаючи Мексику, Бразилію, Туреччину, Іспанію, Німеччину, Францію, ОАЕ, Таїланд, Малайзію та багато інших.

Що ви отримаєте після підключення Twilio:

  • дзвінок клієнту одним кліком безпосередньо з картки розмови;
  • автоматизовані дзвінки за сценаріями — бот дзвонить клієнту та вголос зачитує текст;
  • групові дзвінки — бот дзвонить клієнту та з'єднує його з першим доступним співробітником;
  • запис усіх дзвінків, з посиланням на запис, що зберігається у змінних замовлення;
  • події дзвінків (виклик, відповідь, завершення) безпосередньо в розмові — їх можна використовувати для побудови сценаріїв.

Крок 1. Створіть акаунт і придбайте номер

  1. Зареєструйтеся на twilio.com і пройдіть процес верифікації.
  2. У консолі Twilio відкрийте Phone Numbers → Buy a number і виберіть номер у потрібній країні. Переконайтеся, що Voice увімкнено — деякі номери підтримують лише SMS і не можуть використовуватися для дзвінків.

Крок 2. Скопіюйте свої облікові дані

На головній сторінці консолі Twilio, у розділі Account Info, ви знайдете два значення:

Пункт Як виглядає
Account SID ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Auth Token прихований; натисніть Show, щоб побачити його

⚠️ Скопіюйте Auth Token точно так, як він відображається, без зайвих пробілів до або після нього. Ми використовуємо його для перевірки автентичності кожного запиту від Twilio. Один непомітний зайвий символ може призвести до того, що дзвінки працюватимуть, але події дзвінків не з'являтимуться в розмові.

Auth Token надає повний доступ до вашого акаунта Twilio та коштів на ньому. Не надсилайте його через месенджери та не публікуйте ніде.


Крок 3. Підключіть Twilio у своєму акаунті

Відкрийте Проєкт → Інтеграції → Телефонія → Twilio і заповніть три поля:

Поле Що ввести
Account SID з кроку 2
Auth Token з кроку 2
Twilio Number придбаний номер у міжнародному форматі: +14155550100

Номер потрібно вводити у форматі E.164: +, код країни та номер телефону, без пробілів, дужок або дефісів.

Після збереження на сторінці з'явиться callback URL. Скопіюйте його. Потім відкрийте налаштування придбаного номера в консолі Twilio та в розділі Voice & Fax налаштуйте:

  • A call comes in → Webhook → вставте скопійований URL і виберіть HTTP POST.

Без цього налаштування вихідні дзвінки працюватимуть, але вхідні дзвінки та події дзвінків у розмові — ні.

Щоб відключити інтеграцію, очистіть поле Account SID і збережіть налаштування.


Крок 4. Додайте номери телефонів співробітників

Twilio дзвонить співробітникам на звичайні телефонні номери — внутрішніх коротких номерів тут немає.

Відкрийте вкладку Команда, виберіть співробітника та заповніть поле Twilio Phone Number його повним номером телефону в тому ж форматі:

+905551112233

Без цього номера кнопка дзвінка в картці клієнта не працюватиме для цього співробітника.


Дзвінок з картки клієнта

Поруч із номером телефону клієнта в картці розмови з'явиться кнопка дзвінка. Натискання на неї запускає наступну послідовність:

  1. Twilio дзвонить співробітнику — співробітник бачить ваш номер Twilio як ідентифікатор абонента.
  2. Співробітник відповідає на дзвінок.
  3. Лише тоді Twilio дзвонить клієнту та з'єднує обидві сторони.

Цей порядок навмисний: клієнту не доведеться слухати гудки, поки співробітник добирається до телефону. Якщо співробітник не відповідає, клієнту взагалі не дзвонять.


Дзвінки зі сценаріїв бота

У калькуляторі доступні чотири методи.

twilio_employee_call(client_phone, employee_phone, caller_id)

З'єднує співробітника з клієнтом. Працює так само, як кнопка дзвінка в картці клієнта: спочатку дзвонять співробітнику, а потім клієнту.

twilio_employee_call(client_phone, "+905551112233")

Третій аргумент необов'язковий. Він вказує номер телефону, який клієнт бачитиме як ідентифікатор абонента. За замовчуванням використовується ваш номер Twilio.

twilio_group_call(client_phone, employee_phones, caller_id)

Дзвонить клієнту та, коли клієнт відповідає, одночасно дзвонить усім співробітникам зі вказаного списку. Дзвінок з'єднується з першим співробітником, який відповів.

twilio_group_call(client.phone, "+905551112233,+905554445566,+905557778899")

⚠️ Тут порядок зворотний. На відміну від попереднього методу, клієнт відповідає першим і може чути кілька секунд тиші, поки Twilio дзвонить співробітникам. Це обмеження Twilio: одночасний дзвінок групі та з'єднання з першим, хто відповів, працює лише так. Якщо важливо, щоб клієнт не чекав, використовуйте twilio_employee_call.

twilio_play_message(client_phone, text, voice, language)

Дзвонить клієнту та зачитує вказаний текст за допомогою синтезованої мови. Це корисно для нагадувань про зустрічі, підтверджень замовлень і сповіщень про доставку.

twilio_play_message(client.phone, "Hello! This is a reminder about your appointment tomorrow at 3:00 PM.", "alice", "en-EN")

Голос alice універсальний і підтримує основні мови, включаючи tr-TR, es-ES, es-MX, pt-BR, de-DE, fr-FR, en-US, ru-RU та ar-XA.

Завжди вказуйте мову явно — інакше Twilio може прочитати текст з англійською вимовою.

Не включайте в повідомлення паролі, коди підтвердження або іншу чутливу інформацію: на дзвінок може відповісти автовідповідач.

Повертає посилання на запис дзвінка. Це рідко потрібно, оскільки посилання зазвичай з'являється автоматично (див. наступний розділ). Може бути корисним, якщо посилання на запис не було отримано і його потрібно запитати ще раз.

twilio_get_record_link()

Якщо аргумент не вказано, використовується останній дзвінок клієнта.


Змінні та події

Після кожного дзвінка бот зберігає наступні змінні в замовленні клієнта:

Змінна Що містить
twilio_call_id ідентифікатор дзвінка Twilio
twilio_call_disposition результат дзвінка: completed, busy, no-answer, failed, canceled
twilio_call_duration тривалість дзвінка в секундах
twilio_record_link посилання на запис
twilio_record_id ідентифікатор запису Twilio

Події у форматі twilio_call_event <статус> надсилаються в розмову. Ви можете використовувати їх як умови у своїх сценаріях:

Подія Коли надсилається
twilio_call_event initiated дзвінок створено
twilio_call_event ringing телефон дзвонить
twilio_call_event answered на дзвінок відповіли
twilio_call_event completed дзвінок завершено
twilio_call_event busy / no-answer / failed / canceled дзвінок не вдалося завершити
twilio_call_event recording запис дзвінка готовий

⚠️ Чекайте на подію recording перед використанням посилання на запис, а не на подію completed. Twilio обробляє файл запису після того, як дзвінок уже завершився. На момент отримання події completed змінна twilio_record_link ще порожня. Тому сценарій, який надсилає запис менеджеру або CRM, має запускатися подією recording.

Типовий сценарій "не вдалося додзвонитися до клієнта — надіслати йому повідомлення" працює так: умова для twilio_call_event no-answer або busy → надіслати повідомлення клієнту.


Записи дзвінків

Запис увімкнено за замовчуванням для всіх дзвінків за участю співробітника. Обидві сторони розмови записуються з моменту відповіді на дзвінок. Файли зберігаються у вашому акаунті Twilio та тарифікуються Twilio.

⚠️ URL twilio_record_link вказує безпосередньо на Twilio і захищений обліковими даними вашого акаунта. Ви не можете просто відкрити його в браузері або надіслати клієнту — буде показана помилка доступу. Щоб завантажити запис, відкрийте консоль Twilio та перейдіть до Monitor → Logs → Calls, потім знайдіть дзвінок за його twilio_call_id.

⚖️ Запис дзвінків регулюється законом. У багатьох країнах — включаючи Німеччину, Францію, Іспанію та в багатьох штатах США — може вимагатися згода обох сторін, а в деяких випадках на початку дзвінка має відтворюватися усне повідомлення. Як власник акаунта Twilio, ви несете відповідальність за дотримання застосовних вимог. Якщо ці правила застосовуються до вас, почніть дзвінок із повідомленням про запис або вимкніть запис у налаштуваннях номера Twilio.


Усунення неполадок

Дзвінок не створюється, повертається помилка автентифікації

Account SID або Auth Token неправильний. Скопіюйте їх ще раз із консолі Twilio. Найпоширеніші причини — зайвий пробіл або випадкове копіювання тестового токена замість основного Auth Token.

Дзвінки працюють, але в розмові немає подій або записів

Callback URL не налаштовано в налаштуваннях номера Twilio (див. Крок 3), або він налаштований з неправильним HTTP-методом. Метод має бути HTTP POST.

Інша поширена причина — Auth Token було змінено в Twilio, але в акаунті все ще налаштовано старий токен. У цьому випадку підписи запитів більше не збігаються, тому всі зворотні виклики відхиляються.

Помилка 21606 або "From number not valid"

Номер, введений у полі Twilio Number, або не був придбаний у вашому акаунті Twilio, або не підтримує голосові дзвінки.

Відкрийте Phone Numbers → Manage → Active numbers і переконайтеся, що номер є в списку та має можливість Voice.

Помилка 21215 — Geo Permissions

За замовчуванням Twilio блокує дзвінки в багато країн як запобіжний захід проти шахрайства.

Відкрийте Voice → Settings → Geo Permissions і увімкніть потрібні напрямки.

Клієнт дзвонить, але картка розмови створюється для номера співробітника

Callback налаштовано з неправильним URL. Скопіюйте callback URL зі сторінки інтеграції ще раз, переконавшись, що ви скопіювали весь URL, включаючи все після знака питання.

Пробний акаунт: Twilio відтворює голосове повідомлення перед дзвінком

Це стандартна поведінка для пробних акаунтів Twilio. Пробні акаунти також можуть дзвонити лише на перевірені номери телефонів.

Поповніть баланс акаунта та перейдіть на повний акаунт Twilio.