Перейти до вмісту
Для розробників

SMS API та SMPP

Підключіть свій сайт, CRM або застосунок до Messedo: JSON REST API для сповіщень і одноразових кодів, SMPP 3.4 для великих обсягів. Звіти про доставку повертаються автоматично.

Швидкий старт

  1. Створіть акаунт у кабінеті і отримайте погоджене ім'я відправника (Sender ID).
  2. Скопіюйте API-токен: кабінет → Інтеграції → SMS API. Тримайте його в секреті: він дає повний доступ до відправки.
  3. За бажанням обмежте доступ IP-адресами своїх серверів (Інтеграції → Дозволені IP) і вкажіть адресу для звітів про доставку (Налаштування → Редагувати).

Кожен запит — HTTPS POST на https://api.messedo.com з тілом у JSON і двома заголовками:

Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

POST/sms/send

Надсилає один текст на до 500 номерів.

ПолеТипОбов'язковеОпис
originatorstringтакПогоджене ім'я відправника: до 11 латинських символів або до 15 цифр.
phonesarrayтакНомери в міжнародному форматі без «+» і пробілів, наприклад 380501234567. До 500.
textstringтакТекст. В одне SMS вміщується до 160 латинських (GSM) або 70 кириличних (Unicode) символів; довший текст ділиться на частини (по 153 / 67 символів), кожна частина оплачується.
lifetimeintegerніСкільки секунд оператор намагатиметься доставити SMS.
curl -X POST https://api.messedo.com/sms/send \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"originator":"MyShop","phones":["380501234567"],"text":"Ваше замовлення готове"}'

Відповідь (HTTP 200): ID повідомлення для кожного прийнятого номера. Збережіть його, щоб запитувати статус і зіставляти звіти про доставку.

{
  "success_request": {
    "info": { "380501234567": 391876210 }
  }
}

Якщо частину номерів не прийнято, у відповіді є також additional_info та error_details з номерами за причинами (див. помилки). Якщо не прийнято жодного номера, HTTP-код 452, а у відповіді error_request.

POST/sms/status

Статуси до 499 повідомлень за їхніми ID.

{"id_sms": [391876210, 391876211]}
{
  "successful_request": { "391876210": 1, "391876211": 0 }
}
СтанЗначення
0прийнято, надсилається
8передано оператору
1доставлено
2не доставлено
3термін сплив (не доставлено вчасно)

HTTP 453 — жодного з ID не знайдено для вашого акаунта. POST/sms/statistic повертає статуси сьогоднішніх повідомлень (до 1000).

Звіти про доставку на вашу адресу

Вкажіть адресу в кабінеті, і Messedo надсилатиме фінальні статуси щойно вони відомі — опитувати не потрібно:

POST https://your-site.example/sms-report
Content-Type: application/json

{"result": [{"id_sms": 391876210, "state": 1}, {"id_sms": 391876211, "state": 2}]}
  • Відповідайте HTTP 200 протягом 5 секунд. Інакше звіт повториться кожні 10 хвилин, до 4 разів.
  • Дозволені лише публічні адреси (не приватні й не локальні мережі).
  • Кожну спробу з відповіддю вашого сервера видно в кабінеті: Інтеграції → Звіти про доставку на ваш URL; там є і кнопка тестового звіту.

Баланс і відправники

POST/sms/balance — поточний баланс:

{"successful_request": {"currency": "UAH", "money": 1517.83}}

POST/sms/originator — ваші погоджені імена відправника. Нові запитуються в кабінеті (SMS → Імена відправника).

Помилки й ліміти

HTTPЗначення
400немає обов'язкового поля або воно некоректне, або запит прийшов з IP-адреси поза вашим списком дозволених
401немає або неправильний API-токен, або API не ввімкнено для акаунта
429понад 50 запитів на секунду
452не прийнято жодного номера із запиту (причини в error_details)

Причини в error_details:

no_moneyнедостатньо коштів
no_user_priceнемає ціни на цю країну чи оператора у вашому тарифі — зверніться до менеджера
no_source_priceнемає маршруту на цей напрямок
incorrect_originator, blocked_senderім'я відправника задовге, не погоджене для акаунта або заблоковане для напрямку
incorrect_phone, no_mcc_mncномер некоректний або його оператор невідомий
phone_in_black_listномер у стоп-листі
text_blockedтекст відхилено модерацією

Нові відправники й тексти можуть спершу пройти модерацію; такі повідомлення надсилаються після погодження. Використання API і помилки видно в кабінеті: Інтеграції → Використання API.

SMPP 3.4

Хост і портsms.messedo.com:2776 (без шифрування)
sms.messedo.com:3776 (TLS 1.2 / 1.3, рекомендовано)
system_id / passwordлогін і пароль вашого акаунта
Тип підключенняtransceiver, transmitter + receiver
Сесійдо 10 одночасно на акаунт
КодуванняISO 8859-1 та UCS2; довгі повідомлення з UDH
TON / NPIвідправник 0, отримувач 1
enquire_linkкожні 30 секунд
Звіти про доставкуdeliver_sm з id:… stat:DELIVRD|UNDELIV|EXPIRED err:…

Обмеження за IP працює так само, як для API. Стан підключення й ліміти вашого акаунта видно в кабінеті: Інтеграції → SMPP-підключення.

Підтримка

Напишіть у підтримку (або на support@messedo.com) з логіном, ID повідомлення і приблизним часом.

Створити акаунт