APIのメリットと重要性をまとめてみた

#APIのメリットと重要性、そしてWeb APIとの違いと利用方法

開発者にとっては、日々、当たり前のように活用しているAPI。APIのなかでも、近年、急速に普及が進んでいるWeb APIの重要性やメリットについては十分に理解されていると思います。しかし、例えば、経営陣や開発部門以外の社員に「あらためてAPIを説明する」といった場合に、どれだけ簡潔に伝えることができますか？ 企業として広くITを活用していくには、開発者でなくても（特に経営陣は）APIの重要性をある程度、理解しておく必要があります。そこで今回は、API、なかでもWeb APIを中心に、メリットや利用方法を振り返ってみましょう。

##APIの概要と現在におけるAPIの重要性
Application Programming Interfaceの略称であるAPI。APIとは、自社もしくは個人のソフトウェアのなかで汎用性の高い機能を一部公開し、外部から手軽に利用できるようにする仕組みのことです。通常、アプリケーションを開発する場合、すべてゼロの状態から始めますよね。しかし、そのアプリケーションを開発する際にAPIを利用すれば、その分、開発の手間を削減できます。

例えば、投稿された写真のなかから自動で「笑顔の写真」だけを集めてアルバムを作成するアプリケーションを開発するとします。この際に画像認識APIを利用すれば、画像を認識するための機能を自分でゼロから開発するのに比べて、大幅な工程削減が可能となります。

APIの活用は開発者にとって多くのメリットがありますが、なかでも「開発工程の大幅な削減」が最も大きなメリットであり、近年、APIが普及している最大の要因と言えます。また、APIを公開した側にとっても「より便利で使いやすいサービスが生まれる」というメリットがあります。これもAPIが普及した要因のひとつと言えるでしょう

市場環境の変化が速い現代において、アプリケーション開発は国内企業だけでなく世界の企業との争いになっています。この争いを勝ち抜いていくには、アプリケーションの質はもちろん、開発のスピードも重要な要素になります。開発工程の削減を実現してくれるAPIは、迅速なアプリケーション開発に欠かせないものとなっているのです。

##APIとWeb APIの違いとは？
アプリケーション開発において、「APIは欠かすことができない存在」になっていることは理解いただけたと思います。近年、APIのなかで特に注目を集めているのがWeb APIです。では、なぜWeb APIが注目を集めているのでしょうか？ また、APIとWeb APIは何が違うのでしょうか？

APIはOSやほかのプログラムに対して機能や情報を呼び出すための仕様です。一方、Web APIは外部のWebアプリケーションの機能や情報を、自身が持つWebアプリケーションから呼び出して利用するための仕様です。これがAPIとWeb APIの最も異なる点です。

例えば、地図情報を利用したWebアプリケーションを開発する場合は、Googleが提供している「Google Maps API」を利用できます。温泉宿の空き室情報をWebサイトに表示させたい場合は、楽天が提供している「楽天トラベル系API」といったものが利用できます。このように目的の機能を有するAPIが提供されていれば、そのままWebブラウザからアクセスできる「手軽さ」がWeb APIの大きなメリットです。

また、Web APIはHTTPやHTTPSなどを使ってデータを送受信するため、同じプログラミング言語で開発されたアプリケーションでなくても連携できる「汎用性の高さ」がメリットとなります。さらに、Web経由であることから、「常に最新情報を取得できる」こともメリットと言えます。

前項で「APIはアプリケーションの開発工程を大幅に削減するメリットがある」と説明しました。Web APIはそのメリットをさらに強めながら、汎用性も高くなっていることが、多くの開発者から注目を集めている要因と言えるでしょう。

##Web APIの利用方法と利用時の注意点
続いては、Web APIを利用する際の一般的な方法と注意点について説明しますね。まずは、利用したいWeb APIを提供しているサービスにログインします。サービスによってはログインを必要としない場合もありますが、GoogleやYahoo!、Twitter、FacebookといったサービスのAPIを利用するには、それぞれのサービスに会員登録しておく必要があります。

次に、「Web APIを使いたいアプリケーション」をWeb APIの提供元サイトに登録して、APIキーやAPIシークレットを取得し、それをアプリケーションに設定します。APIキーやAPIシークレットはサービスによって名称が異なる場合もありますが、基本的にはIDとパスワードのようなものです。

ここまで終わればAPIの利用が可能になります。Web APIを公開しているサーバーに必要なデータをHTTPリクエストで送信すれば、その処理結果がHTTPレスポンスとして返ってきます。

Web APIを利用するときの注意点は、データをHTML形式に変換する際に、PHPやPerl、JavaScriptなどのプログラミング言語を用いることです。よって、これらの言語を理解しておく必要があります。また、海外サービスのWeb APIを利用する場合、日本語での表示が少ないため、英語の読解力も必須となります。

##API導入の成功事例
最後に、実際にAPIを導入することで企業の業務改善を果たした事例を3つ紹介しておきます。

**1. 金融サービス業と関連サービスのAPI連携で顧客の利便性をアップ**
ここ最近、銀行や証券会社といった金融機関では、APIを利用することで多くのサービスとの連携を図っています。代表的なものとしては、銀行が提供するスマートフォンアプリに財務サービスや家計簿サービスのAPIを連携させたものです。また、スマートスピーカーのAPIと連携させ、スピーカーに話しかけると残高を教えてくれる、といったものもあります。これにより、これまで難しかった「若い顧客の獲得」を実現しているケースも増えています。

**2. 求人検索をスムーズに行う支援機能をAPIで実現**
転職サービス「doda」やアルバイト情報サービス「an」を運営するパーソルキャリア株式会社では、dodaにおいて、複雑な求人情報から目的の企業をスムーズに検索できる検索機能をAPIによって実現しました。利用したのはGoogleの自然言語処理系API「Google Natural Language API」です。このAPIを利用することで、求人情報から特徴となるキーワードを抽出し、検索用タグとしてdodaのサイト内にレコメンドしています。結果として、開発側は業務効率のアップを実現。利用者も異業種からの転職であっても、検索キーワードに悩むことなく検索することが可能となり、利便性のアップを実現しています。

**3. APIの活用で社内コミュニケーションの効率化を実現**
主にシステム開発を行う株式会社アットウェアでは、「backlog」や「Typetalk」を提供している「株式会社ヌーラボ」のAPIを活用し、社内コミュニケーションの活性化を実現しました。具体的には、プロジェクト管理ツールであるBacklogのスター機能に、Gmailで届く日報から直接、スターを付けられるようにしました。スター機能とは、Facebookの「いいね」のような機能です。それまでは、Backlogに課題が登録された際にメール通知を受け、Backlogにアクセスし、スターを付けていました。APIを使うことで、わざわざBacklogにアクセスしなくても、メールに直接スターを付けられるようになり、社内コミュニケーションの効率化を実現しています。

##APIの効果的な活用で業務効率の大幅アップを実現
APIを効果的に活用すれば、開発のスピードアップに加えて、メンテナンスの容易さも実現され、業務効率を大幅にアップさせることが可能となります。これは開発者にとってはもちろん、企業の経営陣にとっても、グローバル社会で生き残っていくための非常に大きなメリットと言えます。そういった意味では、開発者だけでなく、経営陣もAPIの最低限の知識、特にWeb APIに関して知っておくことが、今後の企業経営において重要なポイントになると言えるでしょう。

Rakuten RapidAPIには、システム開発だけでなく、アプリ開発やWebサービス開発に活用できるさまざまなAPIが公開されています。開発者以外の方も「APIをより深く理解する」といった意味で、ご覧になってみてはいかがでしょうか？

##参考

* [地方銀行としてフィンテックを実践 使いやすい残高照会機能が好評を博す｜yappli](https://yapp.li/voice/chibagin.html)
* [「みずほダイレクトアプリ」の「Amazon Alexa」対応開始について｜みずほ銀行](https://www.mizuhobank.co.jp/release/pdf/20171108release_jp.pdf)
* [求人情報システムでGCPのAPIを活用｜Cloud Ace](https://www.cloud-ace.jp/case/detail21/)
* [BacklogとTypetalkのAPIを活用するアットウェア社のユニークな取り組みをご紹介！｜Backlogブログ](https://backlog.com/ja/blog/atware-backlog-typetalk/)
 
![あらためて理解するAPIのメリットと重要性.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352271/25338714-61d3-8945-62a5-42d4167ad2f8.png)