NEW

業務改善の第一歩を学ぶ 【第2章】APIの仕組みとは?概要を解説!

「BIZTEL」では、多彩なAPI群を用意しており、柔軟なシステム連携によるコールセンター運営のサポートが可能です。また、BIZTELブログで掲載中の「BIZTEL API使ってみた」シリーズでは、担当者がAPI連携を活用した様々な機能実装にチャレンジし、センター運営の新たな可能性を拡げる活動をしています。

ですが、「そもそもAPIって?」「なんだか難しそう…」と思う方も多いのではないでしょうか。

そこで、この「業務改善の第一歩を学ぶ」シリーズでは、「BIZTEL API使ってみた」の記事で数々の機能実装に挑戦している田中 美穂さんが、APIの基礎から応用までわかりやすく解説します。

今回は、【第2章】APIの仕組みとは?概要を解説! です。

前回の記事はこちら

はじめに

こんにちは!BIZTEL開発部門の田中です。
この記事をご覧いただき、ありがとうございます!

第1章で、API(Application Programming Interface)は、異なるソフトウェアやシステムが互いに通信し、データや機能をやり取りするための仕組みということを学びました。

この仕組みには、クライアントとサーバーが重要な役割を担っています。また、APIリクエスト(※1)にはさまざまな種類があり、それぞれが特定の役割を果たします。

※1 APIリクエスト:あるシステムから別のソフトウェアやシステムに対して、データ・機能の提供を要求すること。

第2章では、以下の流れに沿って「APIの仕組み」を学んでいきましょう!

  1. クライアントとサーバーの関係
  2. リクエストとレスポンスの流れ
  3. メソッド

クライアントとサーバーの関係

先ほど紹介した通り、APIとは「異なるソフトウェアやシステムが互いに通信し、データや機能をやり取りするための仕組み」です。

そして、その仕組みには「クライアント」「サーバー」が重要な役割を担っています。では、その役割とは何でしょうか?

例えば、あなたが図書館の本を予約し、それを受け取りに行ったとします。あなたが、「この予約した本を貸してください」と言うと、図書館の職員がその本を持ってきて、貸してくれます。このとき、あなたがお願いする人(クライアント)で、職員がお願いをきいてくれる人(サーバー)となります。

APIを動かすときには、お願いする人(クライアント)と、その願いを叶えてくれる人(サーバー)が必要ということです。

以下の図は、クライアントとサーバーの関係を示しています。

  1. クライアント(API利用者)が「○○サービスの▲▲に関する情報が欲しい」とお願いします。
  2. サーバー(API提供者)がそのお願いを受け取り、内部で必要な処理を行います。
  3. 処理が完了したら、サーバーは結果をクライアントに返します。

レストランで例えると、以下のようになります。

  • クライアント:APIを利用してデータやサービスをリクエストする側。これは、レストランで料理を注文するお客さまのイメージです。
  • サーバー:APIで受け付けたリクエストに応じて、データやサービスを提供する側。これは、注文のあった料理を調理し、提供するレストランのスタッフ(ウェイターやクック)のイメージです。

リクエストとレスポンスの流れ

次に、APIにおけるリクエストとレスポンスの流れを見てみましょう。
リクエストとは、クライアントがサーバーに送るお願いのことです。
また、レスポンスとは、サーバーがクライアントに返す応答
のことを指します。

クライアントからリクエストが出ると、サーバーがリクエスト内容に応じて処理を行い、クライアントにレスポンスを返します。

例えば、クライアントが「現在の東京の天気に関する情報がほしい」とリクエストした場合、サーバーは「今日は晴れです」とレスポンスを返すというような流れです。

レストランで例えると、以下のようになります。

  • リクエスト:お客さんがウェイターに「野菜炒め(ごはん少なめ、副菜は豆腐)がほしい」と言う
  • レスポンス:ウェイターがお客さんに「野菜炒め(ごはん少なめ、副菜は豆腐)」を提供する

では次に、「リクエストの種類」について、見ていきましょう!

メソッド

リクエストにはいくつか種類があり、それらを総称して「メソッド」といいます。
メソッドは、APIを通じてサーバーに「何をしたいか」を伝えるための指示です。各メソッドには、特定の役割があります。

以下は、代表的なメソッドの種類と役割をまとめた表です。

APIの基本的な仕組みを理解することは、APIを効果的に利用するための重要なステップです。次は、実際にAPIを使ってみましょう。

APIを使ってみよう

ここまで説明続きでしたが、次は実際にAPIを動かして理解を深めていきます。

Webブラウザ(Chromeなど)を用意できる環境であれば、すぐに実践できます。準備ができたら、ぜひ一緒にやってみましょう!

手順

1. APIのページを開く

Webブラウザを開き、以下のURLをコピー&ペーストしてください。

https://portal.data.metro.tokyo.lg.jp/opendata-api/


今回利用するのは、東京都が公開している
オープンデータAPIです。以下のWebページが表示されればOKです。

2. 興味のあるデータを選択する

ページに表示されている「新型コロナコールセンター相談件数」や「公共施設一覧」などの項目から興味のあるデータをクリックします。私は、東京都のイベント一覧に興味があるので「東京都イベント一覧情報」を取得してみようと思います。

3. APIを試してみる

「東京都イベント一覧情報」の詳細ページが開きます。右上の「Try it out」ボタンをクリックします。

「Parameters」の入力欄が編集可能になります。「Parameters」とは、APIに送る追加情報のことです。ここでは、これを検索条件として利用し、東京都のイベント一覧情報を絞り込むための条件を指定します。

今回は、無料かつ予約不要のイベントを検索するために、「料金_要否」に0を、「予約申込_要否」に0を設定して検索してみましょう。

設定が完了したら、ページ下部の「Execute」ボタンをクリックします。


4. 実行結果を確認

実行結果が、下部に表示されます。

サーバーからのレスポンスは JSON形式(※2)で表示されています。「Server response > Response body」を確認すると、今回設定した条件に合致したイベント情報が、JSON形式で表示されています。

※2 JSON (JavaScript Object Notation) :JavaScriptのオブジェクト表記法をベースにした、データを構造化して表現するためのテキスト形式。主にWebアプリケーション間などでデータを交換するために使われる。


5. ブラウザで確認

オープンデータのAPI画面での実行結果と同じ内容を、Webブラウザでも確認することができます。

以下の「リクエストURL」をコピーして、WebブラウザのURLに貼り付けて実行してみてください。

https://api.data.metro.tokyo.lg.jp/v1/Event?ex%3A%E5%8F%82%E5%8A%A0%E6%9D%A1%E4%BB%B6.ex%3A%E6%96%99%E9%87%91_%E8%A6%81%E5%90%A6=0&ex%3A%E5%8F%82%E5%8A%A0%E6%9D%A1%E4%BB%B6.ex%3A%E4%BA%88%E7%B4%84%E7%94%B3%E8%BE%BC_%E8%A6%81%E5%90%A6=0&limit=10

 

Webブラウザに貼り付けて実行します。

APIページの実行結果と同じ「レスポンス」が、ブラウザからも確認できました。

このようにAPIを利用すると、いろいろなデータをやり取りすることができます。

今回は、APIを使うことで、どのように情報がやり取りされるのかを確認しました。次回の第3章では、Postman(※3)を使って実際にAPIを実行してみましょう。

※3 Postman:APIが正しく動作するかを簡単にテストしたり、開発したりするためのツール。

第2章の振り返り

  • クライアントとサーバーの関係
    • クライアントは、APIを利用してデータやサービスをリクエストする役割で、サーバーはそのリクエストに応じてデータやサービスを提供する役割を担っています。この関係がAPIの基本的な動作原理です。
  • リクエストとレスポンスの流れ
    • リクエストが、クライアントからサーバーに送られ、サーバーはその内容に応じて処理を行い、レスポンスをクライアントに返します。
  • メソッド
    • APIリクエストには、様々な種類があり、それらを総じて「メソッド」と言います。具体的には、情報を取得する「GET」、新しい情報を送る「POST」、既存の情報を更新する「PUT」、情報を削除する「DELETE」などがあります。
  • APIの実際の使用例
    • APIを利用して東京都のオープンデータを取得し、パラメータを設定してリクエストを送信し、レスポンスを確認する具体的な手順を学びました。

まとめ

第2章では、APIの仕組みについて解説しました。

クライアントとサーバーの関係や、リクエストとレスポンスの流れについて、さらにAPIメソッドの種類とその使い方も学びました。

次の章では、「APIリファレンスの読み方」「ChatGPTのAPIをPostmanで実行する方法」を見ていきましょう!