- vừa được xem lúc

Sử dụng Twilio để gửi SMS trong ứng dụng Ruby on Rails

0 0 67

Người đăng: Thai Quoc Vuong

Theo Viblo Asia

Ngoài cách xác nhận tài khoản hay gửi thông báo bằng email thì hôm nay mình sẽ hướng dẫn các bạn 1 cách nữa là thông qua SMS/Voice Công cụ sử dụng sẽ là gem Twilio

Installation

Để cài đặt bằng Bundler, hãy lấy phiên bản mới nhất: gem 'twilio-ruby', '~> 5.47.0'

Để cài đặt thủ công twilio-ruby thông qua Rubygems, bạn chỉ cần cài đặt gem: gem install twilio-ruby -v 5.47.0

Để tự xây dựng và cài đặt nhánh phát triển từ nguồn mới nhất:

git clone _@.com:twilio/twilio-ruby.git
cd twilio-ruby
make install

Getting Started

Get API key

Truy cập https://www.twilio.com/ để đăng kí tài khoản và chọn các option phù hợp

Vào dashboard để lấy api key cần thiết cho bước tiếp theo

Setup Work

require 'twilio-ruby'
# put your own credentials here
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy' # set up a client to talk to the Twilio REST API
@client = Twilio::REST::Client.new account_sid, auth_token

Use An API Key

require 'twilio-ruby' # put your own credentials here
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
api_key_sid = 'zzzzzzzzzzzzzzzzzzzzzz'
api_key_secret = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy' # set up a client to talk to the Twilio REST API using an API Key
@client = Twilio::REST::Client.new api_key_sid, api_key_secret, account_sid

Specify a Region and/or Edge

Để tận dụng Cơ sở hạ tầng toàn cầu của Twilio, hãy chỉ định Region hoặc Edge cho client: https://www.twilio.com/docs/global-infrastructure

# set up a client to talk to the Twilio REST API over a specific region and edge
@client = Twilio::REST::Client.new account_sid, auth_token, nil, 'au1'
@client.edge = 'sydney' # you may also specify the region and/or edge after client creation
@client = Twilio::REST::Client.new account_sid, auth_token
@client.region = 'au1'
@client.edge = 'sydney'

Enable Debug logging

@client = Twilio::REST::Client.new account_sid, auth_token
myLogger = Logger.new(STDOUT)
myLogger.level = Logger::DEBUG
@client.logger = myLogger @client = Twilio::REST::Client.new account_sid, auth_token
myLogger = Logger.new('my_log.log')
myLogger.level = Logger::DEBUG
@client.logger = myLogger

Make a Call

Trước tiên hãy chọn 1 trial phone number

@client.calls.create( from: '+14704358494', to: '+84987113442', url: 'http://example.com'
)

Sẽ nhận được cuộc gọi từ số mình vừa chọn ở trên từ Hoa Kỳ bắt mình upgrade account =))

Send an SMS

@client.messages.create( from: '+14704358494', to: '+84987113442', body: 'Vuong oi! Test Twilio ne :D'
)

Nhận được tin nhắn rồi nè ?

List your SMS Messages

@client.messages.list(limit: 20)

Handling Errors

begin messages = @client.messages.list(limit: 20)
rescue Twilio::REST::RestError => e puts e.message
end

Lưu ý to bự là Twilio sẽ cho dùng thử với Trial Balance = $15.50

References:

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tôi cá là bạn không biết những điều này - Ruby on rails ( Phần 2)

Các bạn có thể theo dõi phần 1 ở đây :. https://viblo.asia/p/toi-ca-la-ban-khong-biet-nhung-dieu-nay-ruby-on-rails-phan-1-WAyK8DDeKxX. 5.

0 0 222

- vừa được xem lúc

Rails Memoization

Memoization is a process that can be used to speed up rails methods. It caches the results of methods that do time-consuming work, work that only needs to be done once. Here is an example. Example.

0 0 48

- vừa được xem lúc

Tại sao Rails lại dùng cả Webpack lẫn Sprocket?

Khi Rails 6 được ra mắt, có thể bạn đã từng tự hỏi. WTF, sao Webpack đã được add vào rồi, mà Sprocket vẫn tồn tại thế kia . Chẳng phải Webpack và Sprocket được dùng để giải quyết chung một công việc hay sao. Hoặc cả đây:.

0 0 59

- vừa được xem lúc

Bạn nên sử dụng Elasticsearch trong ứng dụng Ruby On Rails như thế nào?

Elasticsearch là một công cụ phân tích và mã nguồn mở mạnh mẽ và linh hoạt, phân tán, theo thời gian thực. Đó là tiêu chuẩn vàng trong công nghệ tìm kiếm.

0 0 80

- vừa được xem lúc

Form object pattern trong rails

1.Mở đầu.

0 0 111

- vừa được xem lúc

Floating-point error và cách giải quyết trong Ruby on Rails

Khi làm việc với việc tính toán số, nhất là với tài chính hoặc tiền, độ chính xác là vô cùng quan trọng. Thậm chỉ dù là sai số quá ít cũng gây ra độ lệnh lớn khi số tiền đó càng lớn.

0 0 42