Twilio FAX機能を使ってメール経由でFAXを送受信する
- 2018年5月17日
- by 佐藤 航
- Category: 技術ネタ
SendGridサポートチーム佐藤(@awwa500)です。今回はTwilioのProgrammable FAX機能とSendGridを連携させてメール経由でFAXの送受信を行ってみたのでご紹介します。
Twilioと言えば、プログラムから電話機能を制御できるサービスとして有名ですが、FAXの送受信もできます。Programmable FAX機能を使うと、通信相手先ではFAXという既存のチャネルを維持したまま、アプリケーション側では紙媒体の情報をデジタルデータとして扱えるようになります。
今回は、このProgrammable FAX機能とSendGridを連携させて、メール経由でFAXの送受信を試してみました。こうすることで、メールクライアントとFAXとの間で情報のやり取りができるようになります。イメージはこんな感じです。
FAX機から送信した内容をPDFに変換してメーラで受信する
まず、FAX機から送信した紙の情報をPDFに変換してメーラで受信してみます。今回は、受信したFAXの内容をメール送信するのにTwilioのFunctionsという機能を利用しました。FunctionsはTwilioのプラットフォーム上で管理されるサーバレス環境で、Node.js相当のプログラムを実行できます。データの流れは次のとおりです。
- FAX機からTwilioのFAX番号宛にFAXを送信します
- TwilioでFAXを受信すると、あらかじめ指定されたFunctionsが呼び出されます
- Functionsでは受信したFAXの内容(PDFファイルのURL)を受け取ります
- FunctionsでPDFファイル内容をメールに添付してSendGridに送信リクエストを発行します
- SendGridでは送信リクエストで指定された内容のメールを送信します
- メーラで添付ファイル付きのメールを受信します
メーラから送信した内容をFAX機で受信する
つぎに、メーラから送信した内容をFAX機で受信してみます。データの流れは次のとおりです。
- 後述するInbound Parse設定したドメイン宛に、メーラからメールを送信します
- SendGridでメールを受信します
- Inbound Parseで設定したドメインに対応するホストにParse Webhookで通知します。通知先はTwilio Functionsとします
- Functionsでメール本文の内容をPDFファイルに変換し、TwilioのSend FAX APIでFAXの送信リクエストを発行します
- Twilioでは送信リクエストで指定されたFAX機の番号にFAXを送信します
- 宛先FAX機でFAXを受信します
ハンズオン
今回作成した内容を体験できるハンズオンを5月22日に実施しますので、ご興味ある方は是非ご参加ください。実装内容についても詳しく解説します。残席わずかです!