Giter Site home page Giter Site logo

sms-uslugi-api's Introduction

Build Status Coverage Status Gem Version Dependency Status

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. Остальные параметры идентичны аналогичным из официальной документации: https://lcab.sms-uslugi.ru/send/smsApi#main/lcabApi/send

Возвращает хеш с информацией об отправке:

{
  code: 1,
  descr: "Успешно обработано",
  colsmsOfSending: 1,
  priceOfSending: '0.50'
}

Тестирование

Для запуска тестов необходимо запустить команду rspec в директории с проектом. После выполнения тестов будет сохранен отчёт о проценте покрытия кода тестами в директории coverage.

Разработка

Pull-реквесты приветствуются. Чтобы добавить новую функциональность или изменить текущую, требуется:

  1. Форкнуть и склонировать репозиторий
  2. Написать тесты и код
  3. Проверить работоспособность
  4. Проверить покрытие кода тестами
  5. Закомитить и создать 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 (c) 2014-2016 Alexander Maslov, Oleg Bobok. See LICENSE.txt for further details.

sms-uslugi-api's People

Contributors

drakmail avatar mr-koww avatar obdolbacca avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

sms-uslugi-api's Issues

не работает указание source

Привет! Не работает указание source как имени отправителя - смс приходит с цифрового номера. Хотя отправка через обычный curl с указанием source работает нормально. Возможно проблема в faraday

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.