一日で設計開発するコツ~自動返信FAXサービス開発の仕組み

最近は、開発よりも企画が多く、殆ど自社開発すら手をつけていませんでした。

連日朝晩が激しく、パソコンの前に座っていてもメールとエクセルばかりです。

fax_ex

 

先日、NTTの工事の折、作業員が会社FAX番号へテスト送信する光景を目の当たりにしました。

もちろん、通話コストにすれば約10円ですから、実に微々たるものです。

しかし、作業員の業務遂行の為に、わずか10円とはいえ、通話料を払うと言う行為はどこか違和感を感じます。

だからと言って、私がそれを制止する事も出来ません。

作業員に対し、なんか方法はないか?と質すと、元請けやNTTへ相談してください。

という何ともつれない返事。

 

まぁ、作業遂行の観点で見れば、如何せん不満は残る訳です。

このあたりを技術的に何とかなるだろうと思うのが私の良いところ。

早速、制度設計を組み立て条件をそろえてみました。

 

ファクステストを無料で且つ、正確に遂行する仕組み

  • 1 ファクス番号を0120にする
  • 2 ファクス受信をメールで自動確認
  • 3 メールを自動で受信
  • 4 インターネットでファクス送信

とこの条件を満たせると作れる訳です。

、要求事項を見るとなんだか簡単そうですが、これに細かい制度設計を組み立てると

  • 1 ファクス番号に使うフリーダイヤル・・・・専用に取得する必要ありそうだ
  • 2 メールアドレスも専用に必要
  • 3 メールを自動で受信・・・・とりあえずレンタルサーバーを借りるか。
  • 4 ファクス送信・・・・どうやってやるんだ?

 

実はそうなんです、思ったよりコストがかかる事がわかりました。

1のファクス番号は、厳密には2つ必要です。

フリーダイヤル+FAX専用番号が必要となり、私の場合はフリーダイヤルをいくつかプールしていた為、フリーダイヤルの件はさておき、問題はFAX専用番号。

このメールでファクスを確認するには、ファクス機を使うか、あるいはファクスASPを利用するか選択肢は結構限られます。

候補として考えたのが

NTT西日本 FAXお知らせメール
でした。月額200円(専用FAX番号+オプション利用料)で利用出来る事から、かなりお手軽です。

今回は、このサービスを利用せず、eFAXというクラウドFAXサービスを利用することにしました。

月額1500円で利用出来るサービスで、即日で利用出来る点も便利です。
受信FAXはメールはPDFで確認が出来る点もかなり大きいです。

 

NTTコムのBizFAXストレージ&リモートも検討しましたが、こちらは050番号専用のため、必然として今回の条件から外れました。
(フリーダイヤルを利用しない場合なら050ファクスも当然視野に入るでしょう)
BizFAXがフリーダイヤルの着信先に設定可能な場合、こちらも有力候補になります。
※NTTコムに対応の可否について確認する必要はありますが

NTT西日本の場合は、あくまでも着信通知がメインで、受信内容を確認するにはさらに細工が必要な上、セキュリティ上やっかいな問題もあるため、コールバック専用で使うならokでしょう。
※NTT西日本版は、専用番号取得した後改めて開発予定

 

これで、着信の受け皿は出来ました。

次に、メールの問題です。

どうやってメールが届いた事を確認するか?

 

これには、レンタルサーバーにある「cron(自動実行)」機能を使う事で実現。

サーバーの負荷の問題もある為、ハラハラしながら実施。

メールの受信タイミングを毎分にする事で、受信のタイミングが多少ずれても到着から3分以内にメールを処理が可能。

メール解析のスクリプトは、プログラム用例集にあるのでそのソースを参考に必要なところを作り込む。

このあたりは、パッケージング化されているケースが多く、今回は細かい仕様に対応すべく、すべて手作業。

実はファクス番号を読み込む作業が一番面倒だったりした。cronの設定で難航しつつ、ようやく設定にめどが立つ。

 

最後の仕上げに、インターネットからどうやってFAX送信するか?

 

インターネットからFAXを配信するサービスは結構多いが、その殆どが専用サイトからアクセスしてそこで原稿を作り、送信。と言う内容。

FAX受信が出来る会社は結構あるが、送信に関しては結構面倒だったりします。

きっと内部処理が煩雑なのかもしれないが、かなり面倒で結局断念しました。

さて、そんな中、目をつけたのがNTTコムのBizFAXスマートキャストと言うサービス

お財布にやさしい、月額基本料が無料の良心的?なサービス。

利用の都度発生する為、使わない時は無料です。わたしはOCN等の利用料金と合算して請求しています。

 

そんな訳で、手元にあるサービスを組み合わせてガツガツ作ったのが、これ

2015-01-18 19.09.59

 

そんな訳で、構想30分、制作5時間程度で完成。

 

既存のプログラムエンジンの流用ですから、わたしはそのパーツを組み立てただけと言う何ともシンプルなもの。

ファクスを流して、ファクスを送り返すという訳ですからあたかも、番号にそんな機能が付いているのでは?と思わんばかりです。

今回の試験送信では、0120番号ではなく、一般回線番号ですが、0120番号の登録申請が完了次第、切り替えの見通しです。

こうやって色々やってみるのも一つです。

 

結果がどうであれ、まずはやってみる。

これは、枯れた技術の水平思考の理論であり、私の好きな言葉です。

iPhoneも決して最新技術の塊とは言えず、これまでの既存技術に少し工夫を加えた事で有名です。

この私が開発したサービスも、大企業であれば当然あるものと認識していただけに少し意外でした。

 

まだまだ努力は足りませんが、毎日何か開発する一日一開発に今年もチャレンジしたい今日この頃です。