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

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

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

f:id:mbaasdevrel:20180720112431j:plain

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

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

スクリプトでSMSを送る

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

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

アカウントSIDとAuth Token

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

f:id:mbaasdevrel:20180720112205p:plain

送り元の電話番号

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

f:id:mbaasdevrel:20180720112247p:plain

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

f:id:mbaasdevrel:20180720112306p:plain

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

f:id:mbaasdevrel:20180720112318p:plain

スクリプトを組む

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

const twilio = require('twilio');

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

const accountSid = 'ACf...7df';
const authToken = '01b...619';
const fromTel = '+17653003967';

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

const client = new twilio(accountSid, authToken);

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

const message = client.messages.create({
  body: 'メッセージ',
  to: '+819099999999',
  from: fromTel
}).then(message => {
  // 送信完了
})

スクリプトに組み込む

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

const twilio = require('twilio');
module.exports = (req, res) => {
  const accountSid = 'ACf...7df';
  const authToken = '01b...619';
  const fromTel = '+17653003967';
  const client = new twilio(accountSid, authToken);
  
  const message = client.messages.create({
    body: req.query.message,
    to: req.query.to,
    from: fromTel
  }).then(message => {
    res.json(message);
  })
}

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

テスト実行

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

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

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

f:id:mbaasdevrel:20180720112431j:plain

まとめ

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

中津川 篤司

中津川 篤司

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