chatgptでAI技術がトレンドになった2023年。同時に「API」という言葉を見かけるようになった方も多いそうです。APIとは、簡単に 書くと、プログラム同士をつなぐトンネルのことです。トンネルと書きましたが、実際はインターフェースです。こういうのが、実際どのような意味なのかよくわからないとなる箇所なのですけどね(笑)そこで、この記事ではAPIについて解説していきます。
APIとは
APIとは、プログラム同士をつなぐトンネルみたいなものです。
たとえば、天気情報のAPI。天気情報を持つウェザーニュースや気象庁のDB。ここに外部のネット環境からアクセスするには、ハッキングするしかありません。しかし、ウェザーニュースや気象庁がAPIを提供していれば、そこに、自分で作ったプログラムでアクセスして、OKという許可とともに、天気情報のデータを渡してくれます。
もっと具体的に言えば、天気情報のAPIを例にすると、天気情報のAPIは、東京都、12/23、晴れという情報を持っています。そこに、webサイトのプログラムでアクセスすると、この「東京都、12/23、晴れという情報」を獲得できます。これがAPI通信ということになります。
要は、APIとは、データなどを受け渡したりするプログラムと、自分たちで作るような情報を取得するプログラムをつなぐ仕組みなんです。
APIとは、Application Programming Interface(アプリケーション・プログラミング・インターフェース)の頭文字の略称です。プログラムといっていますが、その塊であるソフトウェアも、APIの対象となります。
API 利用用途
APIの利用用途は、上記の例のように、データの取得、提供などが主になります。
APIがあることで、大手企業や公共施設、公共機関は、各種情報を広く配れます。ニュースがわかりやすいかもしれませんが、それを貯蓄することで、多くの企業に伝播できるのです。
郵便番号なんて、こういうAPIの最たるものですよね。
住所の情報があれば、APIで、一覧で取得したい!
こういうときに、APIを使うのです。
利用者側 の API メリットは?
でも、何のメリットがあるの?って思うかもしれません。
APIがあると、具体的な情報提供、紹介などが便利なんですよね。
たとえば、東野圭吾氏の本の一覧を掲載するホームページを作ったときに、売っているサイト、ページも紹介したいですよね。
Amazonが提供しているAPIを使えば、一覧で、このページのURLや、値段、本の正式なタイトル、出版社などの情報を取得できるので、ホームページの情報に網羅性を持たせられますね。
GoogleMAPのAPIを使えば、その本を実際に売っているであろう書店の地図を表示されることも可能になります。
こういうかんじで、情報網羅性を高められるのが、API利用者側のメリットです。
では、逆に、APIを提供する側のメリットは?
提供者側 の API メリットは?
API提供者側 の API メリットについて、解説しますね。
提供者側 の API メリットを箇条書き的にまとめると、以下4点です。
- プログラム開発の効率化
- セキュリティレベルの向上
- 情報の普及が簡単
- 問い合せが減少
1つずつ解説します。
プログラム開発の効率化 提供者側 の API メリット
APIは、情報を配ることが簡単になります。許可さえ出ていれば、API通信によって、各種データを取得できます。
ということは、データ配布の拠点みたいなもんなんです。
そのため、DBのおいているベースのネットワーク、サーバ以外から、データの取得ができるようになるので、結果的に、プログラムの開発がしやすくなります。
外のサーバからデータを取れるようになるため、わざわざ、基幹的なDB、ネットワークにアクセスするようなプログラムを書いたり、認証をする必要がなくなるからです。
データ取得の部品、ライブラリがあるようなものなので、プログラム開発の効率化につながってくるわけですね。
セキュリティレベルの向上 提供者側 の API メリット
上記で書いたように、基幹となるDBに直接アクセスしなくていいので、結果的に、セキュリティレベルは向上します。
自社でセキュリティレベルの高いシステムを開発することは、難易度が高いため、結果、コストがかかります。時間がかかります。
ですが、API用のサーバやプログラムを作るだけなら、低コストで済みます。
仮に、API用のサーバがハッカーに乗っ取られても、データが改ざんされるだけで、基幹のDBやプログラムは無傷で済みます。
もっとも、その情報が個人情報や決済情報なら、危険ですが、APIで、そこらへんを公開することはないので、基本安心です。
情報の普及が簡単 提供者側 の API メリット
マーケティング観点では、情報の普及は大切なことです。
情報を公開できる環境ができると、多くのユーザーが、その情報を露出できます。
これは、APIによって、可能になる、大きなメリットです。
先程のamazonのAPIの例が、情報普及を簡単にさせている例で、本のサイトを作ろうとしたときに、APIがあると、とても便利になります。
情報が普及しやすくなるのです。
問い合せが減少 提供者側 の API メリット
地味に、これも大きな話です。APIの裏には、データがあるわけですが、都度、この情報、どうとったらいいですか?みたいな問い合わせが来ると、対応するのも大変です。
APIを用意して、その接続方法、使い方の説明書き(一般的には、API仕様書)を作っておけば、こういった問い合わせの対応をしなくて済むようになります。
とはいえ、このAPI仕様書を作るのは、素人では難しいですけどね。
API 仕組み
ここからは、API 仕組みを解説します。
ユーザーがECサイトで商品を購入するとき、クレジットカードで決済したりしますよね?このとき、決済はAPIを経由して行われることが多いです。
購入しようとしたユーザーが「購入」ボタンをクリックすると、クレジットカードの番号などの情報を元に、クレジットカード会社のサーバに、そのクレジットで決済していいかどうかの確認をするプログラムが動きます。
このプログラムは、クレジットカード会社、たとえば、VISAの作ってあるAPIプログラムにアクセスして、許可を取ります。そして、VISAのAPIは、OK、NGを回答します。
この回答結果をもとに、決済システムは、ユーザーのwebブラウザなどで、「購入が完了しました」とか、「購入できませんでした。クレジットカード情報が間違っています」などの表示をします。
ちなみに、この、クレジットカードで決済していい?と聞く動作を、「リクエスト」と呼んでいます。そして、リクエストの際に、統一資源識別子(URI)を介してプログラムでその回答を求めるのです。
リクエストの中には、クレジットカード番号だけではなく、どこのサイトか?とか、request.verbやヘッダー、ボディといった情報が入っています。
この一連の流れが、APIの仕組みです。
難しく言葉を並べると、いくらでも補足はできますが、APIの基本の流れだと理解しておくといいかもです。
API 簡単 解説 Youtube 動画
APIの仕組みなどを解説している動画は、結構あるのですが、子供でもわかる!という視点で、20万回以上の再生回数のある動画をYoutubeで見つけたので、共有します。
結構、わかりやすく、図なども出ていて。
キャプチャもわかれているので、うーん、ここは。。という箇所は、戻って、繰り返し、Youtubeで学習できますね。
API 収益
APIを作ることで、データが配りやすくなりました。無料でAPIでデータを公開するサイト、システムも増えています。
一方で、有料で、データを提供するサービスもあります。データ収益化が行われているわけですね。
不動産の物件情報などは、わりと、この有料APIになってきます。
この有料APIで、お金を稼ぐことを、APIエコノミーと呼びます。
不動産の物件情報であれば、月額1~2万円程度でAPIの提供がされているケースが多いですね。
なので、金額的にはむちゃくちゃ高いわけではないですが、1,000社が使えば、すでに、年間で数億円の年商、売上になります。
APIの種類
APIには、いくつか種類があるんです。APIの種類について解説しておきます。
基本的に、公開先にあわせて、種類の名前が変わります。
- オープンAPI
- パートナーAPI
- 内部API
オープンは、全公開、だれでも許可が取れれば公開されるAPIです。
パートナーAPIは、特定のパートナーにしか公開されないAPIです。有料APIはわりとこれですね。
内部APIは、社内スタッフなど、内部の人間しか使えないAPIです。
概ね、オープンAPI、パートナーAPIの利用の方が多いですね。
コンポジットAPI とは
コンポジットAPI という概念の異なる、APIの種類もあります。
コンポジットAPIは、複数のAPIに、1回のリクエストで、アクセスできるようになるAPIのことを指します。
例をあげると、SNSなどが提供する会員ログインAPIとかですね。
1度APIで、会員ログインできれば、その会員ステータスに関連した、複数のサービスにそのままアクセスできるようになります。
複数のプログラム、DBなどのソースから情報を取得、活用する必要があるときに、スピーディーかつ手間なく、稼働できるプログラムです。
API 実例
イメージしやすいように、APIの事例を列挙します。
- Google map api
- LINE api
- amazon api
- 楽天 API
- ウェザーニュース api
- stripe api
- YouTube API
などなどです。
Amazon APIがあれば、Amazonにある商品の情報取得や、アマゾンアフィリエイトでの活用、AWS(アマゾン・ウェブ・サービス)での情報取得などができます。
LINE APIはLINEログイン機能が有名かもですね。音声アシスタント機能なども提供されているので、ここの機能を活用してのwebサービスやタブレット端末などの開発も可能になりますね。
あ、LINE決済機能なんかも、LINE API ですね。
API で できる機能
具体的に、APIを活用してできること、機能について、解説していきます。クレジットカード決済の例は出しているので、以下では書きませんよ~
ソーシャルログイン
SNSのログイン情報を活用して、各企業の会員ページにログインできるようになる機能です。IDとPWを、複数設定しなくてもよくなるので、便利です。
新規会員登録のたびに新しく登録するのの時間と手間を省けますよ!つまり、ユーザー利便性の向上になるわけです。
料金表
同じものでも、Aサイトだと、X円、Bサイトだと、Y円。
これをいちいち見ていくのはわずらわしいですよね。
これを一覧視できるように、可能にしてくれるのが、APIです。
料金表をまとめて作ることができます。
じゃらんなら、楽天トラベルなら みたいなかんじで、一発比較できるのです。
ブログからのSNS自動投稿
ブログで記事を書いたら、それが、X(旧twitter)などに掲載される。これは、手間がなくていいですよね。
これもAPIが可能にしてくれます。
ちなみに、slackとか、chatworkにもありますね。
都度都度、投稿する画面をわけなくていいのは、時間的にいいです。作業の効率が高まるわけですね。
API プロトコル とは
APIプロトコルについて解説します。
APIプロトコルとは、標準化されたAPIの仕様のことを指し、これを元に、データのやりとりを行う!といった、いわゆる、ルールのようなものです。
- SOAP
- XML-RPC
- REST
- JSON-RPC
と4つが、API プロトコルのメインどころです。
SOAP
SOAPとは、Simple Object Access Protocolの略称で、XMLベースで作られています。HTTP経由で、データの送受信が可能です。webサイトでもよくつかわれます。
XML-RPC
XML-RPCは、XML-Remote Procedure Callの略称。
XMLフォーマットで、データのやり取りをします。容量が小さめです。
そのため、通信が軽いですが、今は比較的利用頻度が落ちました。
REST
REST(Representational State Transfer)は、Web APIとして、利用がメインといったAPIのプロトコルですね。
JSON-RPC
JSON-RPCは、XML-RPCと異なり、XMLではなく、JSONで通信する形式です。JSON(JavaScript Object Notation)なので、テキストベースのデータで、わりと、容量多いデータでも通信できます。
ブラウザ経由で使うことが多いですね。
API 利用フロー
一般的な、APIの利用フローを書きます。
オープンAPIでの内容です。
基本、APIは、利用するのに、そのAPI提供者へ許可を取る必要があります。
すなわち、APIの利用フローは
- API利用登録
- APIキーの取得
- APIへの接続プログラム作成
- テスト接続
- 本番導入
これが、APIの利用フローとなります。
これは、facebook、Youtube、amazon、LINE、Google、いずれのAPIでも原則同じです。覚えておきましょう。
まとめ API 使う 提供する いずれも便利。AIで接続回数増えるかも!
APIとは、いかがでしたか?
より効果的にAPIを用意、取得できるようにしていけば、webを介して、よりサービスの浸透度はあがります。可能性を広げる意味でも、APIを作る、活用する!を意識されてみてはいかがでしょうか?
APIを活用することで、セキュリティも高まるし、ユーザーの利便性も高まります。顧客満足度の向上にもつながり、マーケティング的にも、情報の普及がしやすくなります。
特にchatgptが出てきて、AIで、プログラミングできる時代になったので、APIを活用してのマーケティングを意識してみると、いいかもしれませんよ。
web広告 直帰率 改善方法は?広告経由 直帰率 や 直帰率 指標 も まとめて解説
システム関連 人気 記事
システム関連 人気 記事 まとめました!
Stripe 使い方 Stripe(ストライプ)とは?安い!導入が楽!なオンライン決済
https://saras-wati.net/web-make/system/stripe-use-howto/
【基礎知識】システム開発 フロー ウォーターフォール型開発とは メリットは?
https://saras-wati.net/web-make/system/about-system-dev-waterfall/
Drupalとは 無料 高機能 CMS ドルーパル メリット wordpress 比較 検証
https://saras-wati.net/web-make/about-drupal/
Amazon S3 使い方 最強 オンライン ストレージ メリット 料金 など AWS ガイド
https://saras-wati.net/web-make/system/amazon-s3-howto/
Google フォーム カスタマイズ Google Apps Script(GAS)で できること
https://saras-wati.net/web-make/system/google-apps-script-form-knowhow/
ノウハウ!決済代行会社 選び方 比較 方法 ネットビジネス のための 基礎 知識
https://saras-wati.net/web-make/system/pay-online-company-select-howto/
Wrikeとは 大手 タスク管理 プロジェクト管理ツール 料金 評判 などを解説
https://saras-wati.net/news/groupware/wrike-tool/
【SEO】Amazon CloudFront 設定 方法 AWS CDN で UX 改善!表示速度改善!!
https://saras-wati.net/knowhow/amazon-cloudfront-setting-howto/
【 palanRFPとは 】テンプレート を シンプルUI で サクサク RFP制作 できるツール
https://saras-wati.net/news/worksbace/about-palanrfp/
【ベンダー選定に】RFI 情報提供依頼書 とは RFI書き方 サンプル まとめ
https://saras-wati.net/knowhow/howto-rfi/
【メール配信サービス】導入 簡単! sendgrid センドグリッド とは
https://saras-wati.net/web-make/about-headless-commerce/
業務システム ローコード 制作可能な Airtable エアテーブル
https://saras-wati.net/web-make/system/airtable/
就職・転職前に知りたい!2022年 web開発言語 トレンド まとめ
https://saras-wati.net/web-make/work-programming-trend2020/
テスト自動化ツール おすすめ は? AI で デバック スピード 改善 工数 削減
https://saras-wati.net/web-make/system/test-auto-tools-recommend/
typescript 将来性 は? TypeScriptとは 特徴 JavaScript 違い まとめてみた
https://saras-wati.net/web-make/system/typescript-future-worth/
【無料】SQL 操作 なら DBeaverとは ノンプログラマー でも DB操作可能!
https://saras-wati.net/web-make/system/about-sql-dbeaver/
【無料】スクエア 予約システム クレジットカード決済付き 予約サイト どう?
https://saras-wati.net/web-make/system/square-booking-system/
CDNサービス一覧 特徴 比較 簡単にまとめてみた。SEO ユーザビリティ改善に
https://saras-wati.net/web-make/system/cdn-service-list/
シングルページアプリケーション(SPA)とは 有名サイト 事例 作り方 は?
https://saras-wati.net/web-make/system/about-single-page-application/
ER図とは データベース設計 が うまくいく 書き方 を わかりやすく 解説
https://saras-wati.net/web-make/system/create-er-diagram-howto/