クエステトラユーザのみなさん、こんにちは。開発責任者の畠中です。

以前のブログ「申込みフォームで、電話番号の存在確認をはさむ」の最後にて

電話番号を携帯電話番号に特化すれば、電話ではなく SMS で十分じゃないかという話もあります。

と言及しました。

申込フォームで、電話番号の存在確認をはさむ

Twilio では SMS を扱うこともできますので、今回は SMS の送信に取り組みたいと思います。

今回は、Twilio の 「SMS を送信する API」を使用します。

Programmable SMS: Send an SMS with the SMS API

電話をかける API は 2 ステップ必要でしたが、こちらは 1 ステップで実現できます。簡単です。

特定の URL に対して、以下のパラメータを含めて、POST リクエストを送るだけです。

  • 送信元番号
  • 送信先電話番号
  • 内容

ただし、使用する電話番号に注意点があります。Twilio で購入することのできる日本の電話番号では、SMS を送信することができません。したがって、「日本以外」の電話番号で、かつ日本に SMS を送信することのできる電話番号を購入する必要があります。国によっては、SMS を使えるのだけど、同国内宛にしか SMS を送れない場合があります。アメリカの電話番号だと、世界中どこにでも SMS を送信することができます。

添付のものだと、電話 / SMS / FAX すべて取り扱うことができます。MMS (Multimedia Messaging Service) については、Twilio は日本未対応のようなので、関係がありません。

それでは、簡単なワークフローアプリを作成します。

  1. 「入力」で、宛先(電話番号)とメッセージを入力
  2. 「送信」はメッセージ送信中間イベント (HTTP) で、Twilio の「SMS を送信する API」を呼び出す

という流れになっています。

データ項目は以下のとおりです。
入力チェック等は今回のポイントではありませんが、前回の内容に引き続き設定するようにしています。

データ項目 タイプ 必須 「入力」工程
件名 文字型単一行 編集可
電話番号 文字型単一行 編集可
満たすべき正規表現: \+81\d{9,10}
プレースホルダ: +8175205XXXX
説明:

国番号(+81) から始めてください。<br>ハイフン抜き、数字のみでお願いします。
本文 文字型複数行 編集可
最大文字数: 100

アプリ内で設定している変数の一覧を示します。

変数
AccountSID Twilio のアカウント ID (アカウント SID)
AuthToken API へのアクセスに使用するトークン (AUTHTOKEN)。パスワードのようなもの。
PhoneNumber 発信用電話番号。Twilio で購入したもの。国際電話の形式で指定。

最後に、メッセージ送信中間イベント (HTTP) の設定です。

アクセス URL https://api.twilio.com/2010-04-01/Accounts/${var[AccountSID]}/Messages.json
HTTP Method POST (application/x-www-form-urlencoded)
セキュリティ Basic 認証で接続する
ユーザ名 ${var[AccountSID]}
パスワード ${var[AuthToken]}

送信パラメータについては以下の通りです。

パラメータ名
From ${var[PhoneNumber]}
To 「電話番号」
Body 「本文」

これでアプリの開発は以上です。本文に入力した通りの内容が、SMS で携帯電話/スマートフォンに送信されます。

1つ注意点。SMS を受信する携帯電話/スマートフォンの設定で、海外からの SMS を受信しない設定になっている場合があります。端末の設定ではなく、携帯電話会社のサービスの設定で、そのようになっている場合があります。その場合、このワークフローアプリから送信される SMS を受信することはできません。日本国内からの SMS ではないからです。

今回は以上です。次回は、このメッセージ送信中間イベント (HTTP) の部分を、スクリプトタスクに変更したいと思います。それではまた。