データ連携の方法は様々あり、CSVを用いた連携も一般的です。そのなかでも今回はWeb APIを利用したデータ連携について、その利便性と課題について考えます。
はじめに
他システムとデータ連携を行う方法はCSVを用いた連携など様々ありますが、Web APIを利用したデータ連携の利便性、有効性が認識されつつあります。
Plaza-i と他システムのデータ連携を行う場合、外部データ取込や外部データ転送機能が主に利用されてきましたが、Plaza-i のマスターや伝票のデータを取得、保存、削除するための Web API が最近のバージョンでは充実してきました。
Web API を利用したデータ連携が広まるための課題とそれを乗り越えるために必要なこと、さらにPlaza-iのWeb APIの概要をご紹介します。
Web APIとは
Web APIとは、IT用語辞典 の項目には「HTTPなどのWeb技術を応用して、あるコンピュータで動作しているソフトウェアの機能を、ネットワークを通じて他のコンピュータから利用できるようにする仕組み」との記載があります。
APIの説明も同項目内にあり、「コンピュータプログラムが提供する機能を他のプログラムから呼び出して利用するための規約で、処理要求や応答のデータ形式、双方のやり取りの手順などで定義される。」とあります。Web API とはこのAPIの仕組みをWeb上で動作するようにしたもの、と言うことができます。
外部のシステムがWebを介して、データベースの中にある情報(得意先マスター、受注伝票等)に対して、データを取得する、データを新規登録する等の操作を行えるようにするための窓口の役割を果たします。
なおWeb APIにはRESTとSOAPという2つの形式があり、REST形式がより一般的です。
Web APIの特徴
他の連携と比較したWeb APIの特徴は、まずファイルを介さないということです。
CSVファイルでもテキストファイルでも、データ連携はまず連携先のシステムからデータを何らかのファイルで出力し、そのファイルを連携先のシステムに取り込むという形が多いですが、Web APIを用いた連携では、例えばREST API の場合、データは HTTP リクエストのBody に記載します。そのため、連携するデータが格納されているファイルは基本的には存在しません。
また外部データ取込、転送と比較したときのAPIによるデータ連携の一番の利点は即時性です。連携元のシステムデータに何かしらの変更があった際、即時に外部Web APIを実行する機能を有している場合には、連携先のシステムでも即時にデータの変更が反映されるようになります。
この即時性はWeb APIの一つの大きな武器です。また、GoogleやAmazon、楽天など、自社システムのWeb API のリファレンスを外部公開している企業も多くなってきています。これらを利用すれば、理論的にはシステム連携を内製することができます。
CSV等を利用したデータ連携では夜間バッチ処理を利用して日次で連携するため、前日時点のデータが最新のデータとなります。一方でWeb API はいつでも実行可能で、結果が即座に反映される点が魅力です。ただし、データ処理のスピード、コスト面では従来のCSV等を利用したデータ連携の方が優れています。
越えるべきハードル
システム連携の内製化をするためには以下のようなハードルがあります。
- Web アプリケーション、Web API に関する基礎知識が必要である
- 外部公開されている API と連携したい API のデータフォーマットの違いは自分で吸収する必要がある
- 違いを吸収し、連携を実行するための自作のプログラムやローコード・ノーコードツールの導入が必要 である
上記 1~3 を総合すると、自社でプログラミングができる、または最低でも連携に必要なアルゴリズムを構築できる能力のある人材を確保する必要がある、ということになります。
このような能力が必要となる最大の原因が2.のデータフォーマットの違いですが、これはより連携を簡易に行えるようなサービスが存在し、それを利用すればコードを書かず、アルゴリズムを構築する(フローチャートを作成する)ことでシステム連携が可能になります。
ただ、それでもやはりアルゴリズムを構築できる必要性があることには変わりありません。この能力はプログラミングを実際に行うことで身につけられるのではないでしょうか。
Plaza-i Web API
Plaza-i Web API は得意先マスターや受注伝票等、Plaza-iに登録されているリソース毎に、「データを取得する」「データを更新する」などの実行可能な操作が定義されています。
Plaza-i 内のデータを取得する(GET API)
他システムから Plaza-i 内のデータを取得する際に利用します。それぞれのリソースに対して、主キーを指定してデータを1件取得するAPI、範囲指定条件を組み合わせて条件に合致するレコードを一覧で取得するAPIが用意されています。得意先、仕入先、商品など主要なマスターにはAPIが用意されています。
Plaza-i にデータを登録する(POST API)
他システムから Plaza-i にデータを新規登録する際に利用します。伝票を新規保存する際は外部データ取込と同様にマスター等からデフォルト値を自動セットする機能があるため、必要最低限の項目を指定すれば登録できるようになっています。例えば受注伝票であれば受注日、受注タイプ、得意先、商品コード、数量等があればその他の項目はシステムが自動セットすることで伝票を新規登録できます。また、不正な値のチェックについても外部データ取込と同様に行うため、不整合データがPlaza-iに登録される心配もありません。受注、売上、発注、仕入、仕訳、債務等の主要な伝票に加え、前項で挙げたマスター類も保存に対応しています。
Plaza-i のデータを削除する DELETE API
他システムから Plaza-i 内のデータを削除する際に利用します。もちろん、承認済みの伝票やすでに利用されているマスターデータが削除されてしまうことはありません。削除についても主要な伝票、マスターには対応しています。
おわりに
Web APIはデータ連携の手法として外部データ取込・転送にあらゆる面で上回るという訳ではありませんが、即時性や他システムとの連携のしやすさで、部分的にでも導入ができるかもしれません。
またここ数年リスキリングの必要性が叫ばれて久しく、その中にプログラミング能力も含まれています。システム連携の内製化を考える際には、アルゴリズム構築のトレーニングとして、プログラミングに挑戦するのも良いかもしれません。