Web APIとは、httpやhttpsなどWeb技術を用いて実現されるAPIの一類型です。API(Application Programming Interface)とは、プログラムの機能の一部を別のプログラム上で利用できるように共有する仕組みです。
Web APIという言葉は知らなくても、多くのユーザーが気づかないままWeb APIの技術を利用しています。例えば、家計簿アプリの機能として銀行口座の残高や入出金が照会できるサービスや、SMSを使った認証サービスなどがその一例です。
IT技術の発展に伴い、Web APIの技術を導入して、自社サービスの利便性をより高く価値のあるものにする企業が増えています。また、Web APIを公開することで、様々なプログラムと連携させる機会を増やし、自社の収益を増大させている企業も多くなっています。
本記事ではWeb APIに関して基本的な内容をわかりやすく説明し、実装の方法と考慮すべきポイントを紹介します。
ダッシュボードの基礎&各種BIツールのご紹介
ダッシュボードとは何か、活用のメリット・デメリット、データを可視化することでのマーケティング活動の向上についてなど、ダッシュボードの基本を体系的に学ぶことができます。
- ダッシュボードの基礎
- ダッシュボードを活用すべき理由
- BIツールの選び方
- 各種BIツールのご紹介
今すぐダウンロードする
全てのフィールドが必須です。
Web APIとは?
先述の通り、Web APIとはWeb上で実現されるAPI(Application Programming Interface)のひとつの類型です。APIとは、あるプログラムの機能を別のプログラムで利用できるようにやりとりをするための仕組みを指します。
APIとWeb APIとの違い
APIとWeb APIの概念を学んだうえで、Web APIがデータや機能を取得する仕組みを確認しましょう。
APIは、あるプログラムの機能を別のプログラムで利用するために、利用者(クライアント)が公開されているAPIプログラムのサーバーにリクエストを送ります。その応答(レスポンス)として、プログラムの一部機能が利用できる仕組みです。
Web APIではないAPIの多くは、利用者側が用いるプログラミング言語と同一の言語を用いて提供されています。しかし、Web APIでは、言語が異なっていても通信が可能なHTTP/HTTPS方式が採用されています。
HTTPとは、WebサーバーとWebブラウザ間でデータをやり取りする際に用いられる通信規則(プロトコル)です。さらに、この通信を暗号化したものがHTTPSと呼ばれています。
Web APIの採用するHTTP/HTTPSによる通信では、プログラミング言語が異なっていても通信でき、Webブラウザ上でも稼働する利点があります。さらにデータは自動更新されるなど汎用性の高さに加え、無料のWeb APIも多く公開されていることから、様々なシーンでの導入が進められてきました。
Web APIの代表例
Web APIとは具体的にどのようなはたらきをするのでしょうか、ここでは身近な例をご紹介します。
Google Map API
Google Map APIは、Webサイト上に、Google Mapの機能を埋め込めるWeb APIです。Webサイトを訪れたユーザーは、目的地周辺の地図を確認したり、周辺地図を拡大/縮小するなど、まるでGoogle Mapに接続しているように操作することができます。
Amazon API
Amazon APIは、Amazonの商品情報を取得する機能を有する2種類のWeb APIです。大口出品者向けの「Amazon MWS API」では、納品や出荷といった手続きに関する情報が管理できます。また、アフィリエイター向けの「Amazon Product Advertising API」では、価格や在庫、レビューなど商品に関する情報がリアルタイムで参照できる機能を有しています。
YouTube API
YouTube APIは、YouTubeに関連する情報を得られるWeb APIで、3種類用意されています。YouTubeの動画情報が取得できる「YouTube Data API」、動画の解析が行える「YouTube Analytics and Reporting API」、再生プレイヤーをWebサイトに表示できる「YouTube Player API」です。
Twitter API
Twitter APIは、投稿内容やフォロー、いいねといったTwitter アプリと同じ操作ができるようになります。さらに、自動投稿をするなど、Twitter アプリ以上の機能を持たせることも可能です。
PayPal API
PayPal APIは、Webサイトやブログから簡単に決済ができるWebサービスです。
画面遷移することなくPayPalアカウントに登録された情報を呼び出し決済できるため、ECショップでも多く用いられています。
このほかにも、天気予報や乗換案内など、数多くのWeb APIが公開されています。
Web APIの3つの役割
Web APIは異なるプログラムをつなぐことを通じて、導入する側にとっても、提供する側にとっても大きな役割を果たしています。主な役割を以下の3点にまとめました。
- 新たな機能やサービス開発を助ける
- より良い顧客体験を提供する
- 自社サービスのユーザーを拡大する
新たな機能やサービス開発を助ける
APIを導入する側にとって、自社サービス開発をすべて自前で行うとしたら、多大なリソースが必要となります。Web APIとして公開されている既存のプログラムを利用することで、開発が容易になり、時間や人力、コストなどリソースの節約が可能になります。
また、提供側にとってもサービス成長の機会に繋がります。Web APIとして公開されているプログラムが別のサービスと組み合わせて使われることで、新たなビジネスチャンスが育まれていくでしょう。
より良い顧客体験を提供する
Web APIを利用すると、ユーザーはWebサイトや現在利用しているアプリから離れることなく、スムーズに目的が達成できます。
例えばECサイトにクレジットカード会社のAPIを組み込んでいれば、ユーザーは安全に決済手続きを済ませられます。また、Webページ上に動画を埋め込んでいる場合であれば、Webサイトを訪れたユーザーは記事を読み情報を得るだけでなく動画で使い方や使用後のイメージを理解できるため、行動が促され、記事への評価も高まっていくでしょう。
自社サービスのユーザーを拡大する
Web APIを導入してより良い顧客体験を提供しているWebサイトやアプリには、多くのユーザーが集まってきます。Web APIを提供している側も、自社サービスではリーチできなかったユーザー層に利用してもらえる機会が増えるため、Web APIを導入する側も、提供する側も、ユーザーの拡大が期待できます。
Web APIが注目される背景
2003年頃の登場以来、クラウドサービスの普及とともに、Web APIは注目され続けています。Web APIの登場から現在までを簡単に振り返りましょう。
マッシュアップの登場
Web APIという言葉は2003年頃から一般的に使われるようになりました。当時の代表的なWeb APIとして、Amazon Product Advertising API(商品情報API)があります。
Amazon Product Advertising APIは、在庫情報や商品説明、カスタマーレビューなど商品情報に関する説明や情報検索機能をAmazonより共有できるWeb APIです。さらに、リモートショッピングカート機能もあるため、Webサイトに組み込むことでWeb上から直接カートに商品を追加できる仕様にもなっています。これらの利便性の結果、Amazon Product Advertising APIは広く普及すると同時に、Amazonの拡大にも寄与しました。
続いてGoogle やYouTube、Flickrなど大手のサービスも無料のWeb APIを公開し、サービス成長の契機となりました。
さらに、新たなサービスとして生み出されたのがマッシュアップです。マッシュアップとは、Web上に公開されている情報を加工、編集することで新たなサービスを生み出すことを意味します。
例えば、日本郵便が公開している郵便番号データベースを使って、自社サイトの中で自動的に住所が入力できるフォームを作成するようなサービスです。
Web APIの登場は既存のサービスを利用できるだけでなく、そこから新しいサービスを創造できることから、Web サービスの可能性が大きく広がりました。
APIエコノミー
Web APIと関係して理解しておきたい概念として、APIエコノミー(経済圏)という考え方があります。
先述の通り、 APIの公開・提供を通して、他企業のサービスと自社のサービスを連携することで新しいビジネスが生まれる機会が増えています。その関連サービスによって、APIを提供した側、利用する側、それぞれの利用者が増えるため、付加価値が生まれていきます。
このような循環によってAPIから生み出される経済効果を、IBM社は2兆2,000億ドル(264兆円)と試算しています。
技術的な観点からは、APIのプログラムをつなぐ役割が注目されていますが、APIエコノミーではビジネスをつなぐ役割に注目します。
デバイスWeb APIの登場
スマートフォンアプリにも、Web APIの一種であるデバイスWeb APIが利用されています。
デバイスWeb APIは、スマートフォンと外部デバイスをHTTP形式でつないでいます。機器やOSに依存しない共通の形式で外部デバイスと通信できる特性は、今後、IoTやウェアラブル機器などへの実用化など
マイクロサービスの導入拡大
アプリケーションを開発する上で、近年注目されているのがマイクロサービスアーキテクチャという手法です。
マイクロサービスアーキテクチャとは、1つのアプリケーションでプログラムを実現するのではなく、小さなサービスの集合体として構築する手法です。
マイクロサービスとして開発する場合、開発スピードが速くなり、メンテナンスもしやすくなります。また、一部のサービスが古くなった場合でも、システム全体を停止させることなく交換できるなどのメリットから、マイクロサービスの導入が増えつつあります。
このように、プログラム開発の場面でもWeb APIの重要性は増しています。
Web APIの種類
Web APIに関連する用語として、REST APIやRESTful API、SOAP APIという言葉も理解しておきましょう。
これらはWeb APIを実装する際の通信の方式を指したものです。
SOAP API
SOAP(Simple Object Access Protocol)はHTTPの呼び出し(Request)と応答(Response)にXMLを使ってデータのやりとりを行う通信プロトコル(規約)です。Web APIが登場した初期には、SOAPが主に用いられていました。
しかし、巨大で複雑な仕様のため、近年では敬遠される傾向があります。
REST API
REST(REpresentational State Transfer )は「分散システムにおける設計原則のひとつ」という意味を持っており、SOAPのような通信プロトコルではなく、複数のソフトウェアの連携に適した設計ガイドラインを指します。
REST APIには次の4つの原則があります。
アドレス可能性
クライアントからのリクエストが何か一目でわかるように、すべての情報が一意のURIで表現されていること
ステートレスであること
セッションにおいて、単一のリクエストに対して単一のレスポンスを返し、それ自体で完了すること
統一されたインターフェースであること
情報の「登録」「取得」「更新」「削除」の操作は、HTTPメソッド「POST」「GET」「PUT」「DELETE」で操作すること
接続性
ある情報に別の情報へのリンクを含められること
これらの原則を満たすWeb APIをRESTful APIと呼びます。
REST APIについては以下の記事でも詳しく説明しています。興味のある方はぜひご覧ください。
(Link to Child Article rest api)
Web APIの活用方法
Web APIを活用するための手順を説明します。Web APIの種類によって、さまざまなやり方がありますが、基本的な流れは以下のようになっています。
- 希望するAPIに利用登録する
- APIキーとシークレットを取得する
- APIキーを設定する
- APIを実装する
1.希望するAPIに利用登録する
希望するAPIを提供しているWebサイトに進みます。多くの場合、名前とメールアドレスを登録するようになっています。
2.APIキーとシークレットを取得する
APIキーは利用者のIDとなるもので、シークレットはパスワードに相当します。自分だけに割り当てられたキーであるため、セキュリティに十分気を付けてください。
3.APIキーを設定する
取得したAPIをWebサイトやWebサービスに設定します。
4.APIを実装する
Web APIには、実装のためのリファレンス(マニュアル)が用意されています。この内容に従って、アプリやWebサイトにWeb APIを実装してください。
Web APIを導入する際に押さえておくべき3つのポイント
Web APIをうまく活用できれば、自社のWebサイトやWebサービス、アプリなどを通じて、より良い顧客体験を提供できるようになります。導入を検討する際に押さえておきたい3点を以下に紹介します。
1. Web API導入の目的を明確にする
自社サイトを訪れたユーザー、自社Webサービスを利用するユーザーがどうしたら目的を達成する手助けになるか、顧客体験をどうしたら向上させられるかを十分に検討してください。
くれぐれも、「Web APIの導入」自体が目的にならないように注意しましょう。
2. 基本的なプログラミング言語を理解する
スムーズにWeb APIを導入するためにも、HTMLやCSS、JavaScript、PHPやPerlなどのプログラミング言語の理解が必要となります。例えば、Web APIを利用して取得したデータを自社サービスに応用するために変換する場合などにプログラミングスキルが求められます。
初心者がプログラミングを学ぶ方法を以下の記事で詳しく説明しています。興味のある方はぜひご覧ください。
3. 有償/無償、支払い方式を確認する
APIには無償のもの、一定の利用までは無償で、無償枠を超えると有償となるもの、有償の中でもコール数によって課金されるもの、データ量に応じて従量課金されるものなどさまざまな方式があります。課金の仕組みや支払い方式を事前に確認してください。
ユーザーニーズを起点にどの Web APIが必要なのか判断しよう
Web APIはHTTPやHTTPSなどのWeb技術を利用して、あるプログラムの提供する機能を別のプログラムで利用できるようにする仕組みです。現在では多くの企業がWeb APIを提供しており、自社のWebサービスに組み込めます。
Web APIの実装により、Webサービスの利便性が高まり、良質な顧客体験の提供にも繋がります。Web API導入を検討する際はユーザー視点に立ち、ユーザーがWebサービスを通してどのような目的を達成できるのかを考えましょう。
API全体については以下の記事で説明しています。興味のある方はぜひご覧ください。