エンジニアで「API」という単語を聞いた事が無いという人はいないと思いますし、非エンジニアのビジネスの現場でも最近「API」という単語を良く耳にすると思います。
では、「API」って何?と言われたらあなたは答えられるでしょうか?
ちょっとイメージが湧きづらいですよね。
シリコンバレーでは、
APIs are eating the world!(APIが世界を食い尽くす)
と言われることもあり、APIについて知っておく事は、これからのビジネスを考える上で必須教養です。
この記事では、そんなAPIとは何か?について初心者向けに分かりやすく解説します。
APIとは何か?
APIとは、「Application Programming Interface」の略です。
Interfaceとある様に、APIは、あるプログラムから別のアプリケーション(ソフトウェア)を操作するための仕組み(入り口)です。
APIを利用すると何が出来る?
APIを利用すると、複数のコンピューター(プログラム)間で情報交換・協力する事が出来ます。
一人で出来ない事も、みんなで力を合わせれば出来てしまうためのつなぎの仕組みがAPIです。
APIが利用されている例
例えば、Facebookの提供するAPIに「ログイン機能」があります。
このAPIを利用する事で、例えば以下のような構成のサイトを作る事が出来ます。
- EC(ショッピング)サイト(自社開発)
- ログイン機能(FacebookのAPIを使用)
例えば、Airbnbのサイトで具体例を見てみましょう。
ここで、登録するをクリックすると、「Facebookで続行」とFacebookのログインオプションが出てくると思います。
なぜAPIを使うのか?
では、なぜAPIを使うのでしょうか?
APIは、「利用側」にも「提供側」にもメリットがあるWin-Winの仕組みだからです。
「利用側」と「提供側」のそれぞれの立場から考えると分かりやすいので、それぞれのメリットを見てみましょう。
利用側のメリット:開発の効率化・ユーザビリティの向上
これは、分かりやすいですよね。
作りたい機能が既にAPIで公開されているのであれば、1からプログラムを作る必要ありません。
これにより、開発時間を大幅に短縮する事が出来ます。
また、Webサービスを利用するお客様にとっては、新たに会員登録情報を一から入力する必要がありません。
これにより、会員登録フォームでの離脱を防ぐ事が出来ます。
提供側のメリット:新規顧客の開拓
もちろん、API提供側にもメリットがあります。
でないと、わざわざ苦労して開発した機能を他社に使わせる筋合い無いですよね?
それは、自分達がリーチ出来ない顧客層にリーチ出来るという事です。
API提供側が自分達でリーチ出来ない層に対してサービスを提供したり、利用してもらうことでデータを集めたり、課金する事が出来ます。
APIがなぜ、ここまで流行っているのか分かりましたでしょうか?
APIとWeb APIの違い
APIには色々な種類がありますが、その中の一部が、「Web API」です。
Web(インターネット)を介しているという事から「Web API」と呼ばれてますが、単にAPIと呼ばれることも多いです。
APIをもっと詳しく知るのに総務省の資料もオススメ!
総務省が提供しているICT(情報通信技術)を学ぶためのオンライントレーニングが最初の入り口としてオススメです。
APIについては、1-5 APIによるデータ収集と利活用の資料について纏められているのでもっと詳しく知りたい人は目を通してみて下さい。
APIの経済圏規模は約250兆円!
APIがどの様に巨大経済圏を今後作っていくか知りたい人は、以下の本がオススメです。
三井住友銀行、ジョルダン、アマゾン ウェブ サービスなどのAPI関連の取り組み事例から、API取引所等についても触れられています。
次からは、エンジニアとしての視点からもう少しAPIの具体例を見ていきましょう。
APIの具体例
FacebookのAPIを使用する事で「ログイン機能」を実装したり、Facebookの中でアプリを提供する事が出来ます。
Slack
ビジネスチャットサービスとして有名なSlackです。
多くのAPIはクライアント側からデータ操作をリクエストする「プル型」ですが、SlackはWebhookと呼ばれる「プッシュ型」のAPIも充実しています。
Square
決済を実装したい場合はSquareのAPIを利用する事で、クレジットカード情報を知る事なく、決済機能を提供できます。
クレジットカード決済には、クレジットカード業界の情報セキュリティ基準「PCI DSS(Payment Card Industry Data Security Standard)」に従う必要がありますが、APIを活用する事で簡単に準拠する事が出来ます。
Dropbox
DropboxもAPIを提供しています。クラウド上に保存したファイルを取得するのはもちろん、生成したファイルをAPIを介して保存する事が出来ます。
GitHub
GitHubのAPIでは、リポジトリの検索や登録などが可能です。
News API
News APIを使用する事で、ABC NewsやBBC、Wall Street Journalといったニュースソースからデータを連携する事が出来ます。
公開APIのリスト
GitHubにあるこちらのページに公開APIのリストが纏まっています。
A collective list of free APIs for use in software and web development.