API・開発の基礎用語
10 項目
API・開発の基礎用語とは|このカテゴリで分かること
APIとは、ソフトウェア同士が決まった形式でやり取りするための窓口です。SaaSを導入すると「APIで連携できます」「Webhookで通知します」といった言葉が必ず出てきますが、このカテゴリでは、APIとは何かをわかりやすく説明するところから、エンドポイント、REST、OpenAPI、GraphQL、APIゲートウェイまでを、プログラマーでない人にも読める順で整理します。
対象は、SaaSの連携機能を選ぶ担当者、開発者との会話についていきたい企画・営業職、これから開発を学ぶ人です。ゴールは「外部APIをつなぐ話が来たときに、何を確認すればよいか分かる」ところまでです。個々の製品の操作手順は扱わず、用語の関係と判断の観点に絞っています。
はじめにおすすめの3本
迷ったら、まずこの3本から読んでください。残りの記事は、このページ下の項目一覧から、気になるテーマで選べます。
- APIとは|仕組み・種類・使うときの注意点
まずAPIそのものの意味を押さえます。以降の用語はすべてこの上に乗っています。 - エンドポイントとは|APIのURL構造と読み方
「どのURLに何を送るか」という、APIを使う最小の単位です。 - REST APIとは|HTTPメソッドと設計の基本
世の中のWeb APIの多くが前提にしている設計の考え方です。
押さえておきたいポイント(リサーチ)
公式ドキュメントで確認できた事実のうち、判断に直結するものを選びました。
| 論点 | 確認できた内容 | 出典 |
|---|---|---|
| GETの性質 | データ取得のためのメソッドで、安全かつべき等とされる | MDN |
| POSTの性質 | サーバー上の状態を変えることが多く、安全でもべき等でもない | MDN |
| PUT・DELETE | どちらもべき等(同じ操作を繰り返しても結果が同じ)とされる。PUTはリソース全体の置き換え | MDN |
| PATCH | リソースの部分的な変更。べき等ではない | MDN |
| OpenAPI | HTTP APIを記述する、プログラミング言語に依存しない標準の仕様。人にも機械にも読める | OpenAPI Initiative |
| GraphQL | クライアントが必要なデータを指定して取得できるクエリ言語 | GraphQL Foundation |
| APIキーの扱い | ソースコードに埋め込まない、使い道を制限する、使っていないキーは削除する、定期的に入れ替える | Google Cloud |
| OAuth 2.0 | ユーザーの同意のもと、スコープ(許可する範囲)を限ったアクセストークンを発行する仕組み | Google for Developers |
「べき等」は、たとえば通信が途切れて同じリクエストを再送しても結果が変わらない性質のことです。再送の安全性は設計に直結するため、決済や登録のAPIで特に意味を持ちます。なお、OpenAPIの最新版の番号や各社のAPIの仕様は更新されるため、最新は公式で確認してください。
よくある疑問
Q. APIとWebhookは何が違いますか。
A. APIは必要なときにこちらから呼び出して取りに行く方式、Webhookは何かが起きたときに相手から通知が届く方式、と整理できます。詳しくは Webhookとは|APIとの違いと仕組み・使うときの注意点 を参照してください。
Q. APIキーとOAuthはどちらを使えばよいですか。
A. 自分のシステムが自分の権限で使うならAPIキー、他人のアカウントのデータを本人の同意で扱うならOAuthが基本です。違いと漏えい対策は APIキーとOAuthの違い|認証方式の選び方と漏えい対策 にまとめています。
Q. RESTとGraphQLはどちらが良いですか。
A. 優劣ではなく、データの取り方の違いです。判断の観点は GraphQLとは|RESTとの違いと向いている場面 と REST APIとは|HTTPメソッドと設計の基本 を読み比べると見えてきます。
Q. 外部APIをつなぐと何が問題になりますか。
A. 相手の仕様変更や提供終了、利用回数の上限、キーの漏えいが代表的です。つなぐ前に仕様書と利用条件を確認し、キーの置き場所を決めておくことが前提になります。
編集部の見解
APIの学習でつまずきやすいのは、用語を単独で覚えようとして、全体の位置関係が見えなくなることだと考えます。APIは「窓口」、エンドポイントは「窓口の住所」、OpenAPIは「窓口の取扱説明書の書式」、ゲートウェイは「窓口の受付と警備」というように、役割で結びつけると記憶に残りやすくなります。
実務では、仕組みの理解よりも先に認証とキーの扱いで事故が起きやすいと考えます。キーを共有ドキュメントやソースコードに書いてしまう、といった初歩のミスは、仕様を知っていれば防げます。まず APIキーとOAuthの違い|認証方式の選び方と漏えい対策 までを読み、そのうえでGraphQLやAPI管理のような発展的な話題に進む順序をおすすめします。
なお、本ページは情報提供を目的としたもので、特定の製品の採用を勧めるものではありません。
出典(一次情報)
API・開発の基礎用語の項目一覧
- APIとは|仕組み・種類・使うときの注意点APIとは、ソフトウェア同士がやり取りするための窓口と約束事のことです。仕組みを身近な例で説明し、Web APIの種類、導入時の確認点、よく…
- エンドポイントとは|APIのURL構造と読み方APIのエンドポイントとは、APIを呼び出すための窓口となるURLのことです。ベースURL・パス・パラメータの構造と、ドキュメントの読み方、…
- OpenAPIとは|API仕様書の標準形式と活用法OpenAPIとは、HTTP APIの仕様を機械が読める形で記述する標準規格です。書き方の構造、できること、導入の手順と、仕様書と実装がずれ…
- GraphQLとは|RESTとの違いと向いている場面GraphQLとは、必要なデータだけを指定して取得できるAPI向けのクエリ言語です。スキーマ・クエリ・ミューテーションの基本と、RESTとの…
- APIゲートウェイとは|役割・機能・選ぶ基準APIゲートウェイとは、APIの入口で認証・流量制限・監視などをまとめて担う仕組みです。主な機能、APIの種類、導入の判断基準と、注意したい…
- Apigeeとは|API管理の役割とAPIプロキシ・ポリシーの考え方Apigeeとは、Google CloudのAPI管理プラットフォームです。APIプロキシが担うセキュリティ・レート制限・分析などの役割、プ…
- AWS AppSyncとは|GraphQL APIを管理する仕組みと課金・認可の考え方AWS AppSyncとは、サーバーレスでGraphQLとPub/Sub APIを提供するAWSのサービスです。できること、認可方式、料金の…
- REST APIとは|HTTPメソッドと設計の基本REST APIとは、HTTPでリソースを操作するWeb APIの設計スタイルです。GET・POST・PUT・DELETEの使い分けと、冪等…
- APIキーとOAuthの違い|認証方式の選び方と漏えい対策APIキーとOAuthの違いを、誰が呼び出したかの証明・権限の細かさ・漏えい時の影響で比較します。Google Cloudの公式ドキュメント…
- Webhookとは|APIとの違いと仕組み・使うときの注意点Webhookとは、特定のイベントが起きたときに、相手のURLへ自動で通知を送る仕組みです。APIのポーリングとの違い、受信側の作り方、署名…