こんにちは。リナークのニシザワです。

業務の効率化を進めるにあたり、FAXの廃止を検討していたものの取引先の事情などで完全に廃止できない場合やFAXを利用した一部の業務が残ってしまう可能性があることで、業務の効率化が進められないことがあると思います。そのときにインターネットFAX(クラウド型FAX)の活用が効果的です。インターネットFAXの機能を利用することで、パソコンやスマートフォンから簡単にFAX送信が可能になります。また、インターネットFAXと業務システムが連携することができる環境を構築することで、FAX送信に起因するボトルネックを解消できるようになります。

今回の記事では、インターネットFAXの代表格である株式会社エディックワークス様のfaximoSilverのAPIを利用して、FileMakerで構築したシステムとAPI連携でFAXを送信できる開発ステップを紹介いたします。
ぜひ、このガイドを参考にしていただき、あなたのスキルアップに繋がっていただければ幸いです。
※この記事はあくまでも学習を目的としています。
よって、株式会社エディックワークス様のfaximoSilverやClaris FileMakerの仕様変更によって実装できない場合があります。また、faximoSilverのインターフェース仕様書は公開されていないために、主にFileMakerの実装に関係する解説になります。

はじめに

Claris FileMakerとインターネットFAXの組み合わせのメリット

FAXの利用が現状では避けられない状況であっても、FileMakerとインターネットFAXを組み合わせることで、効率的にFAXを利用できる環境を実現できます。日本では受発注などの業務においてFAXが一般的であり、EDIへの完全移行が難しい状況が続いています。しかし、DX(デジタルトランスフォーメーション)の進行に伴い、FAX業務を効率化したいというニーズがあります。

インターネットFAXの利用は、従来のFAXと比較して効率的であり、かつ業務システムと連携することにより、ユーザーに負荷を与えずに機能を提供できます。例えば、受発注業務でFAXを使用せざるを得ない状況であったとします。そこでインターネットFAXとFileMakerを組み合わせることで、FAXの送信や履歴管理を自動化し、業務効率を向上させることができます。また、そのインターネットFAXがAPIを利用できる環境で連携ができる場合、ユーザーは煩雑な操作をせずにFAX機能を利用できるようになります。

FileMakerとインターネットFAXを組み合わせることで、業務効率を向上させることができます。
今回は株式会社エディックワークス様のfaximoSilverで提供されているAPIの利用を想定して、FileMakerで実装する方法を紹介いたします。

faximoSilverとは?

faximoSilverの概要と特徴

faximoSilverは”つなげるだけで、FAX送信システムが構築できるクラウドFAX”であり、システムからのFAX送信に特化したクラウド型のインターネットFAXサービスです。

また、システムとの接続方法は”Web-API(REST/SOAP)やメール(SMTP)”が提供されており、非常に導入しやすい環境を提供されています。(以下、株式会社エディックワークス様のホームページから引用)

システム連携例

また、利用しやすい環境であるにも関わらず”低価格な高品質クラウドFAX”を提供されています。株式会社エディックワークス様のホームページには事例紹介など多数の活用例が紹介されています。

FileMakerとの連携がもたらす利点

FileMakerとの連携により、効率的で自動化されたFAX送信が可能になり、業務の効率化やコスト削減が実現できます。

FileMakerはデータベースソフトウェアであり、様々な業務アプリケーションを構築できます。そして、APIリクエストを利用することで、FAXの送信や管理を自動化し、ユーザーに負担をかけずに機能を提供できます。

例えば、顧客情報や受発注データを一元管理し、faximoSilverのAPI連携を活用してFAX送信を自動化します。これにより、従業員は手動でFAXを送信する必要がなくなり、業務の効率化とコスト削減できる環境が構築されます。

また、電子帳簿保存法にある帳簿書類の電子化では、その保存方法では要件概要があり、検索条件を満たすように対応することは大変な作業になっています。

しかし、FileMakerで電子化を実装し、その保存先をDropboxなどのクラウドストレージと連携することで、FAXの利用からその帳簿類の保存までボタン一つで実現することが可能です。

このようにFileMakerでデータを一元管理し、そのデータの利活用を様々なサービスと連携させることで、人がすべき業務に集中できる環境が構築できることをご理解いただけるのではないでしょうか。

faximoSilverの導入

faximoSilverのお申し込み

株式会社エディックワークス様にお問い合わせいただき、faximoSilverのご利用手続きを行います。また、無料トライアルや資料請求にもご対応いただけます。

また、株式会社エディックワークス様では”よくある質問(FAQ)”をホームページで公開されています。様々な質問を詳しく解説されています。

faximoSilverのインターフェース仕様書

サービスや無料トライアルお申し込みをいただくと、”インターフェース仕様書”を確認することができます。また、お申し込みいただくことで、faximoSilverでAPIを利用できるAPIキーを取得することができます。

faximoSilverのAPIをFileMakerで実装する方法

ここでは、FileMakerでFAX送信したいレイアウトをPDFに出力する方法を紹介します。また、インターネットFAXサービスであるfaximoSilverに渡すJSOボディの生成をご紹介します。

レイアウトおよび対象レコードの検索

出力元のレイアウトを”レイアウトの切り替え”で実施しています。
また、ここでは「$id_発注明細」として固定値を代入していますが、実際にはレコードを特定できるユニークキーを渡してください。

PDFの出力先

「$exportPath」の関数で出力先であるデスクトップパスを指定します。
また、「$fileName」の変数で、発注番号 + .pdf(拡張子)を指定し、ファイル名を作成します。

そして「GetFilePathPrefix」というカスタム関数を利用しています。そのカスタム関数は下記を記述しています。

Case(
  Get ( システムプラットフォーム ) = 1 ; "filemac:" ;
  Get ( システムプラットフォーム ) = -2 ; "filewin:" ;
  Get ( システムプラットフォーム ) = 3 ; "file:" ;        
  // default
  ""
)

「Claris Pro および FileMaker Pro ヘルプ」の「ファイルパスの作成」に記載があるパスの接続語をGet( システムプラットフォーム )で取得したプラットフォーム別にCase関数を用いて判断しています。

出力するファイルの有無および削除

出力するファイル($exportPath)が存在した場合($isExists = True)に、該当するファイルを削除します。

PDFファイルの出力

出力先を「$exportPath」で指定し、”レコードをPDFとして保存”スクリプトを実行します。

出力ファイルを変数($UPLOAD_DATA)に格納

Base64でエンコードする必要があるために、出力したファイル($exportPath)を変数($UPLOAD_DATA)に格納して、エンコードができるようにします。

エンコードの実施

$UPLOAD_DATAの変数に格納したPDFファイルをBase64EncoderRFC関数を利用して、$base64Encode_dataの変数に格納します。これでバイナリデータをAPIで利用する準備が整いました。

すべての処理が完了

すべての処理が完了したときに、変数をNullにして出力したファイル($exportPath)を削除します。

例えば、別の出力先やその他にこのファイルを活用する場合は、このスクリプトの前に処理を追加します。

スクリプトの全体像

今回のスクリプトでは、PDFに出力したデータおよびレイアウトを指定し、そのデータをPDFとして出力しました。そして、PDFのバイナリデータをBase64でエンコードして、APIリクエストをする準備が整いました。

FileMakerで作るAPIリクエストの作成方法

$base64Encode_dataに格納したデータを「$jsonBody」の変数に格納します。
※JSONボディに格納するデータ指定は、インターフェース仕様書に記載されています。

FileMakerからAPI(REST)リクエストを実施するときに、cURLオプションを指定します。これはスクリプトにある”URLから挿入”の”cURLオプションの指定”で設定をします。

このオプションでは、faximoSilverのインターフェース仕様書に記載されている指定の値をセットします。

-X POST
--header "Content-Type:application/json"
--header "X-Auth:指定の値"
--header "X-Processkey:任意の値"
--data @$jsonBody

躓きやすいポイントとその対処法

faximoSilverのインターフェース仕様書に記載があるJSONボディを利用して、リクエストを送信します。しかし、JSONボディ等が正しくない場合はエラーが返ってきます。返ってきたエラーからJSONボディのフォーマットを正しくすることが難しい場合、まずはJSONボディのフォーマットを必要最低限にしてリクエストをトライします。そこから必要なフォーマットに変更・修正をしていくと実装しやすいです。

応用編:FAX送信の管理と分析

ここでは、FileMakerでのFAX送信履歴の管理方法を紹介します。APIを叩くことでリクエストの送信結果が返ってきます。その結果(データ)を利活用することで、ユーザービリティや送信結果管理などを簡略化することが可能です。

faximoSilverのAPIをリクエストすると送信結果が返ってきます。
その結果情報を格納するために送信ステータス、送信結果(成功/失敗)、エラーメッセージなどのフィールドを持つ送信履歴テーブルを作成します。

そして、FAX送信を行うスクリプトによって取得されたAPIの結果を、送信履歴テーブルの各フィールドに格納するよう設定します。APIから返される送信結果をJSON形式で解析し、送信ステータスやエラーメッセージなどの情報を抽出して記録します。

その後、FAX送信履歴を一覧表示するレイアウトと送信履歴の詳細情報を表示・編集するためのレイアウトを作成します。一覧表示レイアウトでは、送信履歴テーブルの各フィールドを表示するためのフィールドオブジェクトを配置します。詳細表示・編集レイアウトでは、送信履歴テーブルの各フィールドを編集可能な状態で表示するフィールドオブジェクトを配置し、再送信や削除などの機能を実装するためのボタンやスクリプトを設定します。

さらに、送信履歴を検索、ソート、フィルタリングできる機能を実装することで、ユーザーが特定の送信履歴を簡単に見つけることができます。

また、チャットのようなメッセージ機能をFileMakerに実装することで、簡易的ではありますがプッシュ通知型のお知らせを通知する機能で、送信の結果をユーザーに通知することも可能です。

このようにして、FileMakerを利用してFAX送信履歴の管理、もしくは効率的に表示することができます。これにより、送信履歴の追跡や確認が容易になり、ユーザーにとって使いやすい環境が整います。

まとめ

今回の記事では、FileMakerを活用してインターネットFAXを効果的に利用する方法を解説しました。FAX送信の自動化や送信履歴の管理が簡単に実現できるため、従来のFAX機に頼らない柔軟なビジネス環境を構築することが可能です。また、FileMakerとfaximoSilverを組み合わせることで、送信先の電話番号や送信ステータスなどの送信履歴を効率的に管理・検索することができます。

さらに、FileMakerでインターネットFAXを利用できる領域を広げたり、他のクラウドサービスやプロダクトとの連携が増えることにより、ワークフローの最適化やリアルタイムな情報共有が実現されるでしょう。これにより、従来のFAX業務プロセスから離れ、よりデジタル化された環境へと移行していきます。

FileMakerとインターネットFAXの連携は今後も進化し続け、企業の業務プロセスの改善と効率化に寄与すると期待されます。このガイドを参考に、効率的なFAX送信システムを構築し、ビジネスプロセスをスムーズに進めていきましょう。


この記事にご興味を持たれた方は、こちらの記事もおすすめです。