PEN API

API (Application Programming Interface)

ソフトウェア同士が機能やデータをやり取りするための取り決め
呼び出し側は内部実装を知らなくても、決められた形式でリクエストを送れば結果を受け取れる
マッシュアップ(複数のAPIを組み合わせること)により、APIエコノミ(APIにより、新たな価値やビジネスが生まれる経済圏)を発展させることが可能

| APIの種類 | 意味 | 代表例 | |---|---|---| | ステートフルAPI | サーバー側がクライアントの状態(セッション情報・接続状態など)を保持するAPI
前のリクエストの内容に依存して処理が行われる
  • リクエスト間で状態が引き継がれる
  • サーバー側でセッション管理が必要
  • スケールアウトしにくい
|
  • セッションID(Cookie)を用いたログイン後のWeb API
  • WebSocket
  • FTP
  • データベースのトランザクションAPI
| | ステートレスAPI | サーバー側がクライアントの状態を保持しないAPI
各リクエストに処理に必要な情報をすべて含める
  • 各リクエストが独立して処理される
  • サーバー側でセッション管理が不要
  • スケールアウトしやすい
|
  • REST API(HTTP)
  • JWTなどのトークン認証を用いたWeb API
  • GraphQL(HTTP経由)
|
---
API URL
日本の祝日 holiday.json
グローバルIPアドレス api.ipify.org

Webhook (逆向きのAPI / イベント駆動型のHTTPコールバック)

 あるサービスで特定のイベント(メールの受信、決済の完了、コードのプッシュなど)が起きた時に、あらかじめ登録しておいたURLへHTTPリクエスト(多くはPOST)を自動で送信する仕組み
 受け取る側が定期的に「更新はないか」と問い合わせる(ポーリング)必要がなく、イベント発生の直後にリアルタイムでデータを受け取れるため、通信量を抑えつつ素早く連携できる

Table of Contents

  1. Top
  2. API
  3. Webhook