В связи с вступлением в силу постановления Совета Министров РБ №518 от 12 июля 2017 г, все белорусские мобильные операторы вынуждены поднять тарифы на рассылку смс. Новая цена за одно sms составит 0,015 BYN. Списание по новой цене начнется 1 декабря. С уважением, ваш sms.by!
Документация API

Создание сообщения для массовой отправки (createSMSMessage)

Запрос GET /api/v1/createSmsMessage?token={token}&message={message}&alphaname_id={alphaname_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • message string [сообщение] - обязательное
  • alphaname_id int [ID альфа-имени] - опционально
Ответ
[
  {
    "status":"ok",
    "parts":1, // количество частей в сообщении
    "len":15,  // длина сообщения
    "message_id":3,  
    // id сообщения (используется при отправке SMS)
    "alphaname":"system" 
    // альфа имя (по умолчанию system)
  }
]

                    
Возможные ошибки:
{"error":"The same message exists with ID=3"}
В случае дубликата сообщения
                  
{'error' : 'Wrong alphaname. Check it is correct and approved.'}
Неверное альфа-имя
                  
{'error' : 'Message is too long. Allowed size: 1530 chars for 10 sms (160 latin symbols /sms). 670 chars for 10 ciryllic sms, and 70/sms for cyrillic symbols.'}
Сообщение слишком большое
                  
{'error' : 'undefined error'}
Ошибка приложения
                  

Проверка статуса сообщения (статуса смс-рассылки в целом) (checkSMSMessageStatus)

Запрос GET /api/v1/checkSMSMessageStatus?token={token}&message_id={message_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • message_id (int) [ID сообщения полученный из метода createSmsMessage] обязательное
Ответ
{
    "status":"new", // статус сообщения, отправка СМС возможна только если статус == moderated
    "parts":1, // количество частей в СМС сообщении
    "alphaname":"SYSTEM" // альфа-имя
}
                    
Возможные ошибки:
{'error' => 'incorrect arguments'}
Неправильные аргументы
                  
{'error' => 'not found'}
Сообщение не найдено
                  

Получить список своих сообщений (getMessagesList)

Запрос GET /api/v1/getMessagesList?token={token}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
Ответ
{
  "result":
    [
      {
        "message_id":1,
        "message":"test message",
        "parts":1,
        "d_create":"2016-07-18 09:17:59",
        "status":"moderated"
      },
      {
        "message_id":2,
        "message":
        "test message 2",
        "parts":1,
        "d_create":"2016-07-18 09:17:59",
        "status":"new"
      }
    ]  
}
                    
Возможные ошибки:
{'error' => 'undefined error'}
Ошибка приложения
                  

Отправка сообщения (sendSMS)

Запрос GET /api/v1/sendSms?token={token}&message_id={message_id}&phone={phone}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • message_id int [ID сообщения] - обязательное
  • phone string [номер телефона] - обязательное
Ответ
{
  "sms_id" : "3213", 
  "status" : "NEW"
}
                    
Возможные ошибки:
{'error' : 'incorrect phone number'}
Неправильный номер телефона
                  
{'error' : 'incorrect arguments'}
Ошибка в количестве или типах параметров
                  
{'error' : 'billing error'}
Ошибка биллинга (например у пользователя нет API тарифного плана)
                  
{'error' : 'message_id not found'}
Рассылка не найдена
                  
{'error' : 'access denied'}
Рассылка не подтверждена администратором
                  
{'error' : 'limit exceeded'}
Исчерпан лимит отправляемых сообщений в пределах тарифа
                  
{'error' : 'undefined error'}
Ошибка приложения
                  

Отправка одиночного сообщения (sendQuickSMS)

Запрос GET /api/v1/sendQuickSms?token={token}&message={message}&phone={phone}&alphaname_id={alphaname_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • message string [cообщение] - обязательное
  • phone string [номер телефона] - обязательное
  • alphaname_id int [ID alphaname] - опционально (Если не будет указано, то будет приходить от системного имени))
Ответ
{
  "sms_id" : "3213", 
  "status" : "NEW"
}
                    
Возможные ошибки:
{"error":"The same message exists with ID=3"}
В случае дубликата сообщения
                  
{'error' : 'Wrong alphaname. Check it is correct and approved.'}
Неверное альфа-имя
                  
{'error' : 'Message is too long. Allowed size: 1530 chars for 10 sms (160 latin symbols /sms). 670 chars for 10 ciryllic sms, and 70/sms for cyrillic symbols.'}
Сообщение слишком большое
		  
{'error' : 'limit exceeded'}
Исчерпан лимит отправляемых сообщений в пределах тарифа
                  
{'error' : 'incorrect phone number'}
Неправильный номер телефона
                  
{'error' : 'incorrect arguments'}
Ошибка в количестве или типах параметров
                  
{'error' : 'billing error'}
Ошибка биллинга (например у пользователя нет API тарифного плана)
                  
{'error' : 'message_id not found'}
Рассылка не найдена
                  
{'error' : 'access denied'}
Рассылка не подтверждена администратором
                  
{'error' : 'limit exceeded'}
Исчерпан лимит отправляемых сообщений в пределах тарифа
                  
{'error' : 'undefined error'}
Ошибка приложения
                  

Получить количество оставшихся сообщений (getLimit)

Запрос GET /api/v1/getLimit?token={token}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
Ответ
{
  "limit":1000
}
                    
Возможные ошибки:
{'error' : 'undefined error'}
Ошибка приложения
                  

Проверить статус SMS сообщения (checkSMS)

Запрос GET /api/v1/checkSMS?token={token}&sms_id={sms_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • sms_id int [ID SMS полученное при sendSMS] - обязательное
Ответ
[
  {
    "sms_id":129,
    "delivered":1468841940 // время доставки в unixtime (если 0 сообщение не доставлено)
  }
]

                    
Возможные ошибки:
{'error' : 'incorrect arguments'}
Неправильное количество или типы аргументов
                  
{'error' : 'not found'}
SMS не найдена
                 

Создание объекта PasswordObject (createPasswordObject)

Запрос GET /api/v1/createPasswordObject?token={token}&type_id={type_id}&len={len}
Каждому пользователю доступно не более 20-ти объектов PasswordObject
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • type_id string - обязательное (может принимать следующие значения:
    letters - только буквы латинского алфавита, numbers - только цифры, both - смешанный тип)
  • len - int длина пароля от 1 до 16
Ответ
{"result":{"password_object_id":8}}
Возможные ошибки:
{"error":"len value must be beetwen 1 and 16"}
{"error":"incorrect argument len"}
{"error":"incorrect argument type_id"}
{"error":"limit is exceeded"}

Редактирование объекта PasswordObject (editPasswordObject)

Запрос GET /api/v1/editPasswordObject?token={token}&id={password_object_id}&type_id={type_id}&len={len}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • id int - обязательное (id объекта возвращаемое из createPasswordObject)
  • type_id string - обязательное (может принимать следующие значения:
    letters - только буквы латинского алфавита, numbers - только цифры, both - смешанный тип)
  • len - int длина пароля от 1 до 16
Ответ
{"result":"1"}
Возможные ошибки:
{"error":"incorrect argument id"}
{"error":"len value must be beetwen 1 and 16"}
{"error":"incorrect argument len"}
{"error":"incorrect argument type_id"}
{"error":"not found"}

Удаление объекта PasswordObject (deletePasswordObject)

Запрос GET /api/v1/deletePasswordObject?token={token}&id={password_object_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • id int - обязательное (id объекта возвращаемое из createPasswordObject)
Ответ
{"result":"1"}
Возможные ошибки:
{"error":"incorrect argument id"}
{"error":"not found"}

Получить все объекты PasswordObjects (getPasswordObjects)

Запрос GET /api/v1/getPasswordObjects?token={token}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
Ответ
{"result":[{"id":3,"type_id":"both","len":8,"d_create":"2017-01-16 23:38:23"},{"id":4,"type_id":"numbers","len":4,"d_create":"2017-01-16 23:38:23"}]}
Возможные ошибки:
{"error":"not found"}

Получить объект PasswordObject по ID (getPasswordObject)

Запрос GET /api/v1/getPasswordObject?token={token}&id={password_object_id}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • id int - обязательное (id объекта возвращаемое из createPasswordObject)
Ответ
{"result":{"id":3,"type_id":"both","len":8,"d_create":"2017-01-16 23:41:29"}}
Возможные ошибки:
{"error":"not found"}

Отправить SMS с кодом подтверждения

Запрос GET /api/v1/sendSmsMessageWithCode?token={token}&message={message}&password_object_id={password_object_id}&phone={phone}
Параметры
  • token string [ваш уникальный api ключ] - обязательное
  • password_object_id int - обязательное (id объекта возвращаемое из createPasswordObject)
  • phone string [номер телефона] - обязательное
  • message string - обязательное (сообщение должно обязательно содержать переменную для подстановки %CODE%)
    Например: message = Ваш пароль: %CODE%
  • alphaname_id int - опционально (смотрите использование Альфа-имен)
Ответ
[{"status":"ok","parts":1,"len":22,"sms_id":35143,"code":"B8REF99K"}]
parts - количество частей в сообщении
len - длина сообщения
sms_id - Смотрите здесь
Возможные ошибки:
{"error":"incorrect phone number"}
{"error":"incorrect message"}
{"error":"%CODE% template not found"}
{"error":"incorrect password_object_id"}
{"error":"password object not found"}
{"error":"alphaname is error"}
{"error":"message is too big"}
{"error":"message_id not found"}
{"error":"access denied"}
{"error":"limit excided"}

Общие ошибки для всех методов

Возможные ошибки:
{'error' : 'unsupported method'}
Метод не поддерживается
                  
{'error' : 'token is invalid'}
Недействительный токен