Надсилання SMS і Viber із Customer.io
Автор: Дарина Шевченко, контент-менеджер Intel Telecom · Оновлено: 10.11.2026
У Customer.io немає готового каналу Intel-Tele. Повідомлення надсилаються через API Intel-Tele за допомогою вебхука: Customer.io для кожного клієнта надсилає запит на сервер Intel-Tele, а Intel-Tele доставляє SMS або Viber.
Viber із Customer.io та SMS через Intel-Tele можна надсилати за допомогою API та вебхука. У Customer.io немає готового каналу Intel-Tele: для кожного клієнта платформа надсилає запит на сервер Intel-Tele, а Intel-Tele доставляє повідомлення через SMS або Viber.
Разові розсилки — канал Webhook.
Автоматичні сценарії — блок Send and Receive Data.
Інтерфейс Customer.io англійською мовою, тому назви кнопок в інструкції наведені так, як вони відображаються на екрані.
Що потрібно заздалегідь
Перед налаштуванням інтеграції підготуйте необхідні дані та доступи.
Акаунт Intel-Tele
Обліковий запис Intel-Tele з позитивним балансом.
Зареєстроване ім'я відправника
Альфа-ім'я для SMS та/або Viber. Список доступний у кабінеті Intel-Tele у розділі «Альфа Імена».
Акаунт Customer.io
Обліковий запис Customer.io для налаштування розсилок.
Номери телефонів клієнтів
У профілях клієнтів Customer.io
має бути заповнений атрибут
phone у міжнародному
форматі, наприклад:
+380991234567.
Створіть API-ключ у кабінеті Intel-Tele
Відкрийте кабінет Intel-Tele та перейдіть у розділ Профіль → АПІ Налаштування.
У блоці Create API key в полі Імʼя введіть назву ключа, наприклад Customer.io.
Натисніть кнопку Створити.
Кабінет покаже API-ключ лише один раз. Одразу скопіюйте його та збережіть у надійному місці.
🔐 Важливо: безпека API-ключа
Можна створити до 5 API-ключів. Окремий ключ для Customer.io дозволяє будь-коли вимкнути інтеграцію (значок кошика), не зачіпаючи інші підключення.
Нікому не пересилайте API-ключ у месенджерах або електронною поштою.
Якщо ключ втрачено або він міг потрапити до сторонніх осіб, видаліть його та створіть новий.
Додайте в Customer.io тестового клієнта
Щоб перевірити надсилання повідомлень, створіть тестовий профіль у Customer.io зі своїм номером телефону.
У меню ліворуч відкрийте People → натисніть Add people.
У вікні додавання клієнта оберіть Add a single person.
У полі phone
введіть свій номер у форматі
+380XXXXXXXXX
та натисніть
Save changes.
Створіть розсилку з каналом Webhook
Після створення тестового клієнта перейдіть до налаштування розсилки в Customer.io.
У меню ліворуч відкрийте Broadcasts → натисніть Create broadcast.
Введіть назву розсилки, оберіть One-time send і натисніть Create broadcast.
На кроці Content оберіть канал Webhook і натисніть Add content.
Наступний крок: налаштування HTTP-запиту для надсилання SMS або Viber через API Intel-Tele.
Налаштуйте запит
Після вибору каналу Webhook відкриється редактор запиту. У центральній колонці Content налаштуйте параметри для надсилання повідомлень через Intel-Tele.
Залиште метод POST.
У рядок праворуч від POST вставте адресу API залежно від каналу розсилки.
Замість ВАШ_КЛЮЧ вставте API-ключ, створений на кроці 1, без пробілів.
У поле нижче вставте тіло запиту. Готові шаблони для SMS та Viber наведені в наступному розділі інструкції.
Натисніть Save changes унизу праворуч, щоб зберегти налаштування.
💡 Зверніть увагу
Для SMS і Viber використовуються різні API-адреси. Оберіть потрібний канал і використовуйте відповідний шаблон тіла запиту. Не публікуйте справжній API-ключ у відкритому доступі.
Готовий шаблон SMS-запиту
Скопіюйте код нижче та вставте його в поле тіла запиту Customer.io. Замініть ВАШ_ВІДПРАВНИК і текст повідомлення на власні дані.
{% capture sms_text %}Вітаємо! Ваше замовлення готове до видачі.{% endcapture %}
{
"from": "ВАШ_ВІДПРАВНИК",
"to": ["{{ customer.phone | default: '' | remove: '+' | remove: ' ' | remove: '-' }}"],
"message": {{ sms_text | strip | json }},
"ttl": 60
}
Пояснення параметрів
| Поле | Що вказати |
|---|---|
| from | Ім'я відправника SMS — як у кабінеті Intel-Tele, розділ «Альфа Імена». |
| to | Номер клієнта. Шаблон автоматично бере його з профілю Customer.io та прибирає +, пробіли й дефіси. Змінювати не потрібно. |
| message | Текст SMS. Напишіть його між тегами capture та endcapture у першому рядку шаблону. |
| ttl | Час у хвилинах, протягом якого система намагатиметься доставити SMS. |
💡 Важливо перед відправкою
Замініть ВАШ_ВІДПРАВНИК на зареєстроване Альфа-ім'я. Текст SMS змінюйте лише між capture та endcapture. Номер телефону автоматично підставиться з профілю клієнта.
Viber із Customer.io: готовий шаблон запиту
Скопіюйте шаблон і вставте його в поле тіла запиту Customer.io. Замініть імена відправників, текст повідомлень та посилання на власні. Приклад містить зображення, кнопку переходу та резервну SMS.
{% capture viber_text %}Вітаємо! Для вас знижка 10% до кінця тижня.{% endcapture %}
{% capture sms_text %}Знижка 10% до кінця тижня: https://example.com{% endcapture %}
{
"im_sender": "ВАШ_VIBER_ВІДПРАВНИК",
"to": ["{{ customer.phone | default: '' | remove: '+' | remove: ' ' | remove: '-' }}"],
"im_message": {{ viber_text | strip | json }},
"im_image": "https://example.com/banner.png",
"im_button_text": "Детальніше",
"im_button_link": "https://example.com",
"im_ttl": 3600,
"sms_source": "ВАШ_ВІДПРАВНИК",
"sms_message": {{ sms_text | strip | json }}
}
Пояснення параметрів
| Поле | Що вказати |
|---|---|
| im_sender | Зареєстроване ім'я Viber-відправника. |
| to | Номер телефону клієнта. Автоматично підставляється з атрибута phone у Customer.io. |
| im_message | Текст Viber-повідомлення довжиною до 1000 символів. |
| im_image | Пряме посилання на зображення у форматі JPG або PNG. Необов'язкове поле. |
| im_button_text | Текст кнопки переходу довжиною до 30 символів. |
| im_button_link | Посилання, яке відкривається після натискання кнопки. |
| im_ttl | Час спроб доставки Viber у секундах: від 60 до 86400. |
| sms_source | Ім'я SMS-відправника для резервного повідомлення. |
| sms_message | Текст резервної SMS, якщо Viber не доставлено. |
🔄 Як працює резервна SMS (Fallback)?
Якщо повідомлення у Viber не доставлено або в клієнта немає Viber, система може автоматично надіслати резервну SMS.
Для цього у шаблоні використовуються два параметри: sms_source та sms_message.
Якщо резервна SMS не потрібна, ці параметри можна прибрати із запиту.
Важливо: поля зображення та кнопки також є необов'язковими. Якщо видаляєте параметри із JSON, перевірте правильність ком між полями. У готовому шаблоні необхідно замінити всі приклади посилань example.com.
Доступні формати Viber-повідомлень
Залежно від завдання ви можете використовувати різні формати повідомлень у Viber. Не всі параметри шаблону є обов'язковими.
Лише текст
Текстове повідомлення без зображення та кнопки переходу.
Лише зображення
Надсилання зображення без додаткового тексту.
Текст + кнопка
Повідомлення з текстом і кнопкою переходу за посиланням.
Текст + кнопка + зображення
Комбінований формат із текстом, зображенням і кнопкою переходу.
Важливі правила налаштування
Параметр im_image
можна видалити, якщо
зображення не потрібне.
im_button_text —
текст кнопки до 30 символів.
im_button_link —
посилання для переходу.
Якщо кнопка не потрібна,
видаліть обидва параметри.
Якщо Fallback не потрібен,
можна видалити
sms_source та
sms_message.
Після видалення необов'язкових параметрів перевірте коми між полями, щоб запит залишався коректним.
Персоналізація SMS та Viber-повідомлень
Customer.io дозволяє автоматично підставляти дані клієнта в текст повідомлення. Наприклад, можна звертатися до отримувача на ім'я, використовуючи атрибут first_name.
{% capture sms_text %}{{ customer.first_name | default: 'Клієнте' }}, ваше замовлення готове.{% endcapture %}
Правила написання шаблонів
Використовуйте capture
Текст повідомлення завжди розміщуйте всередині конструкції capture та endcapture.
Це допомагає коректно обробляти лапки, емодзі та переноси рядків у тілі запиту.
Додавайте значення за замовчуванням
До змінних додавайте фільтр
default: '…'.
Якщо у профілі клієнта немає відповідного поля, система використає вказане резервне значення.
💡 Приклад: якщо ім'я клієнта заповнене, воно автоматично з'явиться у повідомленні. Якщо ім'я відсутнє, Customer.io використає звернення «Клієнте».
Надішліть тест
Перед запуском розсилки перевірте, чи правильно налаштовано Webhook і чи приймає сервер Intel-Tele повідомлення від Customer.io.
Ліворуч у панелі Sample data оберіть тестового клієнта, створеного на кроці 2.
Натисніть Send test… угорі праворуч.
Customer.io попередить, що надішле справжній запит на сервер Intel-Tele. Підтвердьте дію кнопкою Send test.
Праворуч у панелі Preview перевірте відповідь сервера Intel-Tele. Успішна відповідь — 200 OK та "status": "OK".
{
"reply": [
{
"status": "OK",
"message_id": "f4c72a8d-c701-42c7-a2d9-cf8fe84a0f26",
"cost": "1.30",
"country": "ua",
"mccmnc": "25506",
"parts": 1,
"number": "380991234567"
}
]
}
Демонстраційна відповідь з інструкції. Ідентифікатор повідомлення, вартість та інші значення наведені лише як приклад.
Що означають параметри відповіді?
| Параметр | Пояснення |
|---|---|
| status | Результат обробки запиту. OK — повідомлення прийнято. |
| message_id | Унікальний ідентифікатор повідомлення для подальшої перевірки статусу. |
| cost | Вартість повідомлення у відповіді API. Значення 1.30 у прикладі не є актуальною тарифною пропозицією. |
| country | Код країни номера отримувача. У прикладі ua — Україна. |
| mccmnc | Код мобільної мережі оператора у форматі MCC/MNC. |
| parts | Кількість частин SMS-повідомлення. |
| number | Номер телефону отримувача у міжнародному форматі. |
✓ Що означає успішний тест?
Код 200 OK та значення "status": "OK" означають, що сервер Intel-Tele прийняв повідомлення до надсилання.
Важливо: це ще не означає, що повідомлення доставлено отримувачу.
Перевірте, чи надійшло SMS або Viber-повідомлення на тестовий номер телефону.
Якщо тест пройшов успішно, можна переходити до запуску розсилки.
Запустіть розсилку
Після успішного тестування натисніть Done та завершіть налаштування розсилки в Customer.io.
Оберіть отримувачів
Вкажіть, кому потрібно надіслати повідомлення: оберіть сегмент аудиторії або задайте умови відбору клієнтів.
Обов'язково:
додайте умову, що в клієнта
заповнений атрибут
phone.
Налаштуйте час надсилання
Вкажіть, коли потрібно надіслати повідомлення обраній аудиторії.
Для великих баз задайте обмеження швидкості надсилання — set a maximum send rate.
Перевірте та запустіть
На фінальному етапі перевірте налаштування розсилки.
Переконайтеся, що обрано правильних отримувачів, налаштовано час надсилання та збережено потрібний Webhook-запит.
Після перевірки запустіть розсилку.
✓ Перед запуском перевірте
Тестове повідомлення успішно прийнято сервером Intel-Tele.
В отримувачів заповнений номер телефону в атрибуті phone.
Правильно обрано сегмент аудиторії та час надсилання.
У кабінеті Intel-Tele достатньо коштів для розсилки.
✓ Налаштування завершено!
Після запуску Customer.io надсилатиме Webhook-запити до Intel-Tele, а Intel-Tele оброблятиме надсилання SMS або Viber-повідомлень відповідно до налаштованого запиту.
Автоматичні сценарії (Automations)
У Customer.io можна налаштувати автоматичне надсилання SMS та Viber через Intel-Tele залежно від дій клієнтів або заданих умов.
У меню Customer.io відкрийте Automations → натисніть Create automation.
Оберіть тригер Choose trigger — подію або сегмент, який запускатиме автоматичний сценарій.
Натисніть Add та перетягніть у сценарій блок Send and Receive Data.
Натисніть Add Request та заповніть адресу API і тіло запиту так само, як у кроці 4 цієї інструкції.
💡 Використання даних події
Якщо автоматичний сценарій запускається певною подією, у тексті повідомлення можна використовувати дані цієї події.
Наприклад, для підстановки номера замовлення використовуйте:
{{ event.order_id }}
Значення буде підставлено з даних події за умови, що поле order_id у ній присутнє.
✓ Автоматизацію налаштовано
Після збереження та запуску автоматичного сценарію Customer.io зможе надсилати запити до Intel-Tele при спрацюванні налаштованого тригера. Перед використанням перевірте сценарій на тестовому клієнті.
Відповіді та помилки
Під час тестування Webhook у Customer.io сервер Intel-Tele повертає відповідь, за якою можна визначити, чи прийнято повідомлення, або з'ясувати причину помилки.
Коди відповідей сервера
| Код | Що означає | Що робити |
|---|---|---|
| 200 OK | Повідомлення прийнято. Статус відповіді — OK. | Додаткових дій не потрібно. Перевірте фактичну доставку. |
| 400 | Помилка в запиті. Причина вказана в полі status. | Перевірте причину помилки за переліком нижче. |
| 401 | Invalid auth — невірний API-ключ. | Перевірте API-ключ в адресі запиту. Переконайтеся, що немає зайвих пробілів. |
| 429 | Забагато запитів до сервера. | Зменште швидкість надсилання повідомлень. |
Часті причини помилки 400
Недостатньо коштів на балансі Intel-Tele. Поповніть баланс кабінету.
Ім'я відправника не зареєстроване в кабінеті Intel-Tele. Перевірте Альфа-ім'я.
У профілі клієнта не заповнений атрибут phone. Додайте номер телефону.
Однакове повідомлення повторно надіслано на той самий номер за короткий час.
Країна номера не підключена. Зверніться до менеджера Intel-Tele.
Текст повідомлення містить заборонені слова. Перевірте та скоригуйте текст.
🔄 Повторні запити Customer.io
При помилках 429 та 5xx Customer.io автоматично повторює запит — до 11 спроб протягом години.
Помилки 400 та 401 автоматично не повторюються. Їх необхідно виправити в налаштуваннях Webhook.
Як перевірити статуси доставки SMS та Viber
Intel-Tele дозволяє отримувати інформацію про статуси повідомлень. Ви можете налаштувати надсилання статусів на власний сервер або перевіряти їх через API.
Налаштування отримання статусів (DLR)
Відкрийте кабінет Intel-Tele та перейдіть у розділ Профіль → АПІ Налаштування.
Знайдіть блок DLR settings.
У полі url для отримання статусів вкажіть адресу вашого сервера, на яку Intel-Tele надсилатиме статуси повідомлень.
Натисніть Зберегти, щоб зберегти налаштування.
Перевірка статусу за message_id
Для перевірки конкретного повідомлення використовуйте відповідний API-запит. Замість ВАШ_КЛЮЧ вставте власний API-ключ.
Розшифрування статусів Viber
| Статус | Що означає |
|---|---|
| seen | Повідомлення прочитано. |
| delivrd | Повідомлення доставлено. |
| click | Отримувач натиснув кнопку. |
| pending | Повідомлення доставляється. |
| undeliv | Повідомлення не доставлено. |
| expired | Термін доставки минув. |
| rejectd | Повідомлення відхилено. |
💡 Документація API Intel-Tele
Детальний опис API-запитів, параметрів та методів доступний в офіційній документації Intel-Tele. Для перевірки статусу використовуйте ідентифікатор повідомлення message_id, отриманий під час надсилання. Для POST-запитів також потрібне відповідне тіло запиту.
Додаткові можливості Intel Telecom
Дізнайтеся більше про SMS-розсилки для бізнесу та Viber-розсилки для бізнесу . Intel Telecom допомагає налаштовувати комунікацію з клієнтами, автоматизувати повідомлення та використовувати можливості API-інтеграції.
Потрібна допомога з інтеграцією?
Якщо виникли складнощі з налаштуванням API, Webhook або надсиланням SMS та Viber через Customer.io — зверніться до команди підтримки Intel Telecom.
Для швидшого розгляду звернення додайте скриншот відповіді сервера з панелі Preview у Customer.io. Перед надсиланням переконайтеся, що на скриншоті немає вашого API-ключа.