REST API інтеграція МТС Маркетолог: відправка SMS з сайту
Інтернет-магазин втрачає до 30% замовлень, якщо підтвердження не приходить вчасно. Кожна секунда затримки коштує клієнтів. Платформа МТС Маркетолог вирішує це завдання: її REST API забезпечує доступ до бази абонентів МТС із гарантією доставки 99,9% та таргетингом за геолокацією, статтю та інтересами. Згідно з офіційною документацією сервісу, середній час доставки транзакційних SMS становить менше 1 секунди, маркетингових — до 5 секунд. За 5 років ми виконали 50 інтеграцій для e-commerce, банків та логістики. При коректному налаштуванні ви отримуєте доставку 90% повідомлень протягом 3 секунд. Ми підключаємо сервіс до вашого сайту — від простих сповіщень до складних маркетингових кампаній. Нижче — приклад відправки на PHP з Laravel.
// Авторизация через Bearer-токен
$token = Http::post('https://api.mts-marketer.ru/v1/oauth/token', [
'grant_type' => 'client_credentials',
'client_id' => env('MTS_CLIENT_ID'),
'client_secret' => env('MTS_CLIENT_SECRET')
])->json()['access_token'];
// Отправка SMS
$response = Http::withToken($token)
->post('https://api.mts-marketer.ru/v1/sms/send', [
'from' => env('MTS_SENDER_NAME'),
'to' => [$phone],
'text' => "Код подтверждения: {$code}",
'is_test' => false
]);
Після відправки API повертає ідентифікатор повідомлення. За ним можна отримати статус доставки:
$status = Http::withToken($token)
->get("https://api.mts-marketer.ru/v1/sms/status/{$messageId}")
->json();
// status: QUEUED | SENT | DELIVERED | FAILED
Які основні API-методи МТС Маркетолог?
МТС Маркетолог підтримує два режими, і плутати їх не можна. Транзакційні повідомлення (OTP, статуси замовлень) доставляються в 3 рази швидше, ніж маркетингові, і не вимагають згоди отримувача за договором. Маркетингові (акції, новини) таргетуються за базою МТС, але потрібно дотримуватися 152-ФЗ. Різниця в характеристиках:
| Параметр |
Транзакційні |
Маркетингові |
| Швидкість доставки |
< 1 секунди (в середньому) |
1–5 секунд |
| Згода отримувача |
Не потрібна (за договором) |
Потрібна (opt-in) |
| Таргетинг |
За номером телефону |
Гео, демографія, інтереси |
| Ліміти |
Стандартні |
Налаштовуються під кампанію |
| Юридичні підстави |
Договір надання послуг |
Згода на рекламу |
Вибір режиму впливає на код інтеграції: для транзакційних ставте is_test => false, для маркетингових — передавайте параметри сегментації.
Налаштування автоматичного оновлення токена
Bearer-токен живе 1 годину. Для безперебійної роботи реалізуйте автоматичне оновлення через refresh-token. Кроки:
- При отриманні токена збережіть refresh_token з відповіді.
- За 5 хвилин до закінчення current_token відправте запит на /v1/oauth/refresh з refresh_token.
- Оновіть локальне сховище новим access_token та refresh_token.
Це запобігає помилкам 401 Unauthorized у бойовому режимі.
Які помилки виникають при інтеграції?
| Метод |
Опис |
Приклад використання |
| POST /v1/sms/send |
Відправка SMS |
to: ["+71234567890"], text: "Код: 1234" |
| GET /v1/sms/status |
Отримання статусу |
?messageId=abc123 |
| POST /v1/sms/campaign |
Запуск маркетингової кампанії |
з параметрами сегментації |
| GET /v1/stats |
Статистика за розсилками |
за період, за типами |
За роки реалізації ми зібрали часті проблеми:
-
Неправильний формат номера. Номер має бути в міжнародному форматі: 7XXXXXXXXXX. Інакше API повертає
INVALID_PHONE.
- Перевищення лімітів за сегментами. Якщо ви відправляєте маркетингову кампанію на 100 000 номерів за раз, переконайтеся, що ваш тариф підтримує такий обсяг (зверніться до підтримки МТС).
- Закінчення токена. Bearer-токен живе 1 годину. У бойовому коді ми реалізуємо автоматичне оновлення через refresh-token.
- Відсутність альфа-імені. Без зареєстрованого імені відправника (3–5 робочих днів) API блокує відправку.
- Ігнорування статусів доставки. Не налаштовуйте polling кожні 5 секунд — використовуйте вебхуки для отримання сповіщень про доставку.
Забезпечення безпеки інтеграції
Зберігайте client_secret у змінних оточення, не передавайте в коді. Використовуйте HTTPS. Обмежте права доступу — створіть окремого користувача з правами лише на SMS-відправку. Вмикайте логування всіх запитів. Перевіряйте статуси доставки через вебхуки: налаштуйте endpoint для отримання сповіщень — це знизить навантаження на polling.
Приклад конфігурації вебхука
Вкажіть URL вашого endpoint та події, наприклад: sms.delivered та sms.failed.
Що входить у роботу
Наша інтеграція — не просто вставка коду. Ми передаємо:
- Модуль відправки SMS — виділений клас/сервіс з підтримкою транзакційного та маркетингового режимів.
- Webhook-обробники — отримуємо статуси доставки та пишемо їх у лог або базу.
- Документацію — опис методів, схему інтеграції, інструкцію для адміністратора.
- Тестування в пісочниці — перевіряємо відправку, обробку помилок, ліміти.
- Навчання — показуємо, як запускати кампанії та читати статистику.
Строки та вартість
Базова інтеграція через REST API займає від 1 робочого дня. Якщо потрібна реєстрація альфа-імені (3–5 днів на погодження з МТС), додайте ще 3–5 днів. Повний цикл з тестуванням та документацією — до тижня. Вартість стартує від 15 000 грн (залежить від кількості сценаріїв, необхідності в кастомному таргетингу та обсягу інтеграції). Сервіс МТС Маркетолог забезпечує доставку SMS на 99,9%, що на 0,5% вище середньоринкового показника. Наприклад, для проекту з 10 000 SMS на місяць вартість складе 5 000 грн. Ми завжди називаємо фінальну цифру до початку робіт. Жодних прихованих платежів. Завдяки інтеграції ви скорочуєте витрати на SMS-розсилки до 30% — наприклад, економія від 5000 грн на місяць — за рахунок оптимізації маршрутів та таргетингу.
Наша команда має 5 років досвіду в інтеграції SMS-сервісів і реалізувала понад 50 проектів для e-commerce, банків та логістики. Гарантуємо стабільну доставку та відповідаємо за SLA. Зв'яжіться з нами для детальної оцінки вашого проекту. Замовте консультацію інженера з інтеграції МТС Маркетолог.
Інтеграція email розсилок: чому вона часто ламається?
Ми стикалися з тим, що тригерний лист через 10 хвилин після реєстрації конвертує в 4–5 разів краще, ніж той самий лист через 24 години. Це не маркетинговий міф — це механіка: поки користувач теплий, поки пам'ятає контекст. Але більшість інтеграцій з розсильниками зроблені так: форма сабмітиться → синхронний HTTP-запит до API → якщо API гальмує, користувач чекає 3 секунди → лист йде або не йде, ніхто не знає.
Якщо ви зіткнулися з втраченими листами або потраплянням у спам, замовте аудит існуючої інтеграції — ми знайдемо вузькі місця за 2 дні.
Провайдери та їх API
Unisender — російський провайдер, популярний у сегменті SMB. REST API, простий. Додавання контакту: importContacts, відправка транзакційного листа: sendEmail. Важливо: для транзакційних листів (підтвердження замовлення, скидання пароля) Unisender Go — окремий сервіс з іншим API та окремою ціною. Змішувати масові розсилки та транзакційні в одному потоці — погана ідея для репутації домену.
SendPulse — надає email, SMS, web push, Viber, Telegram-боти через єдиний API. Для проєктів, де потрібен омніканал, це зручно. Automation 360 — візуальний конструктор ланцюжків, можна запустити автоматизацію через API event. SDK для PHP (sendpulse/rest-api-php-sdk) підтримується, але оновлюється нерегулярно — краще використовувати напряму через Guzzle.
Mailchimp — вибір для міжнародної аудиторії та маркетингових команд, звиклих до екосистеми Mailchimp. Transactional email — через Mandrill (дочірній сервіс). Marketing API v3 для управління списками, тегами, кампаніями. Webhook для подій: відкриття, клік, відписка, bounce.
SMS. Для Росії: СМСЦ, МТС Exolve, Devino Telecom, SMS Aero. API у всіх схожий: метод send, параметри phone, message, sender (ім'я відправника — потрібно реєструвати окремо у оператора). Один нюанс: ім'я відправника має бути зареєстровано через агрегатора з договором — без цього SMS не відправляться на мережі МТС/МегаФон/Білайн.
| Провайдер |
Тип |
Транзакційні листи |
Маркетингові |
Особливості |
| Unisender |
email+SMS |
Unisender Go (окремо) |
так |
Популярний в РФ, простий REST |
| SendPulse |
email+SMS+web push+Viber |
так |
так |
Єдиний API, омніканальність |
| Mailchimp |
email |
Mandrill |
так |
Аналітика, міжнародний |
| Twilio |
SMS+email |
так |
ні |
Глобальний, дорогий в РФ |
Як побудувати інтеграцію, щоб не втрачати листи?
Розділяємо транзакційні та маркетингові потоки
Транзакційні листи (підтвердження замовлення, скидання пароля, статус доставки) — через окремий домен-відправник або субдомен tx.example.com. Маркетингові розсилки — через mail.example.com або news.example.com. Якщо маркетингова розсилка отримає багато скарг на спам, це не повинно зачепити репутацію транзакційного потоку. Згідно з документацією SendGrid, транзакційні повідомлення слід відправляти через виділений IP-пул для запобігання перехресному впливу.
Черга та retry
Будь-який виклик до email API — через чергу (Laravel Queue, Bull, Celery). Якщо Unisender повернув 503 — задача йде в retry через 5 хвилин, потім 15, потім 60. Після 5 невдалих спроб — у dead letter queue з алертом. Користувач при цьому вже отримав свій 200 OK і не знає про проблему. Завдяки цьому підходу bounce rate на проєктах знижується до 0.5%.
Приклад job для Laravel:
public function handle(): void
{
try {
$response = Http::post(config('services.unisender.email_url'), $this->params);
if ($response->failed()) {
$this->release(300); // retry через 5 хв
}
} catch (\Throwable $e) {
$this->release(300);
}
}
Шаблони
Зберігаємо шаблони в коді (Blade, Twig, React Email), не в інтерфейсі провайдера. Причини: версіонування через Git, preview у браузері без відправки, можливість тестування. Для складних шаблонів з динамічним контентом — react-email з експортом в HTML через @react-email/render.
Валідація та згоди
Перед додаванням контакту до списку — double opt-in (лист з підтвердженням). Зберігати факт підтвердження з timestamp у своїй БД. При відписці — синхронно відписуємо і у провайдера, і в своїй базі. Ігнорувати webhook відписки — прямий шлях до блокування акаунта у провайдера. Всі процеси відповідають ФЗ-152 про персональні дані.
Як налаштувати DKIM для домену-відправника?
DKIM дозволяє підписувати листи цифровим підписом, що підвищує довіру поштових серверів.
- Згенеруйте пару ключів (наприклад, через OpenSSL:
openssl genrsa -out private.key 2048).
- Опублікуйте публічний ключ у DNS як TXT-запис для селектора (наприклад,
mail._domainkey.tx.example.com).
- Вкажіть селектор у провайдера (SendGrid, Mailgun, Unisender).
- Перевірте командою
dig TXT mail._domainkey.tx.example.com.
Моніторинг доставності
Підключаємо webhook від провайдера на події bounce (жорсткий і м'який), spam_complaint, unsubscribe. Жорсткий bounce — негайно позначаємо email як невалідний у своїй БД, більше не відправляємо. М'який bounce 3 рази поспіль — те саме. Метрики: open rate, click rate, bounce rate, unsubscribe rate — дивимося не рідше разу на тиждень. Наші сертифіковані інженери налаштовують алерти в Grafana/Prometheus.
Чому важливо розділяти потоки?
Якщо відправити маркетингову розсилку з того ж домену, що й транзакційні листи, отримавши скарги на спам, ви ризикуєте заблокувати домен — і користувачі перестануть отримувати навіть підтвердження замовлень. SPF, DKIM, DMARC (Wikipedia SPF, Wikipedia DKIM) повинні бути налаштовані окремо для кожного потоку. Ми використовуємо субдомени з різними DNS-записами.
Обсяг робіт з інтеграції
- Аудит поточних потоків комунікації та репутації домену (SPF, DKIM, DMARC)
- Вибір провайдера та схеми: транзакційний vs маркетинговий трафік
- Налаштування DNS-записів SPF, DKIM, DMARC (Wikipedia DMARC)
- Розробка шаблонів листів (HTML + динамічний контент)
- Інтеграція з бекендом через черги та API
- Налаштування webhook для доставності та скарг
- Документація з експлуатації та навчання команди
- Гарантія доставності та підтримка після запуску
Терміни та вартість
| Сценарій |
Термін (робочі дні) |
Примітка |
| Базові транзакційні листи (один провайдер) |
5–7 днів |
Ціна розраховується індивідуально після аудиту |
| Тригерні ланцюжки + SMS + веб-пуши |
10–20 днів |
Ціна розраховується індивідуально після аудиту |
| Повна омніканальна автоматизація |
20–40 днів |
Ціна розраховується індивідуально після аудиту |
Вартість розраховується індивідуально після аудиту. Ми працюємо під ключ: від аналізу до моніторингу в продакшені. Отримайте консультацію інженера — оцінимо проєкт безкоштовно та скажемо точні терміни. Досвід більше 7 років в інтеграції поштових сервісів, реалізовано 50+ проєктів. Замовте безкоштовний аудит поточної інтеграції — отримайте звіт з рекомендаціями.