ユーザー科目レポート

PATCHhttps://manabeat.com/{site_id}/mana_apis/user_course_report

ユーザー別に科目毎の統計レポートを取得します。

next_page_tokenの仕様

per(デフォルト:1000)行より取得可能なデータ数が多い場合、レスポンスとしてnext_page_tokenが発行されます。
2ページ目以降のデータ取得はnext_page_tokenをパラメータにセットしてください。
全データの取得が完了した時点でnullが返却されます。

初回リクエストの絞り込み要素を引き継ぐため、next_page_tokenをセットしたリクエストではその他全てのパラメータが排除されます。

トークンの有効期限は30分です。一度使用したトークンの再使用は出来ません。

パスパラメータ

site_idstringrequired

サイトID

リクエストボディ

*2get_countbooleanrequired

true: データ数のみ取得。false: 一覧情報を取得。

*2next_page_tokenstringrequired

2ページ目以降のデータ取得用に発行されたトークン。

perinteger

データの取得単位。デフォルト及び上限値:1,000

subject_ids[integer]

教科IDによる絞り込み。複数指定可能。

course_ids[integer]

科目IDによる絞り込み。複数指定可能。

course_typeenum

科目種別による絞り込み。["normal"(通常科目), "adaptive"(アダプティブ科目)]から選択。

group_codes[string]

グループコードによる絞り込み。複数値でOR検索が可能。

properties[string]

属性名による絞り込み。複数値でOR検索が可能。

*3group_property_conditionsenum

グループ×属性。["AND", "OR"]から選択。

users[string]

ログインIDによる絞り込み。複数指定可能。

include_invalid_userboolean

出力結果に無効ユーザーを含めるかの可否。デフォルト:false

status[enum]

科目の受講ステータスによる絞り込み。["completed"(修了), "incomplete"(受講中), "not_attempted"(未受講)]から複数選択可能。

is_passed[boolean]

科目の合否による絞り込み。true:合格, false: 不合格。両方指定も可能。

optionalboolean

科目が任意で割り当てられているかの可否。true: 任意割り当て, false: 必須割り当て

*1 取得ユーザー数10,000以下、取得科目数1,000以下、取得ユーザー×科目数1,000,000以下になるよう絞り込みが必須。
*2 get_count, next_page_tokenのいずれか一つ必須。
*3 グループと属性を両方指定する場合のみ、設定可能且つ必須パラメータとなる。

レスポンスボディ

countinteger

取得データ数。get_count: true時に返却。

perinteger

リストの取得単位

next_page_tokenstring

次ページが存在する場合に発行されるトークン。

user_course_reportarray

以降の各パラメータを持つデータをリスト形式で返却する。

user_idinteger

ユーザーID

loginstring

ログインID

user_namestring

ユーザー名

subject_idinteger

教科ID

subject_name{ja: string, en: string, zh_CN: string, zh_TW: string}

教科名

course_idinteger

科目ID

course_name{ja: string, en: string, zh_CN: string, zh_TW: string}

科目名

statusstring

科目の受講ステータス

is_passedstring

科目の合否

completedstring

学習修了日(yyyy/mm/dd HH:MM:SS)

エラーレスポンス

400URLに誤りがあります。

リクエストURL、パスパラメータを確認してください。

400Content-Type情報が不正な値です。

リクエストヘッダー情報を確認してください。

400リクエスト内容を認識できません。

リクエストボディの読み込みに失敗しました。送信データを確認してください。

400使用出来ないパラメータが含まれています。parameter1…

メッセージに記載された項目のパラメータが使用できません。データ型等確認してください。

400必須パラメータが不足しています。parameter1…

一覧情報取得に必須のパラメータが不足しています。

400このトークンは無効です。next_page_token

セットされたトークンは期限切れ、または存在しません。

400ユーザーが10,000以下になるように絞り込みをしてください。

ユーザー数の絞り込み上限は10,000までです。

400科目が1,000以下になるように絞り込みをしてください。

科目数の絞り込み上限は1,000までです。

400ユーザー×科目が1,000,000以下になるように絞り込みをしてください。

ユーザー×科目の絞り込み上限は1,000,000までです。

403認証に失敗しました。

APIの認証に失敗しました。サイトID、APIキー、APIキー保有ユーザーの状況を確認してください。

403許可されていないIPからのリクエストです。

IPアドレス制限によってリクエストが制限されています。

413リクエストボディサイズが上限に達しています。

送信できるリクエストボディのサイズは100KBです。

429リクエスト制限中です。

1時間あたりのリクエストが5000回を超えています。時間を空けてからお試しください。

500予期せぬエラーが発生しました。

システム内部でエラーが発生しました。時間をおいて再度お試しください。

503システムメンテナンス中です。

現在システム全体のメンテナンス中です。終了までお待ちください。

503現在別のレポートAPIを処理中のため、APIを実行できません。

サイト内で実行可能なレポートAPIは同時に一つのみです。時間を空けてからお試しください。

503サイト内でレポートCSVエクスポートを処理中のため、APIを実行できません。

サイト内でレポートCSVエクスポート中はレポートAPIを実行できません。時間を空けてからお試しください。

リクエストボディ例(初回)

{ "get_count": false, "subject_ids": [ 1234, 5678 ], "course_type": "normal", "group_codes": [ "group9999" ], "properties": [ "property9999" ], "group_property_conditions": "OR", "include_invalid_user": true, "status": [ "completed" ], "is_passed": [ true, false ], "optional": false }

リクエストボディ例(2ページ目以降)

{ "next_page_token": "abcdefghi123456789" }