
システム構成
基幹システム
SoR / System of Record
販売、購買、在庫、生産、会計、人事給与など、取引を金額と数量で確定させて記録する業務のシステムです。基幹システムには変化の少ない処理だけを実装し、変化の速い機能は周辺のシステムで開発するほうがよいです。
えーぴーあい / Application Programming Interface
あるシステムの機能やデータを別のシステムが所定の手順で呼び出して利用できるようにした窓口です。CSVの受け渡しで十分な場面も多く、APIは開発後も保守が続きます。

API(Application Programming Interface)は、外部から所定の手順で呼び出せるようにしたシステムの窓口です。広い意味ではソフトウェアの内部で機能同士を呼び出す口もAPIと呼びます。ビジネスの場で話題になるのは多くがインターネット経由で呼び出すAPIで、これをWeb APIと呼びます。
飲食店でたとえると客が厨房に入らず、所定の注文票で料理を注文する仕組みに近いです。注文票の書き方さえ守れば厨房の中がどうなっているかを知らなくても料理が届きます。
経理システムによる銀行の入出金明細の自動取り込み、EC(Electronic Commerce)サイトから配送会社への出荷依頼、自社サイトへの地図の表示などが代表例です。こうした連携の多くはAPIを通じて行われています。
APIがなければシステムの外へデータを取り出す方法は2つしかありません。人が画面を見て転記するか、CSV(Comma-Separated Values)などのファイルに書き出して別のシステムに取り込むかです。画面の表示をプログラムで読み取る方法もありますが、画面の見た目が変更されるたびに動作しなくなります。
銀行と家計簿アプリの連携がよい例です。以前は利用者が銀行のログインIDとパスワードをアプリ事業者に預け、事業者はその情報で銀行の画面にログインして明細を読み取っていました。利用者は認証情報を他社へ渡すことになり、事業者は銀行の画面が変更されるたびに改修が必要でした。2017年に成立し2018年に施行された改正銀行法により、銀行には外部の事業者がAPIを通じて接続できる体制を整える努力義務が課されました。その後はIDとパスワードを預けずに必要なデータだけをAPIで受け渡す方式への移行が進みました。
APIは窓口があるという意味にすぎません。つなぐには項目の対応づけ・認証・エラー時の処理を実装する開発が必要です。
相手の仕様変更や障害で連携は停止します。停止を検知する仕組みを用意し、保守の担当を決めておく必要があります。
利用してもらうには、仕様書・試用環境・問合せ窓口・変更の事前告知まで含めた運用が必要です。公開しただけでは利用されません。
反映が翌日でも支障がなく受け渡しが片方向なら、まずはCSVの受け渡しで十分です。件数が多くてもCSV自体は問題になりません。CSVもファイルの自動転送と夜間の自動取り込みを組み合わせれば人手が不要になるので、手作業かAPIかの二択で考える必要はありません。
APIでつなぐのは数分単位で相手へ反映したい場合と、両方のシステムで同じデータを更新し合う場合です。CSVの書き出し、転記、取り込み結果の確認に目安として週あたり合計3〜5時間を超える人手がかかり、自動取り込みでも解消できない場合も候補になります。取引先とのデータ授受がメールと表計算ファイルで毎日発生している場合もAPIの対象になります。逆に他のシステムとつながずに完結する業務ツールや、月に数回の手作業で済む受け渡しでは、APIの有無を考慮しなくてかまいません。
API連携は開発して終わりではありません。相手側の仕様変更やエラーへの対応が続くため、開発費に加えて保守の担当を決定し、その費用も見込む必要があります。SaaS(Software as a Service)同士を1本つなぐだけでも、個別に開発すると目安として数十万円からかかり、項目の変換や例外処理が多いと数百万円規模になります。会計や販売管理などの基幹システムとつなぐ予定があるSaaSを選ぶときは、APIの有無だけでなく、必要な項目を取得・更新できるかと、呼び出し回数の上限を事前に調査しておきます。
まずCSVの自動取り込みやSaaS同士をノーコードでつなぐ連携サービスで業務の流れを確定させます。そのうえで鮮度や双方向の更新が必要になった段階でAPIへ移行するのが堅実な順序です。最初から全部をAPIでつなぐと、業務が確定する前の仕様変更で作り直しが発生しやすいためです。連携サービスの中に業務ルールや変換処理が蓄積し、変更のたびにそこを修正する必要が生じた場合も、APIで直接やり取りする形へ移行します。
事業の課題や技術的な悩みなどどんなことでもお聞かせください