Реєстрація

Різне

Коди відповідей API

Глосарій

Список можливих статусів SMS-повідомлень

URL-кодування рядків

Коди відповідей API

Кожна відповідь на запит до API повертає масив, що складається з трьох полів, одне з яких – code. Це поле містить статус обробки запиту і може служити керівництвом до подальших дій з боку клієнтського додатка. У наступній таблиці наведені коди API та їх значення:

КодОпис
0Операція завершена успішно.
1Помилка валідації переданих даних під час створення або оновлення будь-якої сутності. У полі data представлена інформація про те, які поля заповнені неправильно. Слід виправити помилки і повторити запит з новими даними.
2Вказаний запис не знайдено. Швидше за все, він був видалений, ID запису вказано неправильно або у користувача, який намагається отримати доступ до цього запису, немає відповідних прав доступу до цього запису.
3Невизначена помилка додатка. Зверніться до служби підтримки та повідомте деталі запиту, при якому вона була отримана.
4Неправильно вказаний параметр module. Перевірте правильність написання параметра в документації до API.
5Неправильно вказаний параметр method. Перевірте правильність написання параметра в документації до API.
6Неправильно вказаний параметр format. Перевірте правильність написання параметра в документації до API.
8Помилка входу в систему. Виникає в випадках, коли:
  • Неправильно вказані дані для входу;
  • Коли під час роботи з системою сесія користувача завершилась або була примусово закрита сервером.
Більш детальну інформацію можна побачити у полі message.
9Помилка доступу до вказаного методу API.
10Помилка під час збереження даних на сервері безпосередньо в процесі виконання цієї операції. Зазвичай ця помилка пов'язана з одночасним доступом до даних з кількох клієнтів або зміною умов збереження даних у процесі їх збереження.
11Деякі обов'язкові параметри відсутні в запиті. Перевірте правильність написання параметрів в документації до API і доповніть запит необхідними параметрами.
12Вхідний параметр запиту не задовольняє встановленим умовам або обмеженням. Цей код помилки виникає у випадках, коли під час виконання запиту з параметрами будь-який параметр порушує обмеження. Схоже на помилку валідації атрибутів, але може бути отримано в запитах, які не здійснюють створення або зміну даних.
13Спроба зробити запит до сервера API, який не обслуговує цього користувача. У випадку отримання цього коду правильний домен можна отримати у полі data.
14Ця помилка виникає у випадку, якщо акаунт користувача заблоковано або видалено.
15Помилка під час виконання будь-якої операції, не пов'язаної з оновленням даних. Деталі цієї помилки вказані у полі message відповіді API.
30Помилка перевищення допустимого ліміту швидкості запитів. Ця помилка виникає при надмірно частих зверненнях до одного і того ж методу API протягом певного проміжку часу. У випадку виникнення помилки слід зменшити частоту запитів.
98Операція виконана не в повному обсязі, а лише з частиною даних. Зазвичай цей код повертається при будь-яких масових операціях, під час виконання яких деякі елементи не були оброблені через помилки або обмеження, але частина елементів оброблена. У випадку отримання цього коду можна отримати інформацію про те, які елементи були оброблені, а які ні і з якими помилками, отримавши вміст поля data.
99Жоден з елементів масової операції не був оброблений. Детальну інформацію про помилки у кожному конкретному елементі можна отримати у полі data, а загальний опис помилки у полі message.
100Цей код не є помилкою і означає, що операція була відправлена на фонове виконання. У цьому випадку поле data містить ID фонової операції, процес і завершення якої можна відстежити за допомогою API TaskQueue/GetStatus.
999Загальна помилка сервісу. Деталі можна отримати у полі message.

Глосарій

ID – унікальний ідентифікатор, який дозволяє однозначно визначити шуканий об'єкт: кампанію, групу і т.д.

Контактна картка – запис у Контактній книзі, що містить дані клієнта, такі як: ПІБ, email, дату народження та іншу інформацію. Обов'язково повинна містити номер телефону.

Підпис відправника (Sender ID, алфавітно-цифрове ім'я) – відображається як відправник SMS на телефоні одержувача замість номера телефону.
До підписів відправника існує ряд вимог.

Загальний підпис (відправника SMS) – один із підписів сервісу, який використовується при відправленні повідомлення, якщо у користувача немає підписів або вибраний підпис недоступний для відправлення на вказаний номер телефону.

Одержувач (абонент) – користувач послуг мобільного зв'язку, на номер якого відбувається відправлення SMS-повідомлення.

Коротке посилання – скорочений (альтернативний) URL-адреса для доступу до WEB-сторінки.

Використання короткого посилання замість звичайного мінімізує ненавмисне спотворення URL – коротке посилання легше запам'ятати, скопіювати або ввести вручну.

Статистичні дані надаються в зручній формі: можна побачити кількість кліків за останні 2 години, день, тиждень, 30 днів або весь час (детальніше див. у розділі короткі посилання).

Також короткі посилання зручно використовувати в SMS. Вони дозволяють зменшити вартість відправлення за рахунок меншої кількості символів у повідомленні.

При використанні короткого посилання, створеного в нашому сервісі, є можливість задіяти функцію відстеження одержувачів, які відкрили посилання.

Персональне посилання (посилання відстеження одержувача) – спеціальне коротке посилання, створене за допомогою нашого сервісу і дозволяє відстежити хто саме з одержувачів SMS-розсилки перейшов за ним. Посилання унікальне для кожного окремого одержувача SMS.

Функція відстеження одержувачів – інструмент збору статистики про одержувачів, які перейшли за коротким посиланням, розміщеним у повідомленні.

Це зручний і ефективний засіб для аналітики цільової аудиторії та оцінки ефективності SMS-кампанії.

Функція доступна для SMS-повідомлень, що містять гіперпосилання. Щоб активувати функцію, необхідно у Формі Відправлення SMS натиснути кнопку заміни звичайного посилання на коротке та перевірити, чи стоїть галочка напроти опції «відстежувати одержувачів».

Звіт про доставку повідомлення (DLR) – інформація від оператора зв'язку про статус доставки SMS-повідомлення одержувачу.

SMS Кампанія – дозволяє згрупувати багато одержувачів одного SMS і проаналізувати результати SMS-розсилки.

Одиночна кампанія – відправка повідомлення на один номер.

Масова кампанія – відправка повідомлення на два і більше номерів.

Функціональна (службова) кампанія – до неї входять функціональні або, іншими словами, службові повідомлення системи, наприклад, повідомлення з кодом підтвердження номера з форм.

Шаблонна кампанія – тип SMS-кампанії, в якій використовується особлива форма повідомлення, що містить плейсхолдери, які замінюються на персональний для кожного одержувача текст.

Приклад шаблону

У фігурних дужках {} розміщені плейсхолдери.

Шаблонний текст з плейсхолдерамиТекст, який буде доставлений одержувачу
Вітаємо, {name}! Ваш баланс на {date} становить {balance}{currency}.Вітаємо, Іван! Ваш баланс на 12.09.2019 становить 15.50 грн.
{name}, машина під'їхала ({carNumber}). Телефон водія: {driverPhone}.Олексій, машина під'їхала (АА 4444). Телефон водія: 099 999 99 99.
Нагадуємо, що ви записані на прийом у {place}. Дата прийому: {date}.Нагадуємо, що ви записані на прийом у Клініці 11.11.2019 о 11:30.

Форма – зручний інструмент для збору даних про клієнтів, проведення електронних опитувань, формування бази номерів для розсилки і безлічі інших завдань.

За допомогою Форм ваші клієнти можуть підписатися на SMS-розсилку, новини, акції тощо.

Завдяки гнучкому та інтуїтивно зрозумілому конструктору полів ви можете легко створити Форму, максимально ефективну для ваших завдань.

Крім того, ви можете налаштувати оформлення Форми: вибрати колір тексту, кнопок, фону тощо. Детальніше про створення Форм ви можете дізнатися в розділі “Форми”.

Список можливих статусів SMS-повідомлень

СтатусОстаточнийОпис
NEWніНове повідомлення, ще не було відправлено.
ENQUEUDніПоставлено в чергу на відправку.
ACCEPTDніВідправлено із системи і прийнято оператором для подальшої пересилки отримувачу.
UNDELIVтакНе доставлено отримувачу.
REJECTDтакВідхилено оператором з однієї з багатьох причин – невірний номер отримувача, заборонений текст, підпис відправника не зареєстрована, тощо.
PDLIVRDніНе всі сегменти повідомлення доставлені отримувачу (цей статус може бути лише у повідомлень, але не у сегментів). Деякі оператори повертають звіт тільки про перший доставлений сегмент, тому таке повідомлення після закінчення строку життя перейде в статус, встановлений для першого сегменту.
DELIVRDтакДоставлено отримувачу повністю.
EXPIREDтакДоставка не вдалася, оскільки минув строк очікування, протягом якого повідомлення так і не було доставлено отримувачу. Як правило, доставка неможлива, якщо телефон отримувача вимкнений, знаходиться поза зоною дії мережі або пам'ять пристрою переповнена. Максимальний час очікування доставки - 1 доба з моменту відправки.
DELETEDтакВидалено через якісь обмеження на стороні оператора зв'язку і не доставлено отримувачу.

URL-кодування рядків

У кожній серверній мові так чи інакше є функція, яка повертає рядок, у якому всі не цифро-буквені символи, крім - _ . повинні бути замінені знаком відсотка (%), за яким слідують два шістнадцяткові числа, а пробіли закодовані як знак додавання (+). Рядок кодується тим самим способом, що і POST-дані веб-форм, тобто за типом контенту application/x-www-form-urlencoded. Це відрізняється від кодування за RFC 3986 тим, що з історичних причин пробіли кодуються як знак "плюс" (+).

Реалізація в різних мовах програмування

МоваФункціяПосилання на документацію
PHPurlencodehttp://php.net/manual/ru/function.urlencode.php
.NetHttpUtility.UrlEncode
WebUtility.UrlEncode
https://docs.microsoft.com/en-us/dotnet/api/system.web.httputility.urlencode
https://docs.microsoft.com/en-us/dotnet/api/system.net.webutility.urlencode
Pythonurllib.parse.quote_plushttps://docs.python.org/3/library/urllib.parse.html#urllib.parse.quote_plus
JavaURLEncoder.encodehttps://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html
JavaScriptencodeURIComponenthttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent