【クロちゃんと学ぶ】Web APIってなに?harumiと一緒にレストランの注文カウンターで考えよう

「AIにお願いしたら、ブログの記事を投稿してくれた」「天気アプリを開くと、最新の天気予報が出てくる」――。こうした便利なしくみの裏側では、Web API(ウェブ・エーピーアイ)という技術が動いています。

今回は、AIのクロちゃん(Claude)が先生になって、KO CAFEのharumiにWeb APIを教えてくれました。専門知識ゼロでも大丈夫です!

harumi

クロちゃん、最近よく「API」って言葉を聞くんだけど、なんだかむずかしそう…。

そもそも何のこと?

クロちゃん

だいじょうぶにゃ、harumi。APIは「お店の注文カウンター」だと思えばカンタンにゃん🍽️

APIは「お店の注文カウンター」

クロちゃん

レストランを思いうかべてにゃ。お客さんは厨房に入って、自分で料理を作ったりしないよにゃ?

カウンターで「オムライスください」って注文すると、厨房の人が作って出してくれる。

この注文を受けつける窓口が、APIなんだにゃ。

harumi

なるほど!厨房の中がどうなってるか知らなくても、注文のしかたさえわかれば料理がもらえるんだね。

クロちゃん

そのとおりにゃ!APIは Application Programming Interface の頭文字。「プログラム同士がやりとりするための窓口」っていう意味にゃ。

そして、インターネットごしに使う窓口のことを「Web API」って呼ぶんだにゃん🐾

レストランWeb APIの世界
厨房サービス本体(WordPress、天気のデータなど)
注文カウンターAPI
お店の住所URL(エンドポイント)
メニュー表APIの説明書
注文票リクエスト(JSONなど)
会員証APIキー・パスワード
出てきた料理・レシートレスポンス(返事)

やりとりは「注文」と「返事」の2つだけ

harumi

注文したら、ちゃんと料理が出てくるんだよね?

クロちゃん

うん。Web APIのやりとりは、いつもこの2つのセットにゃ。

  • リクエスト(注文):こちらから「これをください」「これをお願い」と送ること
  • レスポンス(返事):お店から「はい、どうぞ」と結果が返ってくること
クロちゃん

それから、注文には「見せて」と「作って」みたいな種類があるんだにゃ。

注文の種類(メソッド)意味たとえ
GET(ゲット)情報を見せて「メニューを見せてください」
POST(ポスト)新しく作って「オムライスを1つ注文します」
PUT / PATCH直して「やっぱり大盛りにしてください」
DELETE(デリート)消して「さっきの注文、取り消します」
harumi

見る・作る・直す・消す…。ブログの記事でいうと、読む・書く・直す・消す、だね!

クロちゃん

harumi、飲みこみが早いにゃ😺 まさにそれにゃん。

注文票「JSON」は、書く場所が決まったカード

harumi

注文票には、どうやって書くの?ふつうの文章でいいの?

クロちゃん

コンピューターは、ふつうの文章を読むのがちょっと苦手にゃ。だから「JSON(ジェイソン)」っていう、書く場所が決まったカードを使うことが多いんだにゃ。

たとえば harumi の自己紹介カードなら、こう書くにゃん。

{
  "name": "harumi",
  "type": "ねこ",
  "color": "白と黒",
  "likes": ["音楽", "カフェ"]
}
クロちゃん

「項目の名前:中身」のセットを並べるだけにゃ。書く場所が決まってるから、人間にもコンピューターにも読みやすいんだにゃ。

harumi

アンケート用紙みたい!「お名前:__」って欄をうめる感じだね。

クロちゃん

ぴったりのたとえにゃ!WordPressに記事を送るときの注文票は、こんな形になるにゃん。

{
  "title": "Web APIってなに?",
  "content": "ここに記事の本文が入ります",
  "status": "draft"
}
クロちゃん

title はタイトル、content は本文、status の draft は「下書き」のことにゃ。いきなり公開せずに、下書きで置いておける安心設計なんだにゃ🐾

会員証(APIキー)がないと注文できない

harumi

でも、だれでも勝手に記事を書きこめたら困らない?

クロちゃん

いいところに気がついたにゃ!だから、メニューを見るだけならだれでもOKでも、記事を書く・消すみたいな大事な注文には「会員証」が必要なんだにゃ。

この会員証にあたるのが、APIキーやアプリケーションパスワードにゃ。

harumi

会員証を見せた人だけが、キッチンにお願いできるんだね。

クロちゃん

そうにゃ。だから会員証はぜったい人に見せちゃダメにゃ⚠️ ブログやSNSに貼ったり、人に送ったりしないようにしてにゃ。

返事には「番号」がついてくる

harumi

注文がうまくいったかどうかは、どうやってわかるの?

クロちゃん

お店からの返事には、結果を表す番号(ステータスコード)がついてくるんだにゃ。よく見るのはこのあたりにゃん。

番号意味お店でいうと
200成功!「はい、どうぞ」
201新しく作れた!「ご注文うけたまわりました」
401会員証がない・まちがっている「会員証を見せてください」
404見つからない「そのメニューはありません」
500お店の中でトラブル「厨房で問題が起きました」
harumi

あっ、「404」ってホームページで見たことある!ページが見つからないときに出るやつだ。

クロちゃん

それも同じなかまの番号にゃ😺 ホームページを見るときも、じつはブラウザがお店に「このページを見せて」って注文してるんだにゃ。

じつは身のまわりはAPIだらけ

harumi

APIって、どんなところで使われてるの?

クロちゃん

いっぱいあるにゃ!たとえばこんなのにゃん。

  • 天気アプリ:気象データのお店に「今日の天気を見せて」と注文している
  • 地図の埋め込み:お店のホームページに出てくる地図
  • 「Googleでログイン」ボタン:Googleに「この人、本人ですか?」と確認している
  • ネットショップの支払い:カード会社に「この支払い、OK?」と問い合わせている
harumi

ふだん何気なく使ってるものばかり!APIって、アプリ同士をつなぐ「橋」みたいだね。

AIがブログに投稿できるのも、APIのおかげ

harumi

じゃあ、クロちゃんがブログに記事を投稿できるのも…?

クロちゃん

そう、APIのおかげにゃ!流れはこうにゃん。

  1. 人がふつうの言葉で「この記事を下書きで投稿して」とお願いする
  2. AI(クロちゃん)が、それをJSONの注文票に書きかえる
  3. 会員証(アプリケーションパスワード)をそえて、WordPressの注文カウンター(REST API)に送る
  4. WordPressから「記事番号○○番で受けつけました」と返事がくる
クロちゃん

クロちゃんはその記事番号をおぼえておくから、「さっきの記事を直して」と言われたら、同じ番号の記事を直すだけ。二重に投稿しちゃう心配もないんだにゃ🐾

harumi

人は「お願い」するだけで、むずかしい注文票はAIが書いてくれるんだね。すごい!

クロちゃん

そのかわり、最後に中身を確かめるのは人の役目にゃ。下書きで投稿して、人が読んでから公開する――これがいちばん安心な使い方にゃん😺✨

まとめ

  • Web APIは、インターネットごしの「注文カウンター」
  • やりとりはリクエスト(注文)とレスポンス(返事)のセット
  • 注文の種類は「見る・作る・直す・消す」(GET / POST / PUT・PATCH / DELETE)
  • 注文票はJSONという「書く場所が決まったカード」
  • 大事な注文にはAPIキー(会員証)が必要。人には見せない
  • AIにお願いすれば、注文票はAIが書いてくれる。最後の確認は人が行う
harumi

クロちゃん、ありがとう!APIがちょっと身近に感じられたよ。

クロちゃん

どういたしましてにゃ。わからないことがあったら、いつでも注文してにゃん🍽️🐾

KOパソコン教室のWordPress講座でも、こんなたとえ話をまじえながらお伝えしています。気になった方はお気軽にどうぞ!