sms-uslugi-api¶ ↑
Gem для взаимодействия с API сервиса sms-uslugi.
Установка¶ ↑
Запустить
gem install sms-uslugi-api
или добавить в Gemfile:
gem 'sms-uslugi-api'
Использование¶ ↑
sms = SmsUslugiApi.new 'login', 'password' # инициализация API sms.info # получение информации об аккаунте, https://lcab.sms-uslugi.ru/send/smsApi#main/lcabApi/orgInfo sms.get_phone_info '79000000000' # получение информации о номере, https://lcab.sms-uslugi.ru/send/smsApi#main/lcabApi/getPhoneInfo sms.send 'message in utf8', '81112223333' # отправка SMS получателю, https://lcab.sms-uslugi.ru/send/smsApi#main/lcabApi/send
Методы¶ ↑
info¶ ↑
Возвращает хеш с информацией об аккаунте:
{ code: 1, descr: "Операция завершена успешно", account: "583.12", ocode: "80009999999", tarif: "Аванс::50", price: "0.50", source: ["systemTest", "Ded Moroz"], receive_numbers: [ "79029999999", "79028888888" ] }
send(txt, to, options)¶ ↑
options
может содержать следующие параметры:
-
idGroup
-
source
-
flash
-
dateTimeSend
-
onlydelivery
-
use_alfasource
-
discountID
Отправляет SMS с текстом txt
(должен быть в кодировке utf8) на номер to
. Остальные параметры идентичны аналогичным из официальной документации: lcab.sms-uslugi.ru/send/smsApi#main/lcabApi/send
Возвращает хеш с информацией об отправке:
{ code: 1, descr: "Успешно обработано", colsmsOfSending: 1, priceOfSending: '0.50' }
Тестирование¶ ↑
Для запуска тестов необходимо запустить команду rspec
в директории с проектом. После выполнения тестов будет сохранен отчёт о проценте покрытия кода тестами в директории coverage
.
Разработка¶ ↑
Pull-реквесты приветствуются. Чтобы добавить новую функциональность или изменить текущую, требуется:
-
Форкнуть и склонировать репозиторий
-
Написать тесты и код
-
Проверить работоспособность
-
Проверить покрытие кода тестами
-
Закомитить и создать pull-реквест
Примечание¶ ↑
Так как сервис не поддерживает тестовый режим, а также для того, чтобы не оставлять реальных данных аккаунта, для написания тестов с использованием VCR необходимо сначала указать при инициализации SmsUslugiApi
в блоке before
реальные данные, а затем поправить руками в ./fixtures/vcr_cassettes/*.yml
URL запроса, чтобы он содержал в качестве логина и пароля demo:demo
, а также все необходимые данные.
PS. При смене информации для авторизации все старые тесты не пройдут, это нормальное поведение. После замены логина и пароля обратно на demo:demo
всё станет нормально.
Что делать, если не работает подстановка своего номера отправителя¶ ↑
Для того, чтобы использовать своё имя отправителя, требуется сначала зарегистрировать его в личном кабинете и дождаться подтверждения, после чего высылать СМС с использованием прямого канала:
@sms.send("teset message", PHONE_NUMBER, source: SOURCE, use_alfasource: 1) # важен последний параметр (1), он отвечает за использование прямого канала
Copyright¶ ↑
Copyright © 2014-2016 Alexander Maslov, Oleg Bobok. See LICENSE.txt for further details.