Twilio FAX機能を使ってメール経由でFAXを送受信する

SendGridサポートチーム佐藤(@awwa500)です。今回はTwilioProgrammable FAX機能とSendGridを連携させてメール経由でFAXの送受信を行ってみたのでご紹介します。

Twilioと言えば、プログラムから電話機能を制御できるサービスとして有名ですが、FAXの送受信もできます。Programmable FAX機能を使うと、通信相手先ではFAXという既存のチャネルを維持したまま、アプリケーション側では紙媒体の情報をデジタルデータとして扱えるようになります。

今回は、このProgrammable FAX機能とSendGridを連携させて、メール経由でFAXの送受信を試してみました。こうすることで、メールクライアントとFAXとの間で情報のやり取りができるようになります。イメージはこんな感じです。

メールクライアントとFAXとの間で情報のやり取りイメージ

FAX機から送信した内容をPDFに変換してメーラで受信する

まず、FAX機から送信した紙の情報をPDFに変換してメーラで受信してみます。今回は、受信したFAXの内容をメール送信するのにTwilioのFunctionsという機能を利用しました。FunctionsはTwilioのプラットフォーム上で管理されるサーバレス環境で、Node.js相当のプログラムを実行できます。データの流れは次のとおりです。

FAX機から送信した内容をPDFに変換してメーラで受信

  1. FAX機からTwilioのFAX番号宛にFAXを送信します
  2. TwilioでFAXを受信すると、あらかじめ指定されたFunctionsが呼び出されます
  3. Functionsでは受信したFAXの内容(PDFファイルのURL)を受け取ります
  4. FunctionsでPDFファイル内容をメールに添付してSendGridに送信リクエストを発行します
  5. SendGridでは送信リクエストで指定された内容のメールを送信します
  6. メーラで添付ファイル付きのメールを受信します

メーラから送信した内容をFAX機で受信する

つぎに、メーラから送信した内容をFAX機で受信してみます。データの流れは次のとおりです。

メーラから送信した内容をFAX機で受信

  1. 後述するInbound Parse設定したドメイン宛に、メーラからメールを送信します
  2. SendGridでメールを受信します
  3. Inbound Parseで設定したドメインに対応するホストにParse Webhookで通知します。通知先はTwilio Functionsとします
  4. Functionsでメール本文の内容をPDFファイルに変換し、TwilioのSend FAX APIでFAXの送信リクエストを発行します
  5. Twilioでは送信リクエストで指定されたFAX機の番号にFAXを送信します
  6. 宛先FAX機でFAXを受信します

ハンズオン

今回作成した内容を体験できるハンズオンを5月22日に実施しますので、ご興味ある方は是非ご参加ください。実装内容についても詳しく解説します。残席わずかです!