APIとは?概要や必要性について初心者向けにケーススタディを交えて分かりやすく解説

 2020.12.08  株式会社システムインテグレータ

API(WebAPI)とは何でしょうか?

 APIとはApplication programming interfaceの略で…、というのは他のサイトでよく見る解説です。でも、この記事にたどり着いた方は、そんな解説が正直よく分からなかった方ではないでしょうか?

 技術的に詳細を語ればキリがないAPIですが、ここではITに詳しくない方向けにザックリと解説してみます。本記事を読み終わる頃には、APIとは何かについて、ばっちりイメージできていますよ!

ケーススタディ:あなたはWebサイト担当者

まずAPIそのものではなく、APIの活用シーンから見ていきましょう。

 ケーススタディとして、あなたはWebサイトの運用・開発担当者で、かつプログラマとしてではなく管理者としてWebサイトにたずさわる人であると想定します。

 ある日、上司からこんなことを言われたらどうしますか?

郵便番号から住所を表示してくれる?(From上司)

「キミが担当しているサイト、ちょっと使ってみたよ。ユーザ登録のときに、郵便番号を入力させるクセに、住所は都道府県から町名まで全部手入力なんだよね。自動で表示できないの?」

 一瞬なんやねんと思いますが、よくよく考えてみればそのとおりです。郵便番号が決まれば都道府県から市区町村あたりまで決まるので、むしろユーザに住所を手入力させる方が危険かもしれません。

 そこで、郵便番号を入力したら市区町村以降を自動で表示させる仕組みを検討するものの、いろいろと問題が立ちはだかります。

予算に余裕はありません(開発費の問題)

すでに運用が始まっているシステムでは、機能を追加するための予算はそうそう下りません。上司の○○さんが言ったから、ではダメなのです。利益の増収が見込めるか、あるいはユーザにとって何らかのメリットがあるか、それなりの理由とそれに見合った予算承認が必要です。 

仮にこの機能を実装するにしても、住所を入力させるところは何箇所もあったりします。どこか1箇所だけ実装を入れるというわけにもいきません。やるとすればサイト内の住所を入力するところすべてです。住所入力の数だけ費用がかかるのはキツいですね。

郵便番号、全部で何件ある?(負荷の問題)

このようなケースでは、必要なデータをマスタ化するのが一般的です。そこであなたはこう思うことでしょう。

 「郵便番号ってダウンロードできるのかな?それって容量的にどれくらい?」

 そして「郵便番号 ダウンロード」でググってみます。すると見事にピッタリの日本郵便のホームページ(https://www.post.japanpost.jp/zipcode/dl/kogaki-zip.html)がヒットします。

図1_日本郵便ページ(図1_日本郵便ページ)

CSVファイルをZIP圧縮したものがダウンロードできるので、それを開いて見てみると・・・

図2_CSVデータ(図2_CSVデータを開いてみる)

その数、何と12万件!郵便番号って結構多いですね。これでは、どれだけDBでインデックスを張っても、それなりの検索時間がかかりそうです。

新規CTA
新規CTA

運用できる?(運用の問題)

さらに下を見ると、もう一つの問題があります。更新の頻度の問題です。

図3_更新の頻度(図3_更新の頻度)

意外ですね、毎月日本のどこかで住所が変わっているようです。これでは毎月更新しなくてはなりません。いくらバッチ処理で実装するにしても、毎月だれかがダウンロードして取り込み処理を実行するのは面倒、しかもその人が忘れていたら・・・と考えると何かと大変ですよね。

API使いましょうよ!

悩むあなたに、エンジニアが声をかけます。

 「API使いましょうよ、カンタンでメンテはいらないし」

 あなたは「APIって何!?」と思い、ブラウザのURLの欄にエンジニアから教えてもらったURLを入力し、恐る恐るEnterキーを叩きます。URLは以下です。

 https://zipcloud.ibsnet.co.jp/api/search?zipcode=3306032

すると、文字だけながら以下の結果が返ってきます。

図4_APIからのレスポンス(図4_APIからのレスポンス)

おおっ!!それらしい結果が返ってきました。この結果を取得して、住所の入力欄に入れることができたら…、最高です。

 こうしてあなたは、郵便番号から住所を得る方法を知りました。早速明日の会議で提案してみたくなるでしょう!

APIとは何か

ここまでのケーススタディを踏まえて、APIとは何なのかを説明していきます。

APIとは何か、今なら分かる

APIを、簡単に説明すると「決まった方法でアクセスをすれば決まった結果を返してくれるもの」です。

 先のケーススタディでいうと、URLの末尾にzipcode=郵便番号でアクセスすると、住所を決まった形式で返してくれるのです。一般的にはJSONという形式で結果が返ります。郵便番号の例もJSON形式です。

 どこからでもアクセスできる口を開けておき、決まった形式でアクセスを受け付けて、仕様通りの結果を返すインターフェースとなるのがAPIです。APIという単語は、Application Programing Interfaceの略なのも、何となく分かる気がしますね。

APIを使うメリット

再びケーススタディへと戻り、自前開発する場合のデメリットがAPIによってどのように解消されるかを考えてみます。

 < 開発費の問題 >(コストが削減できる)
 APIを動かすための実装は必要になりますが、自前でDB内にデータを入れるテーブルを作ったり、データをメンテできる処理を作ったりするほどの工数はかかりません。

 < 負荷の問題 >(パフォーマンスの向上)
DBにアクセスする必要はないし、実データは持たないのでディスク容量を圧迫することはありません。結果が返るまでのレスポンスが遅ければ、それはAPIの所有者側の問題となるので対応する必要はありません。

 <運用の問題>(利便性)
 郵便番号辞書はAPIの所有者側で管理するので、使う側は辞書の変更に対して何もする必要はありません。APIを使う側は、APIの背後にあるインフラを意識する必要はないのです。ただ使う、それだけです。

Web APIとは何か

WebAPIとは、ここまで説明してきた、API提供者とAPI利用者とのやりとりをHTTP/HTTPSベースで実現するAPIのことです。「Web」ではないAPIは通常、API利用者が用いるプログラミング言語と同じ言語で提供されることが多いのですが、一方Web APIはHTTP/HTTPSベースのAPIであるため、異なるプログラミング言語で開発されたアプリケーション間を連携させることが可能になります。さらにWebブラウザでも利用できるなど、他のAPIよりも汎用(はんよう)的に利用できるというメリットもあります。
Web APIの代表的な実装方式として、RESTとSOAPが存在します。

APIの種類はさまざま

今までは郵便番号について解説してきましたが、世の中にはまだまだ多くのAPIがあります。今度は楽天APIを使ってみましょう。

楽天WEBAPIを使ってみる

楽天はWEBAPI経由でアクセス可能です。こちら(https://webservice.rakuten.co.jp/document/)のサイトをご覧ください。

図5_RakutenDevelopers(図5_RakutenDevelopers)

楽天ブックスや楽天トラベルもAPI経由でアクセスできますが、ここでは一番オーソドックスな「楽天市場商品検索API」を使ってみましょう。先のURLにアクセスし、さらに楽天市場商品検索APIの「テストフォーム」という青いボタンをクリックしてください。

 ここで諸条件を入力し、検索してみましょう。検索条件はキーワードで、検索ワードを「マスク」と設定し検索すると、郵便番号のときと同じようにJSONで結果が返ります。

 一方で、ブラウザから普通に楽天へアクセスし、商品検索キーワードを同じく「マスク」として検索してください。普通に商品検索画面が表示されます。

 左側がAPIから返ってきた内容、右側がブラウザで表示された内容です。両者とも検索結果が同じことが分かります。

図6_楽天APIと楽天ウェブサイトの比較(図6_楽天APIと楽天ウェブサイトの比較)

サービスあるところにAPIあり

今まで郵便番号検索と楽天を見てきましたが、APIはもっとたくさんあります。天気、ニュースなどなどです。ネット上でお気に入りのサービスがあれば、そのサービスを外から使うためのAPIがないか、検索してみても面白いでしょう。

その他の代表的なAPI(API連携で利用できる機能)

Amazon

「商品の最新情報の表示」「1日あたりの販売額・紹介料の推移の把握」「AWS(アマゾン・ウェブ・サービス)」などがあります。これらは、Amazonを通した出品やアフィリエイト運用などに活用できます。

Google

代表的なAPIは「Gmail」「Google Analytics」「Google Cloud 」などがあります。Googleは世界中の情報を整理し、世界中の人がアクセスできて使えるようにするという企業使命を元に、多くのAPIを無料で公開しています。GoogleのAPIを上手く活用することで集客、サイト運営、情報管理などを効率化を実現できます。

LINE

「Lineログイン」「Social API v2.1」「LINE Messaging API」などがあります。これらは、人々のコミュニケーションのツールとしてよく使われていますが、最近ではビジネスの場でも良く使われています。

YouTube

「動画の制御」「動画の効果測定」「チャネルのデータの一括取得」などがあります。API連携により自らのソフトウェアでこのような分析ができるようになると、集客において競合と差をつけやすくなります。

まとめ

本記事では、APIとは何かを解説しました。実際に手を動かしたり、お気に入りのサイトにAPIがないか調べてみたりして、さらに理解を深めてくださいね!

-----参考情報-----
■TV出演動画:ええじゃない課Biz(2022/05/29 放送 TOKYO MX)
アンタッチャブル柴田さん、アルコ&ピースさんがレギュラーのビジネス情報番組「ええじゃない課Biz」にて、プログラミングスキル判定サービス「TOPSIC」と企業・学校対抗プログラミングコンテスト「PG BATTLE」のご紹介をさせていただきました。5分位の動画ですので、ぜひご覧くださいませ。

 

新規CTA

RELATED POST関連記事


RECENT POST「テクノロジー」の最新記事


テクノロジー

テック系ポッドキャスト!これからは耳でも学ぼう

テクノロジー

なぞかけとは?ビジネスとなぞかけの意外な関係

テクノロジー

ブロックチェーンとは?

テクノロジー

VPNとは?安全な通信のための基礎知識

APIとは?概要や必要性について初心者向けにケーススタディを交えて分かりやすく解説

TOPSIC TOPへ