API(Application Programming Interface)とは、アプリケーション同士を連携する仕組みです。APIを使うとアプリケーションの機能を外部のプログラムから利用できるため、複数のアプリケーションを連携することができます。AirCourse APIを使うと、AirCourseの各種機能を外部のプログラムから利用することができるため、他のシステムとAirCourseを連携できます。AirCourse APIではユーザ、組織、グループに関する機能を提供しているため、お客様の自社システムの社員データとAirCourseのユーザ・組織・グループの情報とを連携することが可能になります。これにより、社員が入社、異動した場合などに自社システムのデータを更新するだけで、自動的にAirCourseのユーザ・組織・グループ情報に反映させることが可能となり、AirCourseの管理者の工数削減やデータの更新漏れを防ぐことが可能になります。
API連携を利用するメリット
ユーザ情報の更新の自動化・工数削減APIを活用すると、従来AirCourse管理者が手動で実施していたユーザの追加、所属組織の変更等のユーザ情報の変更について、自社システムと連携することで自動化できます。 APIによる連携を行えば、自社システムの社員データを更新するたびに、AirCourse上のユーザ・組織・グループ情報に自動的に反映されるため、AirCourse側でのユーザの更新作業が不要となります。これにより、管理者の工数を削減できます。
データの更新漏れの防止APIで自社システムとAirCourseを連携しておけば、社員が入社・異動した際にAirCourseでは更新を忘れている、などのデータの更新漏れを防止できます。
AirCourseのAPIはOAuth2.0を採用しており、APIを利用するためには、AirCourse上でOAuthクライアントを登録する必要があります。登録は、全体管理者権限を持つユーザで行う必要があります。AirCourseに全体管理者権限を持つユーザでログインし、管理モードのサイドメニューの「設定>API」をクリックし、OAuthクライアント一覧画面を開きます。
Oauthクライアント一覧の画面が開きます。
右上のクライアント登録ボタンをクリックします。
クライアント名を入力し、保存ボタンをクリックします。
クライアントIDとクライアントシークレットが表⽰されます。※
※API連携の手続きを実施する際、クライアントIDとクライアントシークレットの2つの情報が必要です。必ずコピーしておいてください。 クライアントIDとクライアントシークレットの横に表⽰されているボタンをクリックします。 それぞれの内容がクリップボードにコピーされます。
クライアント登録完了画面
AirCourse APIは、OAuth2.0の Client Credentials Grant のみ対応しており、以下の⼿順にてAPIを利⽤することが可能です。
1.アクセストークン発⾏APIにリクエストを送信取得したクライアントIDとクライアントシークレットを元にアクセストークン発⾏APIにリクエストを送信します。以下は、cURLを使⽤した場合のリクエスト送信コマンドです。
curl -X POST \ -H "Content-Type:application/x-www-form-urlencoded" \ -d "grant_type=client_credentials" \ -d "client_id=取得したクライアントID" \ -d "client_secret=取得したクライアントシークレット" \ 'https://api.aircourse.com/v1/oauth/token'
詳細はこちらを参照ください。
2. アクセストークン発⾏APIのレスポンスからアクセストークンを取得アクセストークン発⾏APIへのリクエストが成功すると以下のようなレスポンスが返ってきます。レスポンスの中からアクセストークンを取得します。
{ "token_type": "Bearer", "expires_in": 3600, "access_token": "アクセストークンの文字列" }
※アクセストークンの有効期限は取得してから1時間です。
3. 利用したいAPIに取得したアクセストークンをセットしてリクエストを送信取得したアクセストークンをリクエストのヘッダにセットし、利用したいAPIに送信します。以下は、cURLを使用したユーザ一覧取得APIへのリクエスト送信コマンドです。
curl -X GET \ -H "Accept:application/json" \ -H "Authorization:Bearer アクセストークンの文字列" \ 'https://api.aircourse.com/v1/users'
各APIの詳細は、APIドキュメントを参照ください。