Якщо ви керуєте місцевим бізнесом у сфері послуг, наприклад, медичною клінікою, репетиторською школою чи автомайстернею, вам вкрай важливо знати, чи дійсно клієнти бачать ваші повідомлення. У цьому посібнику ми пояснимо, як отримати статус прочитання SMS із SMS-шлюзу, розберемо технічні обмеження протоколів SMS та покажемо, як налаштувати надійне відстеження доставки та прочитання для ваших вихідних сповіщень.
Крок 1. Розуміння різниці між статусами доставки та прочитання SMS
Перед тим як зануритися в інтеграцію API, важливо зрозуміти технічну різницю між статусами доставки та прочитання SMS. Традиційна технологія SMS побудована на стільникових протоколах, розроблених десятиліття тому. У цьому середовищі "користувачі можуть спілкуватися за допомогою швидких оновлень статусу довжиною до 160 символів." Через таку застарілу інфраструктуру глобальна телекомунікаційна мережа підтримує лише звіти про доставку, але не звіти про відкриття чи прочитання.
Це суттєво відрізняється від сучасних месенджерів (таких як WhatsApp, iMessage або RCS), де "вільний діалог дозволяє надсилати повідомлення, зображення та відео будь-кому" із вбудованими індикаторами введення тексту та синіми галочками "прочитано". Стандартні SMS від операторів не мають вбудованого мережевого пакета, який би повідомляв шлюзу, коли користувач натиснув на текстове повідомлення, щоб відкрити його.
Замість цього ми покладаємося на значення статусів SMS-шлюзу, які визначає ваш провайдер. Ось що зазвичай означають ці статуси в логах вашого SMS-шлюзу:
| Статус | Технічне значення | Чи означає це "Прочитано"? |
|---|---|---|
| Sent | Повідомлення вийшло зі шлюзу та було прийняте мережею стільникового оператора. | Ні. Телефон може бути навіть вимкненим. |
| Delivered | Мобільний телефон отримувача надіслав оператору підтвердження про отримання. Це ваш статус доставки SMS. | Не обов'язково. Повідомлення вже на пристрої, але користувач міг його ще не відкрити. |
| Failed | Повідомлення не змогло досягти пристрою (наприклад, номер відключено, помилка маршрутизації мережі). | Ні. |
Щоб точно відстежувати, чи дійсно повідомлення було прочитане, компанії використовують комбінацію звітів про доставку на рівні оператора та розумних посилань для відстеження на рівні додатків, які ми налаштуємо в наступних кроках.
Крок 2. Налаштування Android SMS-шлюзу для перевірки статусу доставки SMS
Щоб почати відстежувати свої повідомлення, вам потрібен SMS-шлюз, який безпосередньо надає звіти про доставку без необхідності укладати дорогі корпоративні контракти. Традиційні шлюзи, такі як Twilio, вимагають складної реєстрації A2P 10DLC, схвалення операторів та стягують високу плату за кожен сегмент повідомлення. Простішою та вигіднішою альтернативою для малого бізнесу є MySMSGate.
MySMSGate перетворює ваш власний Android-телефон та SIM-карту на SMS-шлюз. Оскільки ви надсилаєте повідомлення зі свого власного локального номера, ви обходите блокування реєстрації операторами та можете легко перевірити статус доставки SMS безпосередньо в особистому кабінеті або через API.
Овиконайте такі кроки, щоб налаштувати шлюз і почати відстежувати статус доставки:
- Перейдіть на сторінку реєстрації MySMSGate та створить безкоштовний акаунт.
- Завантажте та встановіть додаток MySMSGate для Android на свій телефон.
- Відскануйте QR-код на вебпанелі за допомогою мобільного додатка, щоб миттєво прив'язати телефон. Вводити API-ключі вручну не потрібно.
- Надішліть тестове SMS із вебпанелі.
Після надсилання повідомлення ваш Android-телефон у реальному часі передасть звіт про доставку від оператора назад у вашу панель керування MySMSGate. Якщо повідомлення не буде доставлено, MySMSGate автоматично поверне кошти на ваш баланс, захищаючи ваші операційні витрати.
Крок 3. Налаштування вебхука зворотного виклику для звітів про доставку Android SMS-шлюзу
Для розробників, які інтегрують SMS-сповіщення у власні CRM, системи бронювання або кастомне ПЗ, постійне опитування API-ендпоінту для перевірки статусу доставки є неефективним. Замість цього варто налаштувати зворотний виклик (callback) для звітів про доставку з Android SMS-шлюзу за допомогою вебхуків.
У цьому розділі пояснюється, як отримати статус доставки SMS через вебхук API. Коли підключений Android-телефон доставляє повідомлення на пристрій отримувача, він отримує внутрішній звіт про доставку від місцевого оператора. MySMSGate фіксує цю подію та миттєво надсилає оновлення статусу на ваш сервер.
Ось приклад того, як обробити дані зворотного виклику статусу доставки повідомлення з Android SMS-шлюзу в додатку на Python Flask:
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/webhooks/sms-status', methods=['POST'])
def handle_sms_status_callback():
data = request.json
# Extract key parameters from the MySMSGate webhook payload
message_id = data.get('message_id')
status = data.get('status') # e.g., 'delivered', 'failed', 'sent'
recipient = data.get('to')
error_code = data.get('error_code')
print(f"Message {message_id} to {recipient} updated to status: {status}")
if status == 'delivered':
# Update your database to mark notification as delivered
# update_booking_notification_status(message_id, 'Delivered')
pass
elif status == 'failed':
# Handle failed delivery (e.g., alert staff, retry via alternative channel)
# log_failed_delivery(message_id, error_code)
pass
return jsonify({"status": "success"}), 200
if __name__ == '__main__':
app.run(port=5000)Завдяки впровадженню цього зворотного виклику ваш бекенд-додаток завжди буде синхронізований із актуальним статусом вихідних повідомлень, що дозволить вам створювати автоматизовані сценарії дій у разі невдалої доставки.
Крок 4. Відстеження фактичного статусу "Прочитано" за допомогою розумних посилань
Оскільки стандартні SMS-прокотоли не підтримують вбудованих звітів про прочитання, як сучасному бізнесу відстежувати, чи відкрив і прочитав клієнт повідомлення? Загальноприйнятим у галузі рішенням є відстеження за допомогою розумних посилань (Smart Link Tracking).
Замість того щоб надсилати звичайний текст, ви додаєте в SMS унікальне скорочене посилання. Коли отримувач натискає на нього, він на мить перенаправляється через ваш сервер відстеження, а потім потрапляє на кінцеву сторінку (наприклад, рахунок-фактуру, підтвердження бронювання або деталі запису). Це перенаправлення відбувається за мілісекунди і слугує вашим "звітом про прочитання".
Ось покроковий процес реалізації цього методу:
- Згенеруйте унікальний токен: Для кожного надісланого SMS генеруйте короткий унікальний ідентифікатор (наприклад,
myshop.co/r/x89D2). - Зв'яжіть токен у базі даних: Асоціюйте
x89D2з номером телефону отримувача, конкретним надісланим повідомленням та статусом "Прочитано", який спочатку має значенняFalse. - Надішліть SMS: Надішліть повідомлення з коротким URL через API або вебпанель MySMSGate.
- Зафіксуйте перенаправлення: Коли користувач натискає на посилання, ваш сервер реєструє вхідний запит для
x89D2, оновлює запис у базі даних наRead = Trueразом із міткою часу та миттєво перенаправляє користувача на цільову сторінку.
Цей метод забезпечує 100% точне відстеження прочитання та дає цінні дані про залученість користувачів, допомагаючи оптимізувати ваші шаблони повідомлень.
Крок 5. Порівняння відстеження статусів SMS на різних шлюзах
При виборі платформи для бізнесу корисно порівняти, як різні шлюзи обробляють відстеження доставки, їхню цінову політику та складність системи. Хоча багато розробників шукають інструкції щодо налаштування зворотного виклику статусу доставки SMS у Twilio, вони часто виявляють, що налаштування та підтримка хмарної інфраструктури Twilio для простих локальних сповіщень є надто складною та дорогою.
Нижче наведено пряме порівняння можливостей відстеження та функцій MySMSGate та традиційних хмарних шлюзів:
| Функція | MySMSGate | Традиційні хмарні шлюзи (Twilio / Plivo) |
|---|---|---|
| Відстеження статусу доставки | У реальному часі через вебхуки та панель керування | У реальному часі через вебхуки |
| Модель ціноутворення | Фіксована ціна $0.02 за SMS. Без щомісячних платежів. | Змінна ($0.05 - $0.08+ за SMS) + щомісячна оренда номерів |
| Тарифікація довжини повідомлення | Єдина фіксована плата за повідомлення незалежно від довжини | Оплата за кожен сегмент із 160 символів (складені повідомлення коштують удвічі/втричі дорожче) |
| Ідентифікатор відправника та реєстрація 10DLC | Не потрібні. Надсилання відбувається з вашої власної Android SIM-карти. | Обов'язкова реєстрація, збори операторів та тривале очікування на схвалення |
| Повернення коштів за недоставлені повідомлення | Автоматичне повернення у разі помилки доставки | Без повернень. Ви платите за невдалі спроби. |
| Складність налаштування | Сканування QR-коду на Android-телефоні | Складне технічне налаштування API та проходження регуляторних перевірок |
Для локального сервісного бізнесу, що працює за межами США, MySMSGate пропонує набагато практичніший підхід. Ви можете дізнатися більше про альтернативні варіанти в нашому детальному посібнику з порівняння альтернатив Twilio або ознайомитися з оглядом найдешевших SMS API для оптимізації вашого бюджету на комунікацію.
Часті запитання
Тут ви знайдете відповіді на найпоширеніші запитання щодо доставки SMS та відстеження статусу прочитання.
Чи можна побачити, що SMS прочитано або відкрито?
Ні, стандартний протокол стільникового зв'язку для SMS не підтримує вбудовані звіти про прочитання. Щоб відстежити, чи було прочитано SMS, необхідно додати унікальне скорочене посилання в тіло повідомлення та фіксувати, коли отримувач переходить за цим посиланням.
Яка різниця між статусами доставки та прочитання?
Статус доставки означає, що мережа оператора успішно передала текстове повідомлення на мобільний пристрій отримувача. Статус прочитання означає, що користувач дійсно відкрив і переглянув повідомлення. Стандартні SMS відстежують лише доставку; для відстеження прочитання потрібні посилання для трекінгу на рівні додатків.
Як отримати звіти про доставку в реальному часі за допомогою MySMSGate?
MySMSGate пересилає звіти про доставку безпосередньо з мережі оператора вашого Android-телефону назад у ваш акаунт. Ви можете переглядати ці статуси доставки в реальному часі на вебпанелі або налаштувати вебхук зворотного виклику, щоб отримувати миттєві POST-запити на своєму сервері.
Чи потрібне мені схвалення оператора або реєстрація 10DLC для відстеження статусу доставки?
Ні. При використанні MySMSGate ви надсилаєте повідомлення через власний Android-телефон та SIM-карту. Оскільки ви використовуєте свій особисті чи робочий мобільний номер, вам не потрібні реєстрація 10DLC, верифікація бренду або схвалення оператора для надсилання та відстеження повідомлень.
Comments (0)
Be the first to comment!