Блог - Надсилання SMS і Viber із Customer.io через Intel-Tele
Інтеграція Customer.io × Intel Telecom

Надсилання SMS і Viber із Customer.io

У 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.

↗ Broadcasts

Разові розсилки — канал Webhook.

⚙ Automations

Автоматичні сценарії — блок Send and Receive Data.

Інтерфейс Customer.io англійською мовою, тому назви кнопок в інструкції наведені так, як вони відображаються на екрані.

Що потрібно заздалегідь

Перед налаштуванням інтеграції підготуйте необхідні дані та доступи.

01

Акаунт Intel-Tele

Обліковий запис Intel-Tele з позитивним балансом.

02

Зареєстроване ім'я відправника

Альфа-ім'я для SMS та/або Viber. Список доступний у кабінеті Intel-Tele у розділі «Альфа Імена».

03

Акаунт Customer.io

Обліковий запис Customer.io для налаштування розсилок.

04

Номери телефонів клієнтів

У профілях клієнтів Customer.io має бути заповнений атрибут phone у міжнародному форматі, наприклад: +380991234567.

КРОК 1

Створіть API-ключ у кабінеті Intel-Tele

1

Відкрийте кабінет Intel-Tele та перейдіть у розділ Профіль → АПІ Налаштування.

2

У блоці Create API key в полі Імʼя введіть назву ключа, наприклад Customer.io.

3

Натисніть кнопку Створити.

4

Кабінет покаже API-ключ лише один раз. Одразу скопіюйте його та збережіть у надійному місці.

Створення API-ключа Intel-Tele для інтеграції з Customer.io
Створення API-ключа в кабінеті Intel-Tele. Червоним виділено основні елементи інтерфейсу.

🔐 Важливо: безпека API-ключа

Можна створити до 5 API-ключів. Окремий ключ для Customer.io дозволяє будь-коли вимкнути інтеграцію (значок кошика), не зачіпаючи інші підключення.

Нікому не пересилайте API-ключ у месенджерах або електронною поштою.

Якщо ключ втрачено або він міг потрапити до сторонніх осіб, видаліть його та створіть новий.

КРОК 2

Додайте в Customer.io тестового клієнта

Щоб перевірити надсилання повідомлень, створіть тестовий профіль у Customer.io зі своїм номером телефону.

1

У меню ліворуч відкрийте People → натисніть Add people.

Розділ People та кнопка Add people у Customer.io
Перейдіть до People та натисніть Add people.
2

У вікні додавання клієнта оберіть Add a single person.

Створення тестового клієнта через Add a single person у Customer.io
Оберіть створення одного тестового профілю.
3

У полі phone введіть свій номер у форматі +380XXXXXXXXX та натисніть Save changes.

Додавання номера телефону клієнта в Customer.io та збереження змін
Вкажіть номер телефону та збережіть зміни.
КРОК 3

Створіть розсилку з каналом Webhook

Після створення тестового клієнта перейдіть до налаштування розсилки в Customer.io.

1

У меню ліворуч відкрийте Broadcasts → натисніть Create broadcast.

Створення нової SMS та Viber-розсилки через Broadcasts у Customer.io
Перейдіть до розділу Broadcasts та створіть нову розсилку.
2

Введіть назву розсилки, оберіть One-time send і натисніть Create broadcast.

Налаштування разової розсилки One-time send у Customer.io
Вкажіть назву та оберіть формат разової розсилки One-time send.
3

На кроці Content оберіть канал Webhook і натисніть Add content.

Вибір каналу Webhook для надсилання SMS та Viber із Customer.io
Оберіть Webhook для надсилання повідомлень через API Intel-Tele.

Наступний крок: налаштування HTTP-запиту для надсилання SMS або Viber через API Intel-Tele.

КРОК 4

Налаштуйте запит

Після вибору каналу Webhook відкриється редактор запиту. У центральній колонці Content налаштуйте параметри для надсилання повідомлень через Intel-Tele.

1

Залиште метод POST.

2

У рядок праворуч від POST вставте адресу API залежно від каналу розсилки.

SMS
https://srv.intel-tele.io:1323/message/send/?api_key=ВАШ_КЛЮЧ
Viber
https://srv.intel-tele.io:1323/im/send/?api_key=ВАШ_КЛЮЧ

Замість ВАШ_КЛЮЧ вставте API-ключ, створений на кроці 1, без пробілів.

3

У поле нижче вставте тіло запиту. Готові шаблони для SMS та Viber наведені в наступному розділі інструкції.

4

Натисніть Save changes унизу праворуч, щоб зберегти налаштування.

алаштування POST-запиту Webhook до API Intel-Tele в Customer.io
Налаштування Webhook у Customer.io. Червоним виділено необхідні елементи інтерфейсу.

💡 Зверніть увагу

Для SMS і Viber використовуються різні API-адреси. Оберіть потрібний канал і використовуйте відповідний шаблон тіла запиту. Не публікуйте справжній API-ключ у відкритому доступі.

Готовий шаблон SMS-запиту

Скопіюйте код нижче та вставте його в поле тіла запиту Customer.io. Замініть ВАШ_ВІДПРАВНИК і текст повідомлення на власні дані.

SMS · Liquid / JSON
{% 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.

Viber · Liquid / JSON
{% 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. Не всі параметри шаблону є обов'язковими.

💬

Лише текст

Текстове повідомлення без зображення та кнопки переходу.

🖼️

Лише зображення

Надсилання зображення без додаткового тексту.

🔗

Текст + кнопка

Повідомлення з текстом і кнопкою переходу за посиланням.

📱

Текст + кнопка + зображення

Комбінований формат із текстом, зображенням і кнопкою переходу.

Важливі правила налаштування

1. Зображення необов'язкове

Параметр im_image можна видалити, якщо зображення не потрібне.

2. Параметри кнопки використовуються разом

im_button_text — текст кнопки до 30 символів. im_button_link — посилання для переходу. Якщо кнопка не потрібна, видаліть обидва параметри.

3. Резервна SMS необов'язкова

Якщо Fallback не потрібен, можна видалити sms_source та sms_message.

4. Перевіряйте синтаксис JSON

Після видалення необов'язкових параметрів перевірте коми між полями, щоб запит залишався коректним.

Персоналізація SMS та Viber-повідомлень

Customer.io дозволяє автоматично підставляти дані клієнта в текст повідомлення. Наприклад, можна звертатися до отримувача на ім'я, використовуючи атрибут first_name.

Приклад персоналізації · Liquid
{% capture sms_text %}{{ customer.first_name | default: 'Клієнте' }}, ваше замовлення готове.{% endcapture %}

Правила написання шаблонів

01

Використовуйте capture

Текст повідомлення завжди розміщуйте всередині конструкції capture та endcapture.

Це допомагає коректно обробляти лапки, емодзі та переноси рядків у тілі запиту.

02

Додавайте значення за замовчуванням

До змінних додавайте фільтр default: '…'.

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

💡 Приклад: якщо ім'я клієнта заповнене, воно автоматично з'явиться у повідомленні. Якщо ім'я відсутнє, Customer.io використає звернення «Клієнте».

КРОК 5

Надішліть тест

Перед запуском розсилки перевірте, чи правильно налаштовано Webhook і чи приймає сервер Intel-Tele повідомлення від Customer.io.

1

Ліворуч у панелі Sample data оберіть тестового клієнта, створеного на кроці 2.

2

Натисніть Send test… угорі праворуч.

Вибір тестового клієнта та надсилання тестового повідомлення в Customer.io
Вибір тестового клієнта у Sample data та надсилання тесту.
3

Customer.io попередить, що надішле справжній запит на сервер Intel-Tele. Підтвердьте дію кнопкою Send test.

Підтвердження тестового Webhook-запиту в Customer.io
Підтвердження надсилання реального тестового запиту.
4

Праворуч у панелі Preview перевірте відповідь сервера Intel-Tele. Успішна відповідь — 200 OK та "status": "OK".

Приклад успішної відповіді · JSON ✓ 200 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-повідомлення на тестовий номер телефону.

Якщо тест пройшов успішно, можна переходити до запуску розсилки.

КРОК 6

Запустіть розсилку

Після успішного тестування натисніть Done та завершіть налаштування розсилки в Customer.io.

1
RECIPIENTS

Оберіть отримувачів

Вкажіть, кому потрібно надіслати повідомлення: оберіть сегмент аудиторії або задайте умови відбору клієнтів.

Обов'язково: додайте умову, що в клієнта заповнений атрибут phone.

2
SCHEDULE

Налаштуйте час надсилання

Вкажіть, коли потрібно надіслати повідомлення обраній аудиторії.

Для великих баз задайте обмеження швидкості надсилання — set a maximum send rate.

3
REVIEW

Перевірте та запустіть

На фінальному етапі перевірте налаштування розсилки.

Переконайтеся, що обрано правильних отримувачів, налаштовано час надсилання та збережено потрібний Webhook-запит.

Після перевірки запустіть розсилку.

✓ Перед запуском перевірте

✓

Тестове повідомлення успішно прийнято сервером Intel-Tele.

✓

В отримувачів заповнений номер телефону в атрибуті phone.

✓

Правильно обрано сегмент аудиторії та час надсилання.

✓

У кабінеті Intel-Tele достатньо коштів для розсилки.

✓ Налаштування завершено!

Після запуску Customer.io надсилатиме Webhook-запити до Intel-Tele, а Intel-Tele оброблятиме надсилання SMS або Viber-повідомлень відповідно до налаштованого запиту.

Автоматичні сценарії (Automations)

У Customer.io можна налаштувати автоматичне надсилання SMS та Viber через Intel-Tele залежно від дій клієнтів або заданих умов.

👋 Привітальні повідомлення
🛒 Нагадування про покинутий кошик
🔔 Нагадування про оплату
1

У меню Customer.io відкрийте Automations → натисніть Create automation.

Створення автоматичного сценарію SMS та Viber у Customer.io
Перейдіть до розділу Automations та створіть новий автоматичний сценарій.
2

Оберіть тригер Choose trigger — подію або сегмент, який запускатиме автоматичний сценарій.

3

Натисніть Add та перетягніть у сценарій блок Send and Receive Data.

Налаштування тригера та блоку Send and Receive Data у Customer.io
Налаштуйте тригер і додайте блок Send and Receive Data.
4

Натисніть Add Request та заповніть адресу API і тіло запиту так само, як у кроці 4 цієї інструкції.

💡 Використання даних події

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

Наприклад, для підстановки номера замовлення використовуйте:

Приклад · Liquid
{{ event.order_id }}

Значення буде підставлено з даних події за умови, що поле order_id у ній присутнє.

Відповіді та помилки

Під час тестування Webhook у Customer.io сервер Intel-Tele повертає відповідь, за якою можна визначити, чи прийнято повідомлення, або з'ясувати причину помилки.

Коди відповідей сервера

Код Що означає Що робити
200 OK Повідомлення прийнято. Статус відповіді — OK. Додаткових дій не потрібно. Перевірте фактичну доставку.
400 Помилка в запиті. Причина вказана в полі status. Перевірте причину помилки за переліком нижче.
401 Invalid auth — невірний API-ключ. Перевірте API-ключ в адресі запиту. Переконайтеся, що немає зайвих пробілів.
429 Забагато запитів до сервера. Зменште швидкість надсилання повідомлень.

Часті причини помилки 400

Low balance

Недостатньо коштів на балансі Intel-Tele. Поповніть баланс кабінету.

Sender is not valid

Ім'я відправника не зареєстроване в кабінеті Intel-Tele. Перевірте Альфа-ім'я.

Recipient is empty

У профілі клієнта не заповнений атрибут phone. Додайте номер телефону.

Repeat detected

Однакове повідомлення повторно надіслано на той самий номер за короткий час.

No route to country

Країна номера не підключена. Зверніться до менеджера Intel-Tele.

Message contains stopwords and not send

Текст повідомлення містить заборонені слова. Перевірте та скоригуйте текст.

🔄 Повторні запити Customer.io

При помилках 429 та 5xx Customer.io автоматично повторює запит — до 11 спроб протягом години.

Помилки 400 та 401 автоматично не повторюються. Їх необхідно виправити в налаштуваннях Webhook.

Як перевірити статуси доставки SMS та Viber

Intel-Tele дозволяє отримувати інформацію про статуси повідомлень. Ви можете налаштувати надсилання статусів на власний сервер або перевіряти їх через API.

Налаштування отримання статусів (DLR)

1

Відкрийте кабінет Intel-Tele та перейдіть у розділ Профіль → АПІ Налаштування.

2

Знайдіть блок DLR settings.

3

У полі url для отримання статусів вкажіть адресу вашого сервера, на яку Intel-Tele надсилатиме статуси повідомлень.

4

Натисніть Зберегти, щоб зберегти налаштування.

Налаштування DLR для отримання статусів доставки SMS та Viber в Intel-Tele
Налаштування отримання статусів доставки у кабінеті Intel-Tele. Червоним виділено поле для URL та кнопку збереження.

Перевірка статусу за message_id

Для перевірки конкретного повідомлення використовуйте відповідний API-запит. Замість ВАШ_КЛЮЧ вставте власний API-ключ.

Статус SMS POST
https://srv.intel-tele.io:1323/message/status/?api_key=ВАШ_КЛЮЧ
Статус Viber POST
https://srv.intel-tele.io:1323/im/status/?api_key=ВАШ_КЛЮЧ
Viber + резервна SMS (Fallback) GET
https://srv.intel-tele.io:1323/message/status-chain/{message_id}?api_key=ВАШ_КЛЮЧ

Розшифрування статусів Viber

Статус Що означає
seen Повідомлення прочитано.
delivrd Повідомлення доставлено.
click Отримувач натиснув кнопку.
pending Повідомлення доставляється.
undeliv Повідомлення не доставлено.
expired Термін доставки минув.
rejectd Повідомлення відхилено.

💡 Документація API Intel-Tele

Детальний опис API-запитів, параметрів та методів доступний в офіційній документації Intel-Tele. Для перевірки статусу використовуйте ідентифікатор повідомлення message_id, отриманий під час надсилання. Для POST-запитів також потрібне відповідне тіло запиту.

INTEL TELECOM · ТЕХНІЧНА ПІДТРИМКА

Потрібна допомога з інтеграцією?

Якщо виникли складнощі з налаштуванням API, Webhook або надсиланням SMS та Viber через Customer.io — зверніться до команди підтримки Intel Telecom.

ЕЛЕКТРОННА ПОШТА ПІДТРИМКИ

Для швидшого розгляду звернення додайте скриншот відповіді сервера з панелі Preview у Customer.io. Перед надсиланням переконайтеся, що на скриншоті немає вашого API-ключа.