Sha256: 533f3185561cbd0599c69134e031cb5c8f133493baceb29132259b43c6983753

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

require "faraday"
require "json"

class SmsUslugiApi

  BASE_API_URL = "https://lcab.sms-uslugi.ru/lcabApi"

  def initialize(username, password)
    @username = username
    @password = password
    @api = Faraday.new
  end

  # https://lcab.sms-uslugi.ru/integration/lcabApi#main/Другое/orgInfo
  def info
    api_request("info.php")
  end

  # https://lcab.sms-uslugi.ru/integration/lcabApi#main/pager/send
  # txt must be in UTF-8 encoding!
  def send(txt, to, idGroup = nil, source = nil, flash = 0, dateTimeSend = nil, onlydelivery = 0, use_alfasource = nil, discountID = nil)
    api_request("sendSms.php", {
      txt: txt,
      to: to,
      idGroup: idGroup,
      source: source,
      flash: flash,
      dateTimeSend: dateTimeSend,
      onlydelivery: onlydelivery,
      use_alfasource: use_alfasource,
      discountID: discountID
    })
  end

  def get_phone_info(phone)
    api_request("getPhoneInfo.php", {
      phone: phone
    })
  end

  private

  def api_request(url, options = {})
    url = "#{BASE_API_URL}/#{url}"
    options[:login] = @username
    options[:password] = @password
    JSON::parse @api.get(url, options).body, symbolize_names: true
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sms-uslugi-api-0.6.0 lib/sms-uslugi-api.rb