ITの基本を解説 – Web APIとは?

Googleマップ、YouTube、Twitter、Facebook、Instagramなど、さまざまなウェブサービスが提供しているWeb API。

クラウドやウェブサービスの普及に伴い、ますます活用が進んでいます。 本稿ではWeb APIとは何か、Web APIが活用される理由などについて解説します。

API、Web API、Webhookとは何か?

API (Application Programming Interface)とは、「アプリケーション(機能)をプログラミングするためのインターフェース」のことです。
言い換えれば、「各種システムやサービス(ハードウェア、OS、ミドルウェア、Webサービス等)を利用するためのインターフェース」で、外部アプリと連携できる状態にするための仕組みです。

APIは「プログラム内のライブラリにおいて別のコードからアクセスを受けるために公開された仕様」になっており、提供者と利用者は同じプログラミング言語を使用します。

一方、Web APIとはウェブアプリケーションに特化したAPIで、「ウェブサービスにおいてプログラムからの操作を受け付けるためのインタフェース」です。
提供者と利用者のやりとりはHTTP/HTTPSベースで実現します。
異なるプログラミング言語で開発されたアプリケーション間を連携することが可能で、汎用性が高いのが特徴です。

クラウドのサービスやウェブサービスの普及が進む現在では、アプリケーションとプログラムの接合部であるWeb APIは欠かせない機能です。
Web APIを第三者が利用すると、

  • 異なるソフトウェアやサービス間で認証機能を共有
  • チャット機能を共有
  • 数値データを取り込んでデータ解析

など、外部アプリケーションの開発が可能になります。
Web APIと似たような概念であるWebhookは「ユーザー定義のHTTPコールバック」 のことで、プログラミングの用語hookに由来します。
特定のイベントが発生したときに別のウェブページやウェブアプリケーションにHTTPリクエストを送信し、動作を追加・変更することができます。

APIが便利な理由

APIが便利な理由として以下の4点が挙げられます。

①利用が簡単

WebAPIを活用するには提供先の企業サイトから利用登録を行い、APIを取得します。
取得したAPIキーを使って、指定されたURLにリクエストを投げると、ただちにAPIの機能を確認できます。

既存のソフトウェアの利用による省コスト化

Googleマップの APIを利用すれば、自社サイト内に地図を表示することができ、マップ機能を作成する必要はありません。

また、Googleカレンダーの APIを利用すれば、店の営業時間や社内会議のタイムスケジュールなどを情報共有し、不特定多数が利用可能です。
さらに、FacebookやTwitterなどのSNSが提供するAPIを利用すると、SNS間の記事共有や、複数のSNSへの同時投稿も可能になります。

③ログイン認証によるセキュリティの向上

提供側は連携前に必ずユーザーの承諾を得る必要がある一方、利用側も連携サービスを使うにはユーザー情報の共有を許可する必要があります。
これにより、双方にセキュリティが担保されています。ただし、Web APIは大変便利ですがリスクもあります。

万が一、漏洩した場合、データの改ざんや個人情報読み取りのリスクや、金銭のやりとりが発生する場合は送金や出金リスクもあります。 利用の際にはAPIキー(アクセスキー)とAPIシークレットキーの取り扱いに注意しましょう。

④つねに最新の状態にアップデート可能

毎回更新しなくてもサービスの最新情報が取得されます。
たとえば、AmazonのAPIを利用すれば、価格の変更が自動的に反映され、最新の売れ筋をすぐにチェックすることが可能です。

以上のように、利用側の恩恵が大きいWeb APIですが、提供側の企業としても自社のデータやサービスを流通させるチャネルを増やすことで、収益やシェアの拡大につながります。
また、機能は公開する一方、独自に開発した部分は非公開にできるのも利点です。

APIの参考事例の紹介

各企業のAPIの参考事例を以下にご紹介します。

Amazon

APIを活用すると、Amazonを使った出品やアフィリエイト運用に役立ちます。
販売する商品管理に関する「Amazon MWS API」とアソシエイト・プログラムに関する「Amazon Product Advertising API」の2種類があります。
商品在庫・売り上げデータの管理や、注文レポート・アフィリエイトのランキング情報などの取得が可能になります。

kintone

プログラミング不要でビジネスアプリを作成できるkintoneのAPIを活用すると、管理データを外部システムに渡したり、外部システムからkintone へデータの登録や更新・削除ができます。
Google フォームと kintone を連携したり、kintone から Slack に通知を送ることが可能です。

Chatwork

メール・電話・会議の代替コミュニケーションのためのクラウド型ビジネスチャットツールChatworkでは、APIの活用でメッセージ送信やタスク追加などの機能を外部のプログラムから使用することができます。

freee

freee会計はクラウドERP(基幹業務システム)として開発され、仕訳だけでなく請求書類の連携など様々な業務ソフトと連携します。
こうしたfreee内部の連携機能(銀行口座の同期など)とは別に、APIの活用によって追加的な連携を開発・活用することができます。

三菱UFJ銀行

APIサービスによって外部サービス会社と連携し、三菱UFJダイレクトの一部機能や取引情報を外部サービス会社に提供します。
パスワード等を外部に開示することなく、サービスを利用することが可能です。

まとめ

クラウドのサービスやウェブサービスの普及が進み、Web APIの活用は今や欠かせません。
ECサイトやSNS、ビジネスチャット、会計アプリなどWeb APIを利用できる分野や業界はますます広がっています。
漏洩リスクに注意した利用を心がけつつ、メリットの多いWeb APIを有効に活用しましょう。