Sanctions Web APIs

Sanctions Web API を使用すると、RESTful サービスで Sanctions インターフェース機能を使用することができます。

20 分で読めます

Epic Online Services (EOS) Sanctions インターフェース は、ユーザーに対して講じる懲戒処分を管理します。懲戒処分には、特定のユーザーに対して 製品 の社会的側面を制限するゲームプレイ、通信、またはその他の一時的または永続的な禁止が含まれることがあります。ユースケースに基づいて好ましくない行動に対処するため、製品の懲戒処分を定義します。

Sanctions Web API を使用すると、信頼できるサーバー アプリケーションの EOS C SDK を補完することができます。Sanctions Web API を呼び出す前に、「Web API の概要」で標準、認証、エラー コードについて確認してください。

Sanctions Web API エンドポイント

https://api.epicgames.dev/sanctions/

特定のプレイヤーに対して有効な処罰をクエリする

ポリシー

使用するクライアント ポリシーで、sanctions:findActiveSanctionsForAnyUser アクションが許可されている必要があります。

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト GET /sanctions/v1/productUser/{ProductUserId}/active
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
ProductUserId 文字列 処罰をクエリする ProductUserId 必須
クエリ パラメータ
名前説明必須
action 文字列

任意の action フィルタ。次の複数の値をサポートしています。 action=action1&action=action2. 最大項目数:5.

任意

リクエストの例

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<CompactSanction> 有効な処罰のリスト

CompactSanction

CompactSanction
名前説明
referenceId ストリング この処罰の一意の識別子
timestamp int64 この処罰が課されたときのエポック タイムスタンプ (秒)
action 文字列 この処罰に関連付けられているアクションの文字列
expirationTimestamp int64 この処罰の有効期限が切れるときのエポック タイムスタンプ (秒)、または処罰が永続的である場合は null

処罰を外部サービスに同期する

ポリシー

使用するクライアント ポリシーで、Sanctions:syncSanctionEvents アクションが許可されている必要があります。

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト GET /sanctions/v1/sync
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
クエリ パラメータ
名前説明必須
lastLogId 文字列 前の呼び出しで処理された最後の処罰イベント エントリのオプションの ID。 任意

リクエストの例

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<SanctionEvent> 処罰イベントのリスト

SanctionEvent

SanctionEvent
名前説明
productUserId 文字列 処罰を受けたユーザーの EOS ProductUserId
action 文字列 この処罰に関連付けられているアクションの文字列
justification 文字列 この処罰に関連付けられている理由の文字列
source 文字列 この処罰を作成したソース、例:developer-portal
eventType 整数 1: 処罰が作成された
2: 処罰が更新された
3: 処罰が削除された
tags Array<String> この処罰に関連付けられているタグのリスト
logId 文字列

SanctionEvent ログ エントリの一意の識別子。この値を使用して、sync API からの増分更新をリクエストすることができます 。

referenceId 文字列 この処罰の一意の識別子
timestamp 文字列 この処罰イベントが発生した時間
expirationTimestamp 文字列 この有効期限が切れる時間、または処罰が永続的である場合は null
batchUuid 文字列 この処罰に関連付けられているリクエストの UUID。1 つのリクエストが、1 つのバッチとして複数の処罰を作成する場合があります。
epicAccountName 文字列 この処罰を課した Epic Games アカウントの名前
epicAccountId 文字列 この処罰を課した Epic Games アカウントの ID
eosClientId 文字列 この処罰を課すために使用されたクライアントの資格情報 ID
eosClientRole 文字列 この処罰を課すために使用されたクライアントの資格情報のロール。
createdAt 文字列 Sanctions サービス バックエンドがこの処罰リクエストを受信した時間。
updatedAt 文字列 この処罰が更新された時間
trustedPartner 文字列 デベロッパーに代わってこの処罰を課した信頼できるパートナー
deploymentId 文字列 この処罰が適用される EOS deploymentId
pending ブール この処罰が現在保留中の場合は True
automated ブール この処罰がデベロッパー ポータル Web サイトの手動アクション以外の方法で作成された場合は True
metadata SanctionMetadata この処罰に関連付けられている任意のメタデータのキー/値のペア
displayName 文字列 処罰を受けたユーザーの表示名
identityProvider 文字列 処罰を受けたユーザーを認証した ID プロバイダー
accountId 文字列 指定された identityProvider での処罰を受けたユーザーのアカウント ID
modifications SanctionModification 処罰の更新に関連付けられている変更のリスト。このフィールドは、eventType が 2 のときに限り設定されます。

SanctionMetadata

SanctionMetadata
名前説明
... ... メタデータのキー/値のペア。最大項目数:25.項目のキーの最大長:64.項目の値の最大長:128。

SanctionModification

SanctionModification
名前説明
updated_at 文字列 この修正が行われた時間
... ... 更新で何が変更されたかを示す SanctionEvent の追加のキー/値のペア

複数のプレイヤーに対する有効な処罰を一括してクエリする

ポリシー

使用するクライアント ポリシーで、次のいずれかのアクションが許可されている必要があります。

  • sanctions:findActiveSanctionsForAnyUser
  • sanctions:findSanctionsForAnyUser
  • sanctions:findAllSanctions
  • sanctions:syncSanctionEvents

Authorization

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト GET /sanctions/v1/{deploymentId}/active-sanctions
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
クエリ パラメータ
名前説明必須
productUserId 文字列

必須の製品ユーザー ID フィルタ。次の複数の値をサポートしています。 productUserId=productUserId1&productUserId=productUserId2. 最大項目数:100

必須
action 文字列 必須のアクション フィルタ。次の複数の値をサポートしています。action=action1&action=action2 最大項目数:5 必須

リクエストの例

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<CompactSanctionWithPuid> 有効な処罰のリスト

CompactSanctionWithPuid

CompactSanctionWithPuid
名前説明
productUserId String 製品ユーザー ID
referenceId 文字列 この処罰の一意の識別子
timestamp 文字列 この処罰が課された時間 (ISO 8601 形式)
action 文字列 この処罰に関連付けられているアクションの文字列
expirationTimestamp 文字列 この有効期限が切れる時間 (ISO 8601 形式)、または処罰が永続的である場合は null

レスポンスの例

処罰を作成する

ポリシー

使用するクライアント ポリシーで、sanctions:createSanction アクションが許可されている必要があります。

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト POST /sanctions/v1/{deploymentId}/sanctions
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
JSON ペイロード
説明
Array<SanctionPostPayload> 作成する処罰のリスト

リクエストの例

SanctionPostPayload

SanctionPostPayload
名前説明必須
productUserId 文字列 処罰を受けたユーザーの EOS ProductUserId 必須
action 文字列 この処罰に関連付けられているアクションの文字列。形式:[a-zA-Z0-9_-]+。最小長:1.最大長:64。 必須
justification 文字列 この処罰に関連付けられている理由の文字列。最小長:1 最大長:2048 必須
source 文字列 この処罰を作成したソース、例:'developer-portal'。形式: [a-zA-Z0-9_-]+。最小長:2.最大長:64。 必須
tags Array<String>

この処罰に関連付けられているタグのリスト。項目は大文字・小文字を区別し、一意です。項目の形式:[a-zA-Z0-9_-]+。 アイテムの最大長:16

任意
pending ブール この処罰が現在保留中の場合は True 任意
metadata SanctionMetadata この処罰に関連付けられている任意のメタデータのキー/値のペア 任意
displayName 文字列 処罰を課されたユーザーの表示名。最大長:64 任意
identityProvider 文字列 処罰を受けたユーザーを認証した ID プロバイダー。最大長:64 任意
accountId 文字列 指定された identityProvider での処罰を受けたユーザーのアカウント ID。最大長:64 任意
duration 整数 処罰の長さ (秒単位) 任意

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<Sanction> 作成された処罰のリスト

Sanction


Sanction
名前説明
productUserId 文字列 処罰を受けたユーザーの EOS ProductUserId
action 文字列 この処罰に関連付けられているアクションの文字列
justification 文字列 この処罰に関連付けられている理由の文字列
source 文字列 この処罰を作成したソース、例:'developer-portal'
tags Array<String> この処罰に関連付けられているタグのリスト
referenceId 文字列 この処罰の一意の識別子
timestamp 文字列 この処罰が課された時間
expirationTimestamp 文字列 この有効期限が切れる時間、または処罰が永続的である場合は null
batchUuid 文字列 この処罰に関連付けられているリクエストの UUID。1 つのリクエストが、1 つのバッチとして複数の処罰を作成する場合があります。
epicAccountName 文字列 この処罰を課した Epic Games アカウントの名前
epicAccountId 文字列 この処罰を課した Epic Games アカウントの ID
eosClientId 文字列 この処罰を課すために使用されたクライアントの資格情報 ID
eosClientRole 文字列 この処罰を課すために使用されたクライアントの資格情報のロール。
createdAt 文字列 Sanctions サービス バックエンドがこの処罰リクエストを受信した時間。時間は、ISO 8601RFC3339 形式で定義されます。例:2021-01-01T00:00:00.000Z.
updatedAt 文字列 この処罰が更新された時間。時間は ISO 8601RFC3339 形式で定義されます。例:2021-01-01T00:00:00.000Z.
removedAt 文字列 この処罰が解除された時間。時間は ISO 8601RFC3339 形式で定義されます。例:2021-01-01T00:00:00.000Z.
trustedPartner 文字列 デベロッパーに代わってこの処罰を課した信頼できるパートナー
deploymentId 文字列 この処罰が適用される EOS deploymentId
pending ブール この処罰が現在保留中の場合は True
automated ブール この処罰がデベロッパー ポータル Web サイトの手動アクション以外の方法で作成された場合は True
metadata SanctionMetadata この処罰に関連付けられている任意のメタデータのキー/値のペア
displayName 文字列 処罰を受けたユーザーの表示名
identityProvider 文字列 処罰を受けたユーザーを認証した ID プロバイダー
accountId 文字列 指定された identityProvider での処罰を受けたユーザーのアカウント ID
status 文字列 この処罰のステータス。Active、Pending、Expired、Removed など

注: 時間は ISO 8601RFC3339 形式で定義されます。例:2021-01-01T00:00:00.000Z

レスポンスの例

すべての処罰をクエリする

ポリシー

使用するクライアント ポリシーで、次のいずれかのアクションが許可されている必要があります。

  • sanctions:findSanctionsForAnyUser
  • sanctions:findAllSanctions
  • sanctions:syncSanctionEvents

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト GET /sanctions/v1/{deploymentId}/sanctions
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
クエリ パラメータ
名前説明必須
limit 整数 返す要素の数。デフォルトは 100 任意
offset 整数 スキップする要素の数。デフォルトは 0 任意

リクエストの例

Response

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<Sanction> createdAt で降順に並べた処罰のリスト。
paging Object<Paging> 改ページ情報

レスポンスの例

プレイヤーのすべての処罰をクエリする

ポリシー

使用するクライアント ポリシーで、次のいずれかのアクションが許可されている必要があります。

  • sanctions:findSanctionsForAnyUser
  • sanctions:findSanctionsForLocalUser
  • sanctions:findAllSanctions
  • sanctions:syncSanctionEvents

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト

GET /sanctions/v1/{deploymentId}/users/\{productUserId}

HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
productUserId 文字列 クエリする productUserId 必須
クエリ パラメータ
名前説明必須
limit 整数 返す要素の数。デフォルトは 100 任意
offset 整数 スキップする要素の数。デフォルトは 0 任意

リクエストの例

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<Sanction> createdAt で降順に並べた処罰のリスト。
paging Object<Paging> 改ページ情報

レスポンスの例

処罰を更新する

ポリシー

使用するクライアント ポリシーで、sanctions:updateSanction アクションが許可されている必要があります。

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト PATCH /sanctions/v1/{deploymentId}/sanctions
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
JSON ペイロード
説明
Array<SanctionPatchPayload> 適用する処罰の更新のリスト

リクエストの例

SanctionPatchPayload

SanctionPatchPayload
名前説明必須
referenceId 文字列 この処罰の一意の識別子 必須
updates UpdatableFields 更新するフィールドと新しい値。 必須

UpdatableFields

UpdatableFields
名前説明必須
tags Array<String>

この処罰に関連付けられているタグのリスト。項目は大文字・小文字を区別し、一意です。項目の形式:[a-zA-Z0-9_-]+。 アイテムの最大長:16

任意
metadata SanctionMetadata この処罰に関連付けられている任意のメタデータのキー/値のペア 任意
justification 文字列 この処罰に関連付けられている理由の文字列。最小長:1 最大長:2048 任意

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<Sanction> 更新された処罰のリスト

レスポンスの例

処罰を解除する

ポリシー

使用するクライアント ポリシーで、sanctions:deleteSanction アクションが許可されている必要があります。

認証

この呼び出しには、Connect インターフェース から取得した EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト DELETE /sanctions/v1/{deploymentId}/sanctions
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
JSON ペイロード
説明
SanctionDeletePayload 削除する処罰とその理由

リクエストの例

SanctionDeletePayload

SanctionDeletePayload
名前説明必須
referenceIds Array<String> 解除する処罰の一意の識別子 必須
justification 文字列 この処罰の解除に関連付けられている理由の文字列。最小長:1 最大長:2048 任意

レスポンス

HTTP Response 204 - No Content.

Paging

Paging
名前説明
offset 整数 改ページのオフセット
limit 整数 呼び出しごとに返される処罰の数
total 整数 処罰の総数

処罰に対する不服申し立てを作成する

ポリシー

使用するクライアント ポリシーで、sanctions:createAppealsForAnyUser アクションが許可されている必要があります。

認証

この呼び出しには、EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト POST /sanctions/v1/{deploymentId}/appeals
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
JSON ペイロード
説明
AppealPostPayload 処罰に対する不服申し立てペイロード

リクエストの例

AppealPostPayload

AppealPostPayload
名前説明必須
referenceId 文字列 不服を申し立てる処罰の一意の識別子。 必須
reason 整数 不服申し立ての理由コード。
1: 処罰が不正。
2: アカウントが侵害された。
3: 処罰が不当。
4: 処罰解除を求める不服申し立て。
必須

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
説明
Appeal 作成された不服申し立て

Appeal

Appeal
名前説明
id 文字列 不服申し立ての一意の識別子
status 文字列 不服申し立てのステータス
referenceId 文字列 不服を申し立てる処罰の一意の識別子
createdAt 文字列 この不服申し立てリクエストが作成された時間。時間は ISO 8601RFC3339 形式で定義される。例:2021-01-01T00:00:00.000Z
updatedAt 文字列 この不服申し立てが更新された時間。時間は ISO 8601RFC3339 形式で定義される。例:2021-01-01T00:00:00.000Z
reason 整数 不服申し立ての理由コード。

レスポンスの例

処罰に対する不服申し立てをクエリする

ポリシー

使用するクライアント ポリシーで、sanctions:findAppealsForAnyUser アクションが許可されている必要があります。

Authorization

この呼び出しには、EOS クライアント認証アクセス トークンを使用した Bearer トークン認証が必要です。

リクエスト

HTTP リクエスト GET /sanctions/v1/{deploymentId}/appeals
HTTP ヘッダ
名前
Authorization Bearer <EOSAccessToken>
Content-Type application/json
パス パラメータ
名前説明必須
deploymentId 文字列 クエリする deploymentId 必須
クエリ パラメータ
名前説明必須
limit 整数 返す要素の数。デフォルトは 100 任意
offset 整数 スキップする要素の数。デフォルトは 0 任意
referenceId 文字列 処罰識別子フィルタ。複数指定可能。 任意
status 文字列 不服申し立てステータス フィルタ。複数指定可能。 任意
productUserId 文字列 製品ユーザー ID フィルタ。複数指定可能。 任意

リクエストの例

レスポンス

HTTP Response 200 - OK: Success.
HTTP ヘッダ
名前
Content-Type application/json
JSON ペイロード
名前説明
elements Array<Appeal> createdAt で降順に並べた不服申し立てのリスト。
paging Object<Paging> 改ページ情報

レスポンスの例