(途中)TwilioでFAX送信 2020年6月時点
追記
2020年7月・・・その後の実装・動作確認を経て不採用としました。ご参考までに。
TwilioのFAX送信機能の評価結果=不可 - Qiita
2020年12月・・・Twilio社から2021年12月でFAX API機能の提供打ち切りというアナウンスがありました。採用していたら開発投資が無駄になるところでした…。良かった。
関連URL
料金(FAX送信)
公式サイトには記載されていないので問い合わせが必要です。
以下は2019年11月(消費税造成後)に問い合わせた時の回答です。
更新されている可能性があるので各自お問い合わせください。
050番号であればFAX送受信ともに約7円/枚
です。これは現状では国内最安だと思います。
初期費用
無料
電話番号の維持費用
050番号維持費用 110円/月
0120/0800番号維持費用 1,650円/月
FAX送信費用
送信料 1.52778円/ページ ※毎月100枚まで無料
通信料 5.5円/分
FAX受信費用
受信料 1.52778円/ページ
通信料 0.61円/分(050の場合)
通信料 22円/分(0210/0800の場合)
※毎月送受信合計100枚までは送信料/受信料が無料です。(通信料は必要)
TwilioのFAX送信の特徴
- 安い。7円/枚は国内最安。
- 維持費110円が必要だが実質無料。(枚数100枚まで送信料金
約1.52円
は無料なので72枚送信すれば元をとれる)
- プログラマブル(RestAPIに対応)で送信できる
- PDFファイルのみ送信できる
- メール送信するだけでFAX送信に変換してくれる他サービス(例えば秒速FAX送信)に比べると面倒ではある。
- API実装したくない場合は「秒速FAX送信」がおすすめ。維持費ゼロで。10円/枚
- PDFファイルの格納先は自前で用意する必要がある
- PDFファイルは、Twilioサーバからアクセス可能なURLを持つ必要がある
- 支払いはクレジットカード登録が必要
実装
実装上の考慮事項
- PDFファイルアクセス時にBasic認証を必要とするか
- 送信内容に個人情報が含まれるので「機密度」は高い
- したがって必要
- 特定のパスに対してだけ設定する
- Twilio側にデータを残すかどうか?
- デフォルトでは180日保管される
- 保管要否はリクエスト時に
StoreMedia
パラメタで指定できる。False
指定すれば保管させない。既定はTrue
- 保管期間指定は不可?
- PDFファイルの保管と削除
- 保管期間
- ファイル削除のバッチ実装
- PDFファイルの格納先
- Webアプリケーションサーバのローカルか?S3か?
- Webアプリケーションサーバローカルの場合
- PDFファイルがディスク消費するので定期的に削除する処理が必要
- 実装は容易。すでにある実装にパスを追加するだけ。
- S3にPDFアップロードしてそれをトリガとしてLambda関数から実行という仕組みだと
- メリット
- データ失われない
- データ保持期間をS3機能で指定できる? ※バッチ削除処理の実装不要
- Webアプリケーションサーバの負荷が低い(S3にアップロードするだけ)
- デメリット
- TwilioからPDFが参照されるので「データ転送料金」が発生する。
- Lambda関数
- PDFにベーシック認証かける実装がやや面倒(CloudFront+S3で実現可能)
- この場合、PDFファイルアップロードで
設計
- サブドメインを追加する.
- 例えば
twilio_faxdata.sample.com
- ディレクトリ
/var/www/html/fax-data/
に割り当てる
- 当該サブドメインにベーシック認証を設定する。
- https設定にする
- PDFファイルを当該ディレクトリに出力する
-
サブドメイン+pdfファイル名
をTwilioに渡す
-
https://fax_data.samapl.com/<予約番号>_<通知種別>.pdf
- 定期的に削除する。
- 保管期間はサイト設定で指定できるように。デフォルト7日
開発言語
- java
- 既存アプリケーションに組み込む
設定
Apache設定
httpd.conf
<VirtualHost *:443>
ServerName faxdata.sample.com
DocumentRoot /var/www/html/faxdata
<Location /var/www/html/faxdata>
AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Location>
SSL設定とか
</VirtualHost>
- 維持費110円が必要だが実質無料。(枚数100枚まで送信料金
約1.52円
は無料なので72枚送信すれば元をとれる)
- メール送信するだけでFAX送信に変換してくれる他サービス(例えば秒速FAX送信)に比べると面倒ではある。
- API実装したくない場合は「秒速FAX送信」がおすすめ。維持費ゼロで。10円/枚
実装上の考慮事項
- PDFファイルアクセス時にBasic認証を必要とするか
- 送信内容に個人情報が含まれるので「機密度」は高い
- したがって必要
- 特定のパスに対してだけ設定する
- Twilio側にデータを残すかどうか?
- デフォルトでは180日保管される
- 保管要否はリクエスト時に
StoreMedia
パラメタで指定できる。False
指定すれば保管させない。既定はTrue
- 保管期間指定は不可?
- PDFファイルの保管と削除
- 保管期間
- ファイル削除のバッチ実装
- PDFファイルの格納先
- Webアプリケーションサーバのローカルか?S3か?
- Webアプリケーションサーバローカルの場合
- PDFファイルがディスク消費するので定期的に削除する処理が必要
- 実装は容易。すでにある実装にパスを追加するだけ。
- Webアプリケーションサーバローカルの場合
- S3にPDFアップロードしてそれをトリガとしてLambda関数から実行という仕組みだと
- メリット
- データ失われない
- データ保持期間をS3機能で指定できる? ※バッチ削除処理の実装不要
- Webアプリケーションサーバの負荷が低い(S3にアップロードするだけ)
- デメリット
- TwilioからPDFが参照されるので「データ転送料金」が発生する。
- Lambda関数
- PDFにベーシック認証かける実装がやや面倒(CloudFront+S3で実現可能)
- この場合、PDFファイルアップロードで
- メリット
- Webアプリケーションサーバのローカルか?S3か?
設計
- サブドメインを追加する.
- 例えば
twilio_faxdata.sample.com
- ディレクトリ
/var/www/html/fax-data/
に割り当てる - 当該サブドメインにベーシック認証を設定する。
- https設定にする
- 例えば
- PDFファイルを当該ディレクトリに出力する
-
サブドメイン+pdfファイル名
をTwilioに渡す- https://fax_data.samapl.com/<予約番号>_<通知種別>.pdf
- 定期的に削除する。
- 保管期間はサイト設定で指定できるように。デフォルト7日
開発言語
- java
- 既存アプリケーションに組み込む
設定
Apache設定
<VirtualHost *:443>
ServerName faxdata.sample.com
DocumentRoot /var/www/html/faxdata
<Location /var/www/html/faxdata>
AuthType Basic
AuthName "Basic Auth"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Location>
SSL設定とか
</VirtualHost>
Author And Source
この問題について((途中)TwilioでFAX送信 2020年6月時点), 我々は、より多くの情報をここで見つけました https://qiita.com/s-katsumata/items/ed1873a9ce2201ab6552著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .