class Kth::Sms::Client

Constants

BASE_URL

Attributes

client_id[RW]
key[RW]

Public Class Methods

new(client_id, key) click to toggle source
# File lib/kth/sms.rb, line 11
def initialize(client_id, key)
  self.client_id = client_id
  self.key = key
end

Public Instance Methods

callbacks(send_phone_number = nil) click to toggle source
# File lib/kth/sms.rb, line 87
def callbacks(send_phone_number = nil)
  request_url = "/ppurio/1/sendnumber/list/#{client_id}?sendnumber=#{send_phone_number}"
  send_get_request request_url
end
lms(send_phone, dest_phone, msg_body, options) click to toggle source
# File lib/kth/sms.rb, line 34
def lms(send_phone, dest_phone, msg_body, options)
  request_url = "/ppurio/1/message/lms/#{client_id}"

  params = {
    'send_phone' => send_phone,
    'dest_phone' => dest_phone,
    'msg_body' => msg_body
  }

  if options.present?
    params['send_time'] = options['send_time'].strftime("%Y%m%d%H%M%S") if options['send_time']
    params['send_name'] = options['send_name'] if options['send_name']
    params['dest_name'] = options['dest_name'] if options['dest_name']
    params['subject'] = options['subject'] if options['subject']
    # smsExcel 은 스펙 제외
  end

  send_post_request request_url, params
end
register_callback(send_phone_number, comment, pin_type = 'SMS') click to toggle source
# File lib/kth/sms.rb, line 62
def register_callback(send_phone_number, comment, pin_type = 'SMS')
  request_url = "/ppurio/2/sendnumber/save/#{client_id}"

  params = {
    'sendnumber' => send_phone_number,
    'comment' => comment,
    'pintype' => pin_type
  }

  send_post_request request_url, params
end
report(cmid) click to toggle source

mms 는 일단 스펙 제외

# File lib/kth/sms.rb, line 56
def report(cmid)
  request_url = "/ppurio/1/message/report/#{client_id}?cmid=#{cmid}&client_id=#{client_id}"

  send_get_request request_url
end
report_test(cmid) click to toggle source
# File lib/kth/sms.rb, line 110
def report_test(cmid)
  request_url = "/ppurio_test/1/message_test/report/#{client_id}?cmid=#{cmid}&client_id=#{client_id}"

  send_get_request request_url
end
sms(send_phone, dest_phone, msg_body, options) click to toggle source
# File lib/kth/sms.rb, line 16
def sms(send_phone, dest_phone, msg_body, options)
  request_url = "/ppurio/1/message/sms/#{client_id}"
  params = {
    'send_phone' => send_phone,
    'dest_phone' => dest_phone,
    'msg_body' => msg_body
  }

  if options.present?
    params['send_time'] = options['send_time'].strftime("%Y%m%d%H%M%S") if options['send_time']
    params['send_name'] = options['send_name'] if options['send_name']
    params['dest_name'] = options['dest_name'] if options['dest_name']
    # smsExcel 은 스펙 제외
  end

  send_post_request request_url, params
end
sms_test(send_phone, dest_phone, msg_body, options) click to toggle source
# File lib/kth/sms.rb, line 92
def sms_test(send_phone, dest_phone, msg_body, options)
  request_url = "/ppurio_test/1/message_test/sms/#{client_id}"
  params = {
    'send_phone' => send_phone,
    'dest_phone' => dest_phone,
    'msg_body' => msg_body
  }

  if options.present?
    params['send_time'] = options['send_time'].strftime("%Y%m%d%H%M%S") if options['send_time']
    params['send_name'] = options['send_name'] if options['send_name']
    params['dest_name'] = options['dest_name'] if options['dest_name']
    # smsExcel 은 스펙 제외
  end

  send_post_request request_url, params
end
verify_callback(send_phone_number, comment, pin_type = 'SMS', pin_code) click to toggle source
# File lib/kth/sms.rb, line 74
def verify_callback(send_phone_number, comment, pin_type = 'SMS', pin_code)
  request_url = "/ppurio/2/sendnumber/save/#{client_id}"

  params = {
    'sendnumber' => send_phone_number,
    'comment' => comment,
    'pintype' => pin_type,
    'pincode' => pin_code
  }

  send_post_request request_url, params
end

Private Instance Methods

send_get_request(url) click to toggle source
# File lib/kth/sms.rb, line 130
def send_get_request(url)
  conn = Faraday.new(BASE_URL)
  res = conn.get do |req|
    req.url url
    req.headers[Kth::Sms::CaseSensitiveString.new('x-waple-authorization')] = key
    req.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
  end

  JSON.parse(res.body)
end
send_post_request(url, params) click to toggle source
# File lib/kth/sms.rb, line 118
def send_post_request(url, params)
  conn = Faraday.new(BASE_URL)
  res = conn.post do |req|
    req.url url
    req.headers[Kth::Sms::CaseSensitiveString.new('x-waple-authorization')] = key
    req.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
    req.body = params
  end

  JSON.parse(res.body)
end