ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

スクリプト機能のライブラリにTwilioが追加されました!【Ruby編】

f:id:mbaasdevrel:20180720112431j:plain

mBaaSのスクリプト機能を使えばサーバサイドで任意のコードを実行できます。それによって、APIキーなどを隠蔽したいケースやAndroidとiOSでコードを共通化したいといったことが実現します。

今回、スクリプトで利用できるライブラリとしてTwilioが追加されました。その使い方を簡単に紹介します。この記事ではRubyを使っています。

スクリプトでSMSを送る

まずTwilioで必要な情報を取得します。必要なのは以下の三つです。

  1. アカウントSID
  2. Auth Token
  3. 送り元の電話番号

アカウントSIDとAuth Token

アカウントSIDとAuth TokenはTwilioのダッシュボードで取得できます。

f:id:mbaasdevrel:20180720112205p:plain

送り元の電話番号

Twilioで試用している状態だと表示が違うかも知れません。課金していると、まず電話番号を購入する必要があります。

f:id:mbaasdevrel:20180720112247p:plain

日本の電話番号だとSMSが送れないようなので、USのものを購入します。一ヶ月150円だそうです。

f:id:mbaasdevrel:20180720112306p:plain

番号を取得しました。国番号から指定する必要があります。

f:id:mbaasdevrel:20180720112318p:plain

スクリプトを組む

まずTwilioのライブラリを読み込みます。

require 'twilio-ruby'

次に先ほど取得した情報を定義します。

account_sid = 'ACf...7df';
auth_token = '01b...619';
from_tel = '+17653003967';

そしてTwilioのクライアントを生成します。

client = Twilio::REST::Client.new account_sid, auth_token

これで準備完了です。SMSは以下のように送信します。

response = client.api.account.messages.create(
  from: from_tel,
  to: '+819099999999',
  body: 'メッセージ'
)

スクリプトに組み込む

mBaaSのスクリプトとして使う場合には以下のようなコードになります。といっても module.exports を指定するくらいです。後、メッセージと送り先を可変にしました。

require 'rack'
require 'twilio-ruby'

def call(env)
  account_sid = 'ACf...7df';
  auth_token = '01b...619';
  from_tel = '+100099999999'
  client = Twilio::REST::Client.new account_sid, auth_token
  
  req = Rack::Request.new(env)
  response = client.api.account.messages.create(
    from: from_tel,
    to: req.params['to'],
    body: req.params['message']
  )
  [200, {'Content-Type' => 'application/json'}, [response.to_json]]
end

今回はGETリクエストで指定できるようにしました。

テスト実行

管理画面から実際に送ってみます。 Query を以下のように指定します。

to=+81909999999&message=こんにちは

実行すると、TwilioからのレスポンスがそのままJSONとして表示されます。そして、スマートフォンにSMSが届くでしょう。

f:id:mbaasdevrel:20180720112431j:plain

まとめ

Twilioを使うことで、SMSを送ったり、電話をかける、FAXを送ると言ったことがAPIベースで実装できるようになります。スクリプトと組み合わせることでデータストアやファイルストアから取得したデータを活用できます。ぜひお試しください!

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。