Twilio 試用のその2になります。
Twilio 試した(1/3):電話(音声通話)機能を使ってみました - プログラマーのメモ書き
Twilio 試した(2/3):FAX 送信を試しました - プログラマーのメモ書き
Twilio 試した(3/3):FAX 受信と通知を試しました - プログラマーのメモ書き
さて、次は FAX の送信を試してみたいと思います。
と、そのまえに、FAX API を使ったデモが公開されているので、こちらを見てみると FAX のイメージがつかめるかもしれません。
FAX 送信
最初に電話番号を購入する際、必要な機能を指定することができました。日本国内用の多くの電話番号は、通話とFAXが使えます。
前の記事で書いたように Twilio の電話番号の設定は着信時にどうするか?という形で書くので、FAX送信の場合は特に設定は必要ありません。 実際、着信時は音声を処理するようにしていても、FAXを送信することができます。
で、FAXの送信ですが、簡単に試すには REST API を curl でたたけばOKです。
では、実際にやってみたいと思います。 まずは準備として送信するFAX(pdf)を準備します。
pdf の準備
今のところ Twilio 側には送信するFAX(pdfファイル)をアップロードする機能はなく、API のパラメータとして、PDFファイルのURLを指定するようです。
なので、まずはpdfファイルをアップロードします。 テストの段階では、別に誰が見てもいいのですが、一応FAXの文面が公開されるのはいろいろとまずいだろうと思います。 ということで、アップロード先は簡単でいいので認証が必要かなと思います。
さて、どこにアップロードするのがいいかな?と考えたのですが、今手持ちの環境で簡単にアップロード先として使えそうなのが、さくらインターネットのレンタルサーバーでした。 このレンサバ、いまのところメールサーバーとしてしか使ってなくて、空いてるのでテストには最適かと思います。
さくらインターネットだと、Basic認証の設定も簡単にできるそうです。
ということで、適当なディレクトリを切って、Basic認証の設定をしておきます。
あとは送信するpdfをアップロードしておけば、準備完了です。
送信
pdfの準備ができたら、下記のように呼び出します。
mor@DESKTOP-H6IEJF9:~$ curl -X POST https://fax.twilio.com/v1/Faxes --data-urlencode "From=+81送信元電話番号(Twilioのトライアル用電話番号)" --data-urlencode "To=+81送信先電話番号" --data-urlencode "MediaUrl=https://ユーザー名:パスワード@xxxxxxxx.sakura.ne.jp/xxxxx/test01.pdf" -u AccountSID:AuthToken
この時、Account Sid と AuthToken が必要になります。これらは
コンソールのダッシュボードに記載されています。
実際に試してみると、curlのレスポンスはすぐに返ってきますが、
{ "media_sid":null ,"status":"queued" ,"direction":"outbound" ,"from":"+815送信元電話番号(Twilioのトライアル用電話番号)" ,"date_updated":"2018-11-09T02:06:06Z" ,"price":null ,"account_sid":"アカウントSID" ,"to":"+81送信先電話番号" ,"date_created":"2018-11-09T02:06:06Z" ,"url":"https://fax.twilio.com/v1/Faxes/・・・" ,"sid":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ,"duration":null ,"num_pages":null ,"quality":"fine" ,"price_unit":null ,"api_version":"v1" ,"media_url":null ,"links":{ "media":"https://fax.twilio.com/v1/Faxes/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Media" } }
といった感じで、status が queued になっています。
しばらく待つと、この作業PCの後ろにある電話機(FAX機能付き)が動き出しました。無事に送れたようです。
とりあえずは試用としてはこれでOKですね。 実際に使うときは送信状態のステータス確認や、送信失敗時の通知などもやりたいところです。
補足
今回は さくらインターネットのレンサバを使い、pdfファイルのアップロード先を作りました。
とのとき、Basic認証のパスワードに記号をあれこれいれて作ったら、Twilio側からうまくアクセスできないことがありました。 これもおいおい確認したいところです。
とはいえ、とりあえずFAXの送信もできました。最後はFAX受信と通知を試そうと思います。