APIの仕組み — アプリ同士が会話する方法
導入
スマートフォンの天気予報アプリが最新の気象データを表示できるのは、裏側で別のシステムと情報をやり取りしているからです。この「アプリ同士の会話」を可能にする仕組みがAPIです。
なぜ重要か
現代のITサービスのほぼすべてが、複数のシステムを連携させることで成り立っています。決済・地図・翻訳・認証など、専門的な機能をゼロから自社開発するのは膨大なコストがかかります。APIを使えば、こうした機能を外部サービスから呼び出して自社サービスに組み込めるため、開発効率が飛躍的に向上します。
ITパスポートの試験では、システム連携の仕組みとしてAPIが繰り返し登場します。「どのように外部サービスを呼び出すか」「どのメソッドを使うか」「Webhookとは何か」という形で問われることが多く、テクノロジ分野を得点源にするうえで欠かせないテーマのひとつです。クラウドサービスやSaaSとの連携が標準化された今、APIの基礎知識は開発者だけでなくビジネス担当者にも求められるリテラシーになっています。
くわしく知ろう
API(Application Programming Interface)とは、異なるソフトウェアやシステム同士が機能やデータをやり取りするための「窓口(インタフェース)」のことです。APIを使うことで、他社のサービスの機能を自分のアプリに組み込むことができます。
現在最も広く使われているのがREST API(RESTful API)です。HTTPプロトコルを利用してデータをやり取りする方式で、操作の種類に応じて4つのメソッドが用いられます。データを取得するGET、新しいデータを作成するPOST、データを更新するPUT、データを削除するDELETEがその基本となります。データのやり取りにはJSON(JavaScript Object Notation)形式が一般的に使われます。
WebhookはAPIの仕組みと対比して語られることが多い概念です。通常のAPIが「問い合わせに対して返答する」プル型の形式なのに対し、Webhookは「特定のイベントが起きたときに自動的に通知を送る」プッシュ型の仕組みです。たとえば、ECサイトで注文が確定したタイミングで自動的に在庫管理システムへ通知を送る、といった場面で活用されます。
APIを公開している企業は、利用ルールをAPI仕様書(APIドキュメント)として提供しており、開発者はこれを参照して連携機能を実装します。APIにはAPIキーと呼ばれる認証情報が必要なものが多く、不正利用の防止や利用量の管理に使われています。
具体例で理解する
たとえば、地図サービスのAPIを利用することで、自社のWebサイトに地図表示機能を追加できます。また、決済サービスのAPIを組み込めば、ECサイトにクレジットカード決済機能を実装できます。これらはすべてAPIが「窓口」となってシステム間の連携を実現しており、開発チームはゼロから決済や地図を作る必要がなくなります。
試験での出題パターン
【パターン1:HTTPメソッドの役割を問う問題】
GET・POST・PUT・DELETEそれぞれの役割と対応する操作の組み合わせを問う形式です。「新規データの登録に使うメソッドはどれか」という問いにはPOSTが正解であり、「データの取得に使うメソッドはどれか」にはGETが対応します。CRUD(Create・Read・Update・Delete)という操作と、POST・GET・PUT・DELETEとを対応させて暗記しておくと素早く答えられます。
【パターン2:WebhookとAPIの違いを問う問題】
「アプリが一定間隔でサーバーに問い合わせる方式」(ポーリング)と「イベント発生時に自動通知する方式」(Webhook)を区別させる問題が頻出です。「プッシュ型」「プル型」というキーワードも合わせて整理しておくとよいでしょう。また、JSONがAPIのデータ交換形式として標準的に使われる理由(人間が読みやすく、軽量で扱いやすい)を押さえておくと選択肢の絞り込みに役立ちます。
よくある間違い・紛らわしいポイント
【PUTとPOSTの混同】
POSTは「新規作成」、PUTは「既存データの更新(上書き)」です。「登録する」という動作はPOSTに対応しますが、「変更する・書き換える」という動作はPUTに対応します。面接やアンケートへの「新規送信」はPOST、ユーザープロフィールの「編集して保存」はPUTというイメージで区別してください。
【WebhookとAPIを別物と思い込む誤解】
Webhookは広義にはAPIの一形態ですが、通知の方向が異なります。通常のAPIはクライアント側からサーバーにリクエストを送る「問い合わせ型」ですが、Webhookはサーバーからクライアントへイベントをプッシュする「通知型」です。「どちらがリクエストを起点にするか」で判断できます。
【JSONとXMLの混同】
JSON以外にXML(Extensible Markup Language)もデータ交換フォーマットとして使われることがあります。JSONは`{"key": "value"}`形式でシンプルかつ軽量、XMLは`<tag>value</tag>`形式でより厳密な構造を持ちます。現在のWeb APIではJSONが主流である点を覚えておいてください。
まとめ・試験ポイント
- API=異なるシステム間でデータや機能をやり取りするための窓口
- REST API=HTTPを使った代表的なAPI方式(GET/POST/PUT/DELETE)
- GET=取得、POST=作成、PUT=更新、DELETE=削除
- Webhook=イベント発生時に自動で通知を送るプッシュ型の仕組み(ポーリングの逆)
- データ形式はJSON(JavaScript Object Notation)が一般的
- 試験では「APIの役割」「REST APIのメソッド」「WebhookとAPIの違い」が問われる
学習した内容を試験形式で確認しよう。ITパスポート入門試験100問に挑戦できます。
入門試験100問に挑戦する