これは、Twilio Advent Calendar 2015の12月17日の記事です。

さいしょに

この記事は、

kintone Advent Calendar 2015の2日目の、

kintone APIを使ってスペースを有効活用する(サーバーレスで)

と、

Twilio Advent Calendar 2015の9日目の、

Twilioサーバーレス化作業記録 – RequestURLもサーバーレス化

に刺激されて作りました。ソースとかはコピペ満載なので、ふいんき(何故か変換できない)をお楽しみ下さい。

リカちゃん電話運用サービスを作る

基本的な流れ。

1 決まった番号に電話する

2 応答メッセージが流れる

  • メッセージは管理画面から差し替え

  • MP3と合成音声のどちらでも可

  • 特別な場合に備えて、生TwiMLも可にした

kintone側の準備

1 アプリの作成フォーム

受付番号には、Twilioの番号を入力します。これで識別するので+付きの番号になります。理論上は何番号でも運用可能!

応答パターンを切り替えることで、何で返すかを選ぶことができます。その他はテキストでオッケー。MP3の場所もURLをテキスト入力です。MP3の置き場として今回はS3を用意しましたが、転送費用とかが気になる場合は別サーバーをお勧めします。

API Gateway & Lambdaの準備

Twilioサーバーレス化作業記録 – RequestURLもサーバーレス化 で紹介されている方法でお願いします。まずはLambdaのサンプルメッセージが返ってくるのを試してください。

Lambdaで、ソース修正

[Twilio-telservice_-_NetBeans_IDE_8_0_2](http://qiita.com/ha_ru_ma_ki/items/7b7f96ad90f776e9967e">kintone APIを使ってスペースを有効活用する(サーバーレスで) で紹介されているソースを参考に、アプリIDやドメインを自分の環境の数値にしてください。<a href=)

次に、アプリ内のフィールド情報を指定していきます。Twilio-telservice_-_NetBeans_IDE_8_0_2 2

body_getsalesamountの方だけ修正してください。ポイントは、Twilioの番号で検索する事と、必要なフィールドの指定を間違えない事です。

kintone側に番号が登録されてない場合の別メッセージを変更できるように、ダミーで111という番号を使うようになっています。この辺は、申し込みサイトへの誘導とか色々とできそうですね。

最後にレコードの内容からTwiMLを作成します。Twilio-telservice_-_NetBeans_IDE_8_0_2 3

以上で、作業は終わりです。

kintone側にこんな感じで入力しておくと、対応したメッセージを返します。通常は音声案内で、時間限定イベントで秘密のメッセージ流してとかができますね。テレフォンサービス_-_レコードの一覧

という感じですが、他に色々と繋ぐと楽しめそうなので、次はAmazonギフト券と繋いでみます(ぉ