外部システムやアプリケーション同士の連携を実現することができるAPI連携。自社が提供するサービスの範囲を超えてユーザーに機能が提供できることや、情報連携によって、運用コストや開発コストが削減できる可能性があることから、さまざまなシーンで活用されています。特にSaaSサービスやクラウドサービスを提供する上では、活用の範囲が広い機能です。今回はAPI連携に関する基礎知識とメリット・デメリット、活用事例をご紹介します。
1. API連携の基礎知識
「API連携」とはどのような仕組みで成り立っているのでしょうか。API連携の定義と基本の仕組みから見ていきましょう。
〈1〉そもそもAPIとは
APIとは、「Application Programming Interface」の略で、ソフトウェアが互いに情報を共有するためのインターフェース(接点)のことです。API連携を行うことで、システムやアプリケーションを連携させることができるため、単体のアプリケーションが持つ機能だけでなく、連携先のアプリケーションの機能を利用することができるようになります。
中でもAPIがWeb上に公開されていて、ネットワーク上で即座に連携できるものを「Web API」と呼びます。Web APIは、双方の情報のやり取りをHTTP/HTTPSベースで行うため、異なるプログラミング言語で開発されたシステムやアプリケーションでも連携させることが可能です。そのため多くのシーンで利用されているのがWeb APIです。
〈2〉API連携に必要なもの
API連携には「APIキー(アクセスキー)」と「APIシークレットキー」が必要になります。
APIキーはログインの際のID、APIシークレットキーはパスワードのようものです。これらをAPIの提供企業から取得し、利用することで、データの書き換えや情報の読み取りが可能になります。そのため、APIキーとAPIシークレットキーは関係者以外に知られることがないようにする必要があります。また、他のサービスと同じキーを使わないことや、細かい権限設定を行うなどの工夫を行いながら、厳重に管理してください。
2. API連携の主な事例
API連携は私達が利用するサービスやシステムに多く利用されています。ではどのようなところで利用されているのでしょうか。具体的な事例を見ていきましょう。
〈1〉SNS
Webサービスを利用する場合に、SNSのアカウント情報を利用してログインが可能になる
例えば、さまざまなWebサイトのログイン時に、FacebookアカウントやLINEアカウントを利用してログインや会員登録できる機能を目にしたこともあるのではないでしょうか。これはAPI連携によってSNSアカウントの情報を利用している事例です。
SNSで特定のハッシュタグの入った投稿記事だけ表示する
例えばInstagramで特定のハッシュタグがついた投稿だけを別のWebサイトに表示させることなどができます。ただし、SNSは個人情報を扱うため、各SNSでポリシーが定められており、利用できる範囲は制限されています。利用する際は最新情報を確認して利用しましょう。
あるSNSの投稿を、同時に別のSNSにも投稿できる
例えば、Instagramで投稿する内容を、同時にFacebookに投稿できる機能などです。Instagramで投稿する際に、「Facebookにも投稿」にチェックを入れて投稿すると、自動でFacebookにも投稿されますが、これにはAPI連携が利用されています。
〈2〉ECサイト
複数のECサイトに商品情報を掲載する
複数のECサイトに商品情報を掲載したい場合、自社ECサイトの商品情報をAPIを経由して、大手モールなど複数のECサイトに掲載することができます。API連携を利用することで、在庫の管理や商品画像、価格などを共通化することができ、在庫数や売り切れ情報などをどのECサイトにも、同じ情報で掲載することができます。また、最新情報の更新も自動的に行うことができるため、更新作業の手間を省くことができます。
〈3〉ポータルサイト
大手ポータルサイトの情報を利用できる
ニュースや天気予報、オークション情報など、大手ポータルサイトの情報を利用して、自前のアプリに表示させることができます。例えば、Yahoo!の天気予報の情報を利用して、天気予報アプリをつくったり、ニュース情報を利用して、ニュースまとめサイトをつくったりすることができます。
〈4〉マイナンバーカード
政府が運営するWebサイト「マイナポータル」とAPI連携できる
マイナポータルのAPIでは、民間や行政機関等の組織が提供する外部サービスからの電子申請をマイナポータルで受け付けることができます。また、利用者の同意があれば、行政機関から入手した自らの個人情報を外部サービスに提供することができます。これにより、利用者にとって使い勝手の良い製品やシステムの提供が可能になり、新しいサービス開発に利用することができます。
〈5〉社内の業務関連システム
社内のツールやシステム間のデータ連携ができる
例えば、社内のERPやCRM、SFA、チャットツール、電子署名、会計ソフト、ワークフローシステム、POSシステムなどでもAPI連携が利用されています。相互の情報をAPIで渡し合うことで、会社全体で同じ情報を利用し、それぞれのシステムを動かすことができます。
API連携を利用しない場合、例えば、システムからCSVでデータを取り出し、他のシステムに投入するなどの手間がかかってしまうため、連続性のある業務システムを効率的に運用するために大変便利なツールであるといえます。
3. API連携のメリット・デメリット
さまざまな用途で利用できるAPI連携ですが、メリットもあればデメリットもあります。
〈1〉メリット
システムやアプリケーションが連携しているため、ユーザーからみると実質的に利用できる機能が増えることになります。また、違うシステムやアプリケーションであっても同じ情報を共通して利用できるため、同じID・パスワードでログインできたり、情報の更新などが自動で行われたりと、ユーザーにとっても提供企業にとっても多くのメリットがあります。また、そういった機能の豊富さやユーザーメリットにより、競合との差別化を図れることも、提供企業にとってのメリットとなりえます。では、具体例を見ていきましょう。
提供できるサービスの幅が広がる
サービス同士がAPI連携すると、連携先のサービスの機能を利用できるようになります。そうすることで、実質的にユーザーに提供できるサービスの幅が広がることになります。
連携先の最新情報を取得できる
連携先のシステムで情報が変更・更新されると、API連携した先のシステムでも自動的に情報が更新されます。そのため、情報更新のたびに人力で確認・修正する必要がありません。
ユーザーの利便性向上につながる
利用できる機能の拡張はもちろん、IDパスワードの共通化も実現することができるため、顧客満足度の向上や利用率の向上にもつながります。
新たな顧客層を獲得しやすい
サービスモデルによっては、連携先のサービスを通して連携先が持つ顧客層にアプローチすることも可能です。これにより、これまで接点がなかった新たな顧客層を得られる場合があります。また、API連携のメリットを享受することで、それ自体が同業他社との差別化にもつながります。
開発コストの削減につながりやすい
連携するシステムと同様のサービスや機能を新規に開発しなくて済むため、開発にかける時間やコストの短縮につながります。浮いた工数を他の機能の開発に充てたり、開発期間そのものを短縮したりすることにもつながります。
新たなビジネスが生まれるきっかけにもな
API連携が可能になることで、サービスを提供する企業同士でコミュニケーションが生まれ、新たなビジネスや協業スキームが生まれるきっかけになることがあります。
〈2〉デメリット
API連携を利用すると、提供元のシステムの情報を提供先のシステムでも利用でき、それらが自動的に行われるということがメリットでした。逆に言うと、提供元のシステムの変更などの影響を受けることがあるということです。通常時はメリットが大きいのですが、自社でコントロール出来る範囲が狭まる分、状況によってはデメリットも出てきます。では具体例を見ていきましょう。
APIの提供元企業にサービスや費用が依存しやすい
API連携を行う場合、その情報はAPI連携元の企業に依存します。そのため連携元の都合によってAPI連携が終了したり、仕様が変更になったりすると、それらを元に自社サービスを動かしていた場合、連携方法を作り変える必要があります。また、最悪の場合、サービスが利用できなくなるリスクがあります。
API連携費用
有償でAPIの提供を受けている場合は、API利用料の値上げなどの可能性もあります。享受するメリットが大きい場合は、値上げの要求を受け入れざるを得ないケースも想定しておきましょう。
サーバー障害時のリスク
Web API連携の場合、万が一、連携元でのサーバー障害などが起こった場合に、自社サービスにも影響が出てしまうリスクがあります。最悪の場合、サービスが利用できなくなる可能性もあります。また、そこまでの状況に至らない場合でも、一部の情報を正確に取得できなくなる場合もあります。いずれにせよ、連携元のサーバーの状態が自社サービスに影響を及ぼす危険性を完全に排除することはできません。万が一障害が起こったときの対処方法を自社内で整えておくことはもちろん、連携先とも相談するなど、事前の備えができるとよいでしょう。
まとめ
- API連携とは「Application Programming Interface」の略で、「APIキー(アクセスキー)」と「APIシークレットキー」を利用して、システムやアプリケーションを連携させることができる。
- API連携はSNSやECサイト、自社システムの効率化など、あらゆるシーンで利用されている。
- API連携を利用することで、サービス機能の拡張や共通情報を利用することができるため、ユーザーメリットはもちろん、サービス提供者にとってもメリットは大きい。
- 一方で、API提供元の都合やサーバーの影響を受けることも多いため、万が一、不測の事態が起こった際の対処方法は明確にしておく必要がある。