Webhook機能を有効にすることで、イベント発生時にWebhook通知を送信できます。
ここでは、JSON構造や項目についてご案内いたします。
※Webhook通知機能はオプションです。ご希望の場合はサポートまでお問い合わせください。
エンドポイントの設定
エンドポイントを作成の上、以下のページにご登録ください。
WisdomBase管理画面 > CRM連携設定 > Webhook設定
Webhookは登録したエンドポイントに対してPOSTで送信されます。
コンテントタイプはapplication/jsonです。
レクチャー個別設定
Webhook通知を受け取るには各レクチャーで個別にWebhook送信オプションを有効にしてください。
設定手順
- コース編集画面から対象のレクチャーの「編集」ボタンをクリック
- レクチャー編集画面の下部にある「外部連携設定」セクションを確認
- 「レクチャー完了時にWebhookを送信する」チェックボックスをONにする
- 「保存」ボタンをクリックして設定を保存
注意事項:
・試験レクチャーの場合は、試験設定画面の「結果通知の設定」メニュー内のチェックボックスをONにしてください。
・後採点問題を含む試験レクチャーの場合、試験完了時ではなく採点完了時にWebhookが送信されます
・CRM連携設定画面でWebhook機能が有効になっている場合のみ、この設定項目が表示されます
イベント:レクチャーの完了
試験レクチャーと試験レクチャー以外では、JSON構造と項目が異なります。
また、後採点問題を含む試験レクチャーの場合は、試験完了時ではなく、採点完了時にイベントが発生します。
試験レクチャー
JSON構造
{
"event": "lecture_completion",
"courses": {
"id": 1001,
"title": "昇進試験2024",
"type": "ProCourse",
"instructor": "テスト 講師"
},
"lectures": {
"id": 1001122,
"title": "テストレクチャー",
"type": "ExamLecture",
"position": 1,
"published": true
},
"user": {
"id": 12345,
"username": "user1",
"nickname": "テスト 太郎",
"email": "sample1@sample.com",
"role": "Role1",
"group": ["Group1","Group2"]
},
"exam_results": {
"user_exam_id": 1,
"total_score": 100,
"grade": "合格",
"total_time_spent": "60",
"submit_type": "正常終了",
"start_at": "2024-10-24T08:53:52.371Z",
"finished_at": "2024-10-24T09:53:52.371Z"
}
}項目一覧
| 項目名 | 説明 | データ型 | 出力例 |
| event | イベントの名前です。 | String | "lecture_completion" |
| courses.id | コースのIDです。 | Number | 1001 |
| courses.title | コースのタイトルです。 | String | "昇進試験2024" |
| courses.type | コースのタイプです。 | String | "ProCourse" |
| courses.instructor | コースの講師です。 | String | "テスト 講師" |
| lectures.id | レクチャーのIDです。 | Number | 1001122 |
| lectures.title | レクチャーのタイトルです。 | String | "テストレクチャー" |
| lectures.type | レクチャーのタイプです。 試験レクチャーの場合は「ExamLecture」固定です。 | String | "ExamLecture" |
| lectures.position | コースの中でのレクチャーの順番です。 | Number | 1 |
| lectures.published | レクチャーの公開状態です。 | Boolean | true |
| user.id | ユーザーのIDです。 | Number | 12345 |
| user.username | ユーザーのアカウント名です。 | String | "user1" |
| user.nickname | ユーザーの氏名です。 | String | "テスト 太郎" |
| user.email | ユーザーのメールアドレスです。 | String | "sample1@sample.com" |
| user.role | ユーザーの権限です。 | String | "Role1" |
| user.group | ユーザーのグループです。 | Array | "Group1","Group2" |
| exam_results.user_exam_id | ユーザーの試験解答のIDです。 | Number | 1 |
| exam_results.total_score | 試験の点数です。 | Number | 100 |
| exam_results.grade | 試験の合否です。 | String | "合格" |
| exam_results.total_time_spent | 解答完了までの所要時間です。 | Number | 60 |
| exam_results.submit_type | 終了方法です。 | String | "正常終了" |
| exam_results.start_at | 受験開始日時です。 | String | "2024-10-24T08:53:52.371Z" |
| exam_results.finished_at | 受験完了日時です。 | String | "2024-10-24T09:53:52.371Z" |
試験レクチャー以外
JSON構造
{
"event": "lecture_completion",
"courses": {
"id": 1001,
"title": "昇進試験2024",
"type": "ProCourse",
"instructor": "テスト 講師"
},
"lectures": {
"id": 1001122,
"title": "テストレクチャー",
"type": "VideoLecture",
"position": 1,
"published": true
},
"user": {
"id": 12345,
"username": "user1",
"nickname": "テスト 太郎",
"email": "sample1@sample.com",
"role": "Role1",
"group": ["Group1","Group2"]
},
"lecture_taking_details": {
"id": 1,
"completion_rate": "9/10",
"lecture_duration": 100,
"lecture_taking_time": 70,
"lecture_status": "あり",
"num_of_completed_lectures": 9,
"created_at": "2024-10-24T08:53:52.371Z",
"finished_at": "2024-10-24T09:53:52.371Z",
"device": "Desktop (Chrome/Mac)"
}
}項目一覧
| 項目名 | 説明 | データ型 | 出力例 |
| event | イベントの名前です。 | String | "lecture_completion" |
| courses.id | コースのIDです。 | Number | 1001 |
| courses.title | コースのタイトルです。 | String | "昇進試験2024" |
| courses.type | コースの種類です。 | String | "ProCourse" |
| courses.instructor | コースの講師です。 | String | "テスト 講師" |
| lectures.id | レクチャーのIDです。 | Number | 1001122 |
| lectures.title | レクチャーのタイトルです。 | String | "テストレクチャー" |
| lectures.type | レクチャーの種類です。 動画:VideoLecture | String | "VideoLecture" |
| lectures.position | コースの中でのレクチャーの順番です。 | Number | 1 |
| lectures.published | レクチャーの公開状態です。 | Boolean | true |
| user.id | ユーザーのIDです。 | Number | 12345 |
| user.username | ユーザーのアカウント名です。 | String | "user1" |
| user.nickname | ユーザーの氏名です。 | String | "テスト 太郎" |
| user.email | ユーザーのメールアドレスです。 | String | "sample1@sample.com" |
| user.role | ユーザーの権限です。 | String | "Role1" |
| user.group | ユーザーのグループです。 | Array | "Group1","Group2" |
| lecture_taking_details.id | 受講履歴のIDです。 | Number | 1 |
| lecture_taking_details.completion_rate | コースの完了率です。 | String | "9/10" |
| lecture_taking_details.lecture_duration | レクチャー時間です。 | Number | 100 |
| lecture_taking_details.lecture_taking_time | レクチャーページ滞在時間です。 | Number | 70 |
| lecture_taking_details.lecture_status | レクチャー完了有無です。 | String | "あり" |
| lecture_taking_details.num_of_completed_lectures | レクチャー完了回数です。 | Number | 9 |
| lecture_taking_details.created_at | レクチャー開始日時です。 | String | "2024-10-24T08:53:52.371Z" |
| lecture_taking_details.finished_at | レクチャー完了日時です。 | String | "2024-10-24T09:53:52.371Z" |
| lecture_taking_details.device | 受講時に使用されたデバイスです。 | String | "Desktop (Chrome/Mac)" |