Home > Advent Calendar 2013 | PHP | Webサービス > Twilio と ChatWork を使って、電話のメッセージをチャットで受け取る

Twilio と ChatWork を使って、電話のメッセージをチャットで受け取る

この記事の所要時間: 221

Shin x blog Advent Calendar 2013 の 18 日目です。

ChatWork API のプレビュートークンを頂いたので、早速使ってみました。

今回作ったのは、電話をかけて音声で伝えたい人と、電話はかけて欲しくない、チャットで要件伝えて下さい、という人を繋ぐものです。

Twilio と ChatWork を使って留守番電話

これは、Twilio と ChatWork を使い、電話がかかってきたら、チャットで着信を知り、録音された音声が聞けるというものです。いわば留守番電話をチャットから聞くという感じですね。

全体の流れは下記の図になります。

twilio-chatwork

ソースコードは GitHub にて公開しています。

shin1x1/twilio-chatwork-voice-message

Twilio との連携

まず、かかってきた電話を Twilio で受けます。Twilio では、着信した電話番号に対して、あらかじめ登録した URL へ HTTP リクエストを投げるので、これをこのアプリケーションで受けます。

下記が Twilio からのリクエストを処理するコードです。Twilio へは、TwiML という XML を返すことで、電話に対する操作を指定します。このコードでは、音声メッセージを流して、録音を行うことを Twilio へ指示しています。また、録音が完了すると、recoreder.php へリクエストを投げるようにしています。

ChatWork との連携

Twilio での録音が完了すると下記のコードへリクエストが来ます。このリクエストでは、録音された音声ファイルの URL が送信されてくるので、これを ChatWork API を使って、チャットメッセージとして送信します。

動かしてみる

実際に動かしてみます。Twilio で取得した電話番号に電話をかけます。

call-twilio

録音を促す音声が流れるので、メッセージを電話で話します。伝えたい内容を言い終わったら、# を押して下さい。

push-button

すると、着信があったことを伝えるチャットメッセージが、ChatWork へ送信されます。チャットメッセージには、URL が付いているので、これをクリックすると、録音された音声を聞くことができます。

chatwork-voice-message

さいごに

Twilio も ChatWork も API が公開されており、連携も簡単でした。

これならば、電話で要件を伝えたい人は電話をかけられ、聞く側は ChatWork で着信を知って、要件を音声で聞くことができます。電話を置かない会社さんでも電話番号を公開できますね;-p

Pocket

follow us in feedly

Home > Advent Calendar 2013 | PHP | Webサービス > Twilio と ChatWork を使って、電話のメッセージをチャットで受け取る

検索
フィード
メタ情報

Return to page top