API 共通ガイドの概要

    API の種類

    LINE WORKS Bot Platform API は、サービス API とサーバー API の2つの種類に分かれています。詳細については、各 API の明細にて記述しています。なお、種類が明記されていない場合は、サービス API を示します。

    サービス API

    ユーザーのログインが必要なAPIです。本人のデータへのみアクセスできます。ただし、カレンダーの「他人のスケジュールリスト閲覧」 API のように、ドメイン内に限って他ユーザーのデータにアクセスが可能な API も一部あります。

    サーバー API

    ユーザーのログインが不要な APIです。ドメイン内のすべてのユーザーデータにアクセスできます。代表的な API として組織連携と移行(migration)API があります。

    API 認証

    サービス API とサーバー API は、ともに OAuth 2.0 をベースとしますが、認証の方法は異なります。

    サービス API の認証

    サービス API の認証方法は、下記の通りです。

    サービス API の認証

    図 1 サービス API の認証

    1. サービス API の使用に必要な情報を発行します。 ユーザーは、LINE WORKS Developer Consoleよりサービス API の使用に必要な情報を発行します。詳細については、API 認証の準備を参照してください。
    2. サービス API を使用する際の必要な情報を提供します。
    3. Authorization code の発行をリクエストします (window open)。 新規ウィンドウにて Authorization code の発行をリクエストします。このとき、LINE WORKS Developer Consoleで発行したサービスAPIコンシューマーキーを使います。
    4. LINE WORKS ログインウィンドウを表示します。 LINE WORKS にログインしていない場合は、ログインウィンドウを表示します。すでにログイン済みの場合は、このプロセスをスキップします。
    5. ID/Password を入力します。 LINE WORKS ログインウィンドウにて ID/Password を入力してログインします。
    6. 認証を確認後に Authorization code を発行します。 ID/Password を検証後に、Authorization code を発行して3 回リクエストした場合に渡された redirect_uri パラメータへ渡します。
    7. Access Token をリクエストします(API call)。 Authorization code を利用して Access Token をリクエストします。Authorization code は、一回性のコードです。
    8. Access Token を発行します。 Authorization code を検証後に Access Token を発行します。
    9. 必要な情報を Header に追加して API を呼び出します。 サービス API を呼び出す際にコンシューマーキーと Access Token を Header に追加して呼び出します。
    10. Header 情報の有効性を確認し、API を処理します。 LINE WORKS は、Header 情報の有効性を確認して API を実際に処理します。
    11. API の処理結果を返します。

    参考

    • APIを呼び出すたびに Access Token を発行する必要はありません (3~8 番プロセス)。
    • 一度発行した Access Token は、別途保管しておき再利用することができます(例: クッキー)。

    サーバー API の認証

    サーバー API の認証方法は、下記の通りです。

    サーバー API の認証

    図 2 サーバー API の認証

    1. サーバー API の使用に必要な情報を発行します。 ユーザーは、LINE WORKS Developer Consoleよりサーバー API の使用に必要な情報を発行します。詳細については、API 認証の準備にて説明します。
    2. サービス API を使用する際に必要な情報を提供します。
    3. 必要な情報を Header に追加して API を呼び出します。 サーバー API を呼び出す際にコンシューマーキーと Server Token を Header に追加して呼び出します。
    4. Header 情報の有効性を確認してリクエスト IP を確認して API を処理します。 LINE WORKS は、Header 情報の有効性を確認した後、Token 発行時にDeveloper Consoleで登録したサーバー IP と実際のリクエストクライアント IP が一致するかどうかを確認のうえAPIを処理します。
    5. API の処理結果を返します。