API(Application Programming Interface)とは、アプリケーション・プログラミング・インターフェースの頭文字を取った言葉のことで、ソフトウェアやアプリケーションを繋ぐためのインターフェースのことです。特定のプログラムで利用する機能やデータを、外部のプログラムから呼び出すためのデータ形式、手順に関してもAPIと呼ばれます。
APIの利点は、プログラムを構成する際にAPIを用いて機能を動作するように記述するだけで、同様のAPIであれば外部のプログラムであっても同様の挙動を実現できることです。通常、ソフトウェアやアプリケーションを開発する際、様々な機能を1から実装するのは非常に手間と時間がかかります。しかし、APIを用いることで、APIを呼び出すコードの記述のみで機能を実装できます。実際、幾度に渡ってバージョンアップされているサービスであっても、過去のバージョンで使用していたAPIを新バージョンでそのまま呼び出すケースも多くなっています。
なお、広義では、APIはプログラミング言語の標準ライブラリの規約も意味として含まれます。代表例は「Java API」などです。加えて、プログラミング言語を提供する機能もAPIの一部として含まれるケースもあります。
また、APIはWeb APIと表現されるケースもありますが、これらは同様の定義として捉えて問題ありません。どちらも、アプリケーションやシステム間におけるインターフェースのことを指します。
メリット
API を使用すると、実装したい機能全てのコードを書いてプログラムする必要がなくなり、APIにて機能が動作するようなコーディングをするだけでよくなります。
つまり、開発者はアプリケーションを一から開発する必要がありません。
これにより、同じようなAPIを利用すれば外部プログラムにおいても一貫性を持った実装が可能になります。
セキュリティ
API は、アプリケーションが必ずしも使用許可していないデバイスやソフトウェアに対して、アクセス制御を行えます。そのため、API はセキュリティ面でも重要な役割を果たすことができます。
つまり、APIを使用するとアクセス制御を行いながらセキュリティを保ちつつ、元の情報へ接続することができます。
どのように接続するのか、誰にアクセス権を付与するのかは公開側が設定できます。
また、決済システム事業者が提供するAPIを使うことで、自社システムの中で決済情報(クレジットカードなど)の入力が可能になり、それらの情報を事業者のAPIから送信して処理を行うことができます。
これは、重要な情報(クレジットカードなどの顧客の重要情報)を自分の会社で管理する必要がなくなります。システム設計時にセキュリティ等のポイントを減らせます。
活用例
例として書籍販売業者を考えます。
書籍販売業者と顧客は、API の活用により在庫状況を共有することができます。書籍販売業者は顧客が API を介してデータにアクセスできるようにすることで、在庫情報を分散させることなく1か所に集約することができます。
また、書籍販売業者はAPI の動作を変更しない限り、顧客には何の影響も与えることなく内部システムを変更できます。
さらに、公開されているAPIを使用すると、本の販売業者またはそれ以外の開発者においても、顧客が本を探しやすくするアプリの開発が可能になります。
API連携とは
APIとあわせて、API連携に関しても理解を深めると有用です。API連携とは、言葉のとおりAPIを使用して連携を図ることです。たとえば、ネットショップの場合では決済時にクレジットカード会社のAPIが利用されています。つまり、クレジットカード会社と、ネットショップの決済機能がAPIで結ばれているということです。
ネットショップで決済をする際、カード番号や有効期限などを、ネットショップ側のサーバーに直接保存するのは非常に危険です。悪用されてしまう可能性も高く、情報システムやセキュリティの観点からも望ましくありません。そこで、ネットショップがクレジットカード会社のAPIを利用することで、ユーザーの情報を直接クレジットカード会社が認識できるようになります。
ネットショップ側は、「ユーザーがクレジットカード決済をしようとしているから、確認してほしい」とAPI連携によってクレジットカード会社に依頼します。そして、クレジットカード会社はAPIを通して認証を完了させ、ユーザーが実際に決済できるという仕組みが用いられています。
上記のネットショップの他にも、ログイン機能や電子マネーの決済時など、あらゆるケースでAPI連携は用いられています。APIの基本的な仕組みは「レスポンス」と「リクエスト」によって行われています。レスポンスはAPIの提供者であり、リクエストはAPIを利用する者です。先ほどの例に当てはめると、レスポンスがクレジットカード会社、リクエストがネットショップになります。つまり、APIはレスポンスとリクエストを繋ぐ橋渡しのような役割を果たしているという認識で問題ありません。
APIの概要を理解する際は、あわせてAPI連携に関しても理解を深めるようにしましょう。
参考記事
・APIとは?基本的な意味や連携、代表的な例をわかりやすく紹介
・今さら聞けないアプリケーションの基礎知識。アプリ開発のメリットやASO対策ってなに?
・ASP(アプリケーションサービスプロバイダ)とは?特徴や基礎を解説します
・マーケ業務の効率化を図るZapierとは?手間な事務作業を自動化
・インターフェースとはどういう意味だろうか?様々な場面で使われる意味を解説!
・WAF(Web Application Firewall)とは?セキュリティの仕組みや基礎を徹底解説!
関連用語
・IT