Skip to content

Zkuns/aliyun_sms_ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AliyunSmsRuby

This gem use for Aliyun message send and status query.

Add 10DLC support

Installation

gem 'aliyun_sms_ruby'

Config

Add aliyun_sms_ruby.rb to config/initializers.

AliyunSmsRuby.configure do |config|
  config.access_key_secret = ENV['ALIYUN_SMS_ACCESS_KEY_SECRET']
  config.access_key_id = ENV['ALIYUN_SMS_ACCESS_KEY_ID']
  config.sign_name = ENV['ALIYUN_SMS_SIGN_NAME']
end

Use

Message send

Aliyun doc: https://next.api.aliyun.com/document/Dysmsapi/2017-05-25/SendSms

phone_number = '151********'
template_code = 'SMS_182823232'
template_param = { code: "10001" }
AliyunSmsRuby.send_message(phone_number, template_code, template_param)

Global message send(can not query message send status)

Important: After register the 10 DLC number, you need ask the Aliyun support team add your account to their white list. Or you will receive a forbidden error.

{
  "Code": "Forbidden.Operation",
  "Message":"You are not authorized to perform the operation."
}

Aliyun doc: https://help.aliyun.com/document_detail/164194.html

phone_number = '151********'
text = 'code is 19384'
type = 'OTP'
# need register from Aliyun support
from = '18884060817'
AliyunSmsRuby.send_global_message(phone_number, text, from, type)

Message status query

Aliyun doc: https://next.api.aliyun.com/document/Dysmsapi/2017-05-25/QuerySendDetails

phone_number = '151********'
send_date = Time.now.strftime('%Y%m%d')
biz_id = '940902739667766114^0'
AliyunSmsRuby.send_query_request(phone_number, send_date, biz_id, page_size = 1, current_page = 1)

Tempalte query

Aliyun doc: https://next.api.aliyun.com/document/Dysmsapi/2017-05-25/QuerySmsTemplate

template_code = 'SMS_182823232'
AliyunSmsRuby.send_query_template(template_code)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages