APIという言葉はエンジニア向けの説明が多く、業務担当者にはわかりにくいことがあります。
本記事では「APIとは何か」を非エンジニア向けに平易に説明し、請求書業務でどう使えるか、導入時に何を確認すべきかを紹介します。
APIとは何か
まず端的に言うと、APIは「システム同士がデータをやり取りするための入出力の口」です。人が使う画面は「人間用の入出力の口」ですが、APIは「システム用の入出力の口」です。
APIを通じて、あるシステムが持つ請求書データや顧客情報、入金情報などを取得したり、新しい請求書を登録したりすることができます。見た目や機能仕様を変えるための仕組みではなく、データの送受信を行うための仕組みと考えてください。
画面は人間が使う入出力の口
画面は、人間が操作する前提で、読みやすさや操作のしやすさを重視して設計されています。入力ミスを減らすためのガイドやエラーメッセージが表示され、直感的に操作できます。
サービス側から用意されるものですので、基本的に利用者は画面に沿って操作することになります。
APIはプログラムが使う入出力の口
APIはシステムが読める形式(主にJSON)でデータをやり取りします。人がそのまま読み書きするものではないので、通常はシステムやスクリプトがAPIを利用して自動処理を行います。
「カスタマイズできる仕組み」ではなく「データの入出力の口」
「APIを使うとカスタマイズできますか」というお問い合わせをいただくことがありますが、APIは既存機能のカスタマイズを実現できる仕組みではありません。あくまで決まったルール(仕様)で「データの入出力」を行うためのものです。
そのため、存在しない機能を追加したり、既存機能の仕様をカスタマイズするといったことはできません。一方で「請求データを自動で作る」「入金情報を自動で取り込む」といった自動化はAPIの得意分野です。
後述の「利用シーン」を参考にしていただくとイメージしやすいかと思います。
請求書業務でのAPI利用シーン
別サービスと自動連携する
社内で複数のサービスを利用していてそれぞれがAPIを提供している場合、APIを使って自動連携することで、手動でのデータ入力や転記ミスを防げます。
たとえば、CRMと請求書発行サービス、請求書発行サービスと会計ソフトなどの連携が考えられます。
社内システムから請求書を自動作成する
社内の業務システムなどからAPIで請求データを送って、請求書の作成を自動化します。請求の元データが別システムあるような場合はAPIで連携することで、二重入力や転記ミスを防げます。
データを取得してBIツールに取り込む
売上や入金の履歴を定期的にAPIで取得し、BIツールやデータウェアハウスに取り込むことで、高度な分析や可視化が可能になります。サービスが提供する分析機能では足りない場合などにおいてとくに有効です。
BIツールと連携している事例:経営指標をboardに集約。データを統合して社内の予実管理と連動、低コストの販売管理を実現
「別サービスとの連携機能」がある場合の利点
これまでの話は、「汎用的なAPI」を使う場合の話でしたが、請求書発行サービスによっては「特定の別サービスと連携するためのAPI連携機能」を提供していることがあります。
サービスが提供しているAPI連携機能の場合は以下のようなメリットがあります。
- 設定だけで連携が完了する
- 開発コストがかからず、サービスの1機能として利用できる
- サービス仕様に最適化されたかたちで実装が実現されている
これにより、ITリソースが限られる中小企業でも短期間で自動化の恩恵を受けられます。
boardでは、freee会計(会計)、HubSpot(SFA・CRM)、クラウドサイン・DocuSign(電子契約)、Google ドライブ・Box・Dropbox(ストレージ)、Slack・Chatwork(チャット)などとのAPI連携機能を提供しています。
汎用のAPIを利用する(開発が必要になるケース)
汎用APIは柔軟性がありますが、その分「API仕様に沿ったプログラム」を自社で作るか外部に依頼する必要があります。一般的な流れは以下の通りです。
- 目的の整理(何を自動化したいか)
- API仕様書の確認(使えるエンドポイント、認証、レート制限など)
- テスト環境での動作確認
- 本番での運用準備
- 運用開始後の保守
開発の代替として、ノーコード連携サービスを使うことで、開発工数を抑える方法もあります。ただしデータ量や頻度、セキュリティ要件によって適切な手段は変わります。
APIを利用する場合に確認すべきポイント
- まずは利用しているサービスに連携関連の設定がないか確認してください。あれば設定だけで済む可能性があります。
- API連携機能がない場合、実現したい要件を整理しましょう。
- APIドキュメントを確認し、目的の操作がAPIで可能かを確認します。通常、APIドキュメントは開発者向けに書かれていますので、社内のエンジニアまたは開発会社に相談してください。
導入後の運用で気をつけること
APIを使った仕組みを開発した場合、開発して終わりではありません。システムは開発よりも運用の方が大変です。以下のポイントに注意して運用しましょう。
ログとアラート
エラーなどの異常系に対する通知を用意しておくと、問題を早期に検知できます。
「連携されていると思っていたが実はされていなかった」という事態を防ぐため、エラーのアラートを飛ばし気づける仕組みが必要です。
権限管理
APIキーやアカウントに対して不要な権限が付与されていないか定期的に確認しましょう。
APIはAPIキーを使ってデータを読み書きしますので、APIキーはパスワードの管理と同様に慎重に扱う必要があります。また、サービスによってはAPIキーごとに利用可能な操作を制限できるようになっていますので、「最少の権限の原則」に基づき、必要最低限の権限に設定しましょう。
仕様変更などのお知らせの確認
APIの仕様変更やメンテナンス情報は、サービス提供者からのお知らせや公式ドキュメントで確認できます。定期的にチェックし、影響を受ける可能性のある連携部分については事前に対応策を検討しておきましょう。
よくある質問(FAQ)
Q. APIを使うと画面をカスタマイズできますか?
いいえ。APIは画面の見た目や機能を直接変える仕組みではなく、システム間でデータをやり取りするための「入出力の口」です。あくまで画面や機能の仕様はサービスから提供されているままです。
Q. APIが公開されていないサービス・システムとAPI連携する方法はありますか?
APIが提供されていない場合はAPIでの連携はできません。提供元に要望を出しましょう。
Q. APIはRPAとは違うのですか?
はい、APIとRPAは別の仕組みです。RPAが画面を直接操作する「画面操作の自動化」のための仕組みです。APIはシステムから利用することを目的としたシステム専用の仕組みです。
一般的に、APIは仕様が公開されており、仕様変更になるような場合は事前告知や変更対応のための猶予期間があります。一方、画面は人間のためのものであり操作性の改善のため画面が変更になることはよくあります。ただRPAが画面操作を記録して自動操作するものですので、画面が変更になると機能しなくなることがあります。
このような違いがあることから、システム間の安定した連携のためにはAPIを使う方が適切です。