class Kth::Alimtalk::Client
Constants
- BASE_URL
Attributes
client_id[RW]
key[RW]
Public Class Methods
new(client_id, key)
click to toggle source
TODO. 코드 및 메세지 정의 맵핑 추가
# File lib/kth/alimtalk.rb, line 12 def initialize(client_id, key) self.client_id = client_id self.key = key end
Public Instance Methods
callbacks(send_phone_number = '')
click to toggle source
# File lib/kth/alimtalk.rb, line 79 def callbacks(send_phone_number = '') request_url = "/kko/1/sendnumber/list/#{client_id}?sendnumber=#{send_phone_number}" send_get_request request_url end
msg_test(phone_number, callback, msg, template_code, failed_type, options)
click to toggle source
# File lib/kth/alimtalk.rb, line 84 def msg_test(phone_number, callback, msg, template_code, failed_type, options) request_url = "/kko/1/msg_test/#{client_id}" params = { 'phone' => phone_number, 'callback' => callback, 'msg' => msg, 'template_code' => template_code, 'failed_type' => failed_type } if options.present? params['reqdate'] = options['request_date'].strftime("%Y%m%d%H%M%S") if options['request_date'] params['url'] = options['url'] if options['url'] params['url_button_txt'] = options['url_button_txt'] if options['url_button_txt'] params['failed_subject'] = options['failed_subject'] if options['failed_subject'] params['failed_msg'] = options['failed_msg'] end send_post_request request_url, params end
register_callback(send_phone_number, comment, pin_type = 'SMS')
click to toggle source
# File lib/kth/alimtalk.rb, line 54 def register_callback(send_phone_number, comment, pin_type = 'SMS') phone_number = send_phone_number.gsub("-", "") request_url = "/kko/2/sendnumber/save/#{client_id}" params = { 'sendnumber' => phone_number, 'comment' => comment, 'pintype' => pin_type } send_post_request request_url, params end
report(cmid)
click to toggle source
# File lib/kth/alimtalk.rb, line 38 def report(cmid) request_url = "/kko/1/report/#{client_id}?cmid=#{cmid}" send_get_request request_url end
send_message(phone_number, callback, msg, template_code, failed_type, options)
click to toggle source
# File lib/kth/alimtalk.rb, line 17 def send_message(phone_number, callback, msg, template_code, failed_type, options) request_url = "/kko/1/msg/#{client_id}" params = { 'phone' => phone_number, 'callback' => callback, 'msg' => msg, 'template_code' => template_code, 'failed_type' => failed_type } if options.present? params['reqdate'] = options['request_date'].strftime("%Y%m%d%H%M%S") if options['request_date'] params['url'] = options['url'] if options['url'] params['url_button_txt'] = options['url_button_txt'] if options['url_button_txt'] params['failed_subject'] = options['failed_subject'] if options['failed_subject'] params['failed_msg'] = options['failed_msg'] end send_post_request request_url, params end
templates(options = {})
click to toggle source
# File lib/kth/alimtalk.rb, line 44 def templates(options = {}) request_url = "/kko/1/template/list/#{client_id}?" if options.present? request_url += "TEMPLATE_CODE=##{options['template_code']}&" if options['template_code'] request_url += "STATUS=#{options['status']}&" if options['status'] end send_get_request request_url end
verify_callback(send_phone_number, comment, pin_type, pin_code)
click to toggle source
# File lib/kth/alimtalk.rb, line 66 def verify_callback(send_phone_number, comment, pin_type, pin_code) phone_number = send_phone_number.gsub("-", "") request_url = "/kko/2/sendnumber/save/#{client_id}" params = { 'sendnumber' => 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/alimtalk.rb, line 119 def send_get_request(url) conn = Faraday.new(BASE_URL) res = conn.get do |req| req.url url req.headers[Kth::Alimtalk::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/alimtalk.rb, line 107 def send_post_request(url, params) conn = Faraday.new(BASE_URL) res = conn.post do |req| req.url url req.headers[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