承認済みビューを作成および管理する

承認済みビューと承認済みビューセットに対して、次の管理オペレーションを実行できます。

必要な権限とロール

承認済みビューセットと承認済みビューを作成して管理するには、次の IAM 権限が必要です。

承認済みビューセット:

権限 説明
contactcenterinsights.authorizedViewSet.create 承認済みビュー セットを作成します。
contactcenterinsights.authorizedViewSet.get 承認済みビューセットの詳細を取得します。
contactcenterinsights.authorizedViewSet.update 既存の承認済みビューセットを更新します。
contactcenterinsights.authorizedViewSet.delete 承認済みビュー セットを削除します。
contactcenterinsights.authorizedViewSet.list プロジェクト内の承認済みビューセットを一覧表示します。

承認済みビュー:

権限 説明
contactcenterinsights.authorizedView.create 承認済みビューを作成します。
contactcenterinsights.authorizedView.get 承認済みビューの詳細を取得します。
contactcenterinsights.authorizedView.update 既存の承認済みビューを更新します。
contactcenterinsights.authorizedView.delete 承認済みビューを削除します。

承認済みビューへのアクセス権を付与するには、次の権限が必要です。

権限 説明
contactcenterinsights.authorizedView.setIamPolicy 承認済みビューに IAM ポリシーを設定します。
contactcenterinsights.authorizedView.getIamPolicy 承認済みビューの IAM ポリシーを取得します。

事前定義ロール

次の事前定義された IAM ロールには、必要な権限が含まれています。

ロール 説明
roles/contactcenterinsights.editor すべての Customer Experience Insights リソースに対する読み取り / 書き込みアクセス権を付与します。
roles/contactcenterinsights.admin すべての Customer Experience Insights リソースに対する読み取り / 書き込みアクセス権を付与します。

承認済みビューセット

承認済みビューセットを使用すると、複数の承認済みビューへの権限付与をグループ化して簡素化できます。

承認済みビュー セットを作成する

REST

承認済みビュー セットを作成するには、contactcenterinsights.authorizedViewSet.create 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 作成する承認済みビューのユーザー定義の識別子(省略可)。この値は 1 ~ 63 文字で、先頭と末尾は [a-z0-9] で、文字の間にダッシュ(-)を含めることができます。
  • DISPLAY_NAME: 承認済みビュー セットのわかりやすい名前。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=AUTHORIZED_VIEW_SET_ID

リクエストの本文(JSON):

{
  "displayName": "DISPLAY_NAME"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビューセットを読み取る

REST

承認済みビューセットの読み取りには contactcenterinsights.authorizedViewSet.get 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。

HTTP メソッドと URL:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビューセットを更新する

REST

承認済みビュー セットを更新するには、contactcenterinsights.authorizedViewSet.update 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。
  • DISPLAY_NAME: 承認済みビュー セットのわかりやすい名前。
  • UPDATE_MASK: 更新するフィールド。この値は、フィールドのカンマ区切りのリストです。
    • display_name

HTTP メソッドと URL:

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID?update_mask=display_name

リクエストの本文(JSON):

{
  "displayName": "DISPLAY_NAME"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビュー セットを削除する

REST

承認済みビューセットを削除するには、contactcenterinsights.authorizedViewSet.delete 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。

HTTP メソッドと URL:

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{}

承認済みビューセットを一覧表示する

REST

承認済みビューセットのリストを取得するには、contactcenterinsights.authorizedViewSet.list 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • PAGE_SIZE: レスポンスで返す承認済みビューセットの最大数。値が 0 の場合、サービスはデフォルトのサイズを選択します。呼び出しで返されるオブジェクトの数が、リクエストされた数よりも少ないことがあります。レスポンスに空でない `next_page_token` が含まれている場合、追加のデータがあることを示します。
  • PAGE_TOKEN: 最後の `ListAuthorizedViewSetsResponse` で返された値。この値は、これが前の `ListAuthorizedViewSets` 呼び出しの続きであり、システムがデータの次のページを返す必要があることを示します。
  • FILTER: 承認済みビューセットをフィルタする式。例:
    • create_time > "2022-01-01T00:00:00Z"
    • update_time < "2022-01-02T00:00:00Z"
    • display_name = "My Authorized View Set"
    • display_name =~ "My.*"
    • create_time > "2022-01-01T00:00:00Z" AND display_name = "My Authorized View Set"
    • create_time > "2022-01-01T00:00:00Z" OR display_name = "My Authorized View Set"
  • ORDER_BY: レスポンスにリストされている承認済みビューセットを並べ替える式。例:
    • create_time
    • create_time desc
    • update_time
    • update_time desc
    • display_name
    • display_name desc

HTTP メソッドと URL:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "authorizedViewSets": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
      "displayName": "My Authorized View Set",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID_2",
      "displayName": "Another Authorized View Set",
      "createTime": "2022-01-02T00:00:00.000000Z",
      "updateTime": "2022-01-02T00:00:00.000000Z"
    },
  ],
  "nextPageToken": "NEXT_PAGE_TOKEN"
}

承認済みビュー

承認済みビューでは、会話の数と、会話に対するエージェントまたは管理者の役割が制限されます。

承認済みビューを作成する

REST

承認済みビューを作成するには、contactcenterinsights.authorizedView.create 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: この承認済みビューが属する承認済みビュー セットの識別子。
  • AUTHORIZED_VIEW_ID: 作成する承認済みビューのユーザー定義の識別子(省略可)。この値は 1 ~ 63 文字で、先頭と末尾は [a-z0-9] で、文字の間にダッシュ(-)を含めることができます。
  • DISPLAY_NAME: 承認済みビュー セットのわかりやすい名前。
  • CONVERSATION_FILTER: データに適用するフィルタ。`agent_id` フィールドを使用できます。
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?authorized_view_id=AUTHORIZED_VIEW_ID

リクエストの本文(JSON):

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビューを読み取る

REST

承認済みビューの読み取りには contactcenterinsights.authorizedView.get 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。
  • AUTHORIZED_VIEW_ID: 承認済みビューの識別子。

HTTP メソッドと URL:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビューを更新する

REST

承認済みビューを更新するには、contactcenterinsights.authorizedView.update 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: この承認済みビューが属する承認済みビュー セットの識別子。
  • AUTHORIZED_VIEW_ID: 更新する承認済みビューの識別子。
  • DISPLAY_NAME: 承認済みビュー セットのわかりやすい名前。
  • CONVERSATION_FILTER: データに適用するフィルタ。`agent_id` フィールドを使用できます。
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"
  • UPDATE_MASK: 更新するフィールド。この値は、フィールドのカンマ区切りのリストです。
    • display_name
    • conversation_filter

HTTP メソッドと URL:

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID?update_mask=display_name,conversation_filter

リクエストの本文(JSON):

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

承認済みビューを削除する

REST

承認済みビューを削除するには、contactcenterinsights.authorizedView.delete 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。
  • AUTHORIZED_VIEW_ID: 承認済みビューの識別子。

HTTP メソッドと URL:

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{}

承認済みビューを一覧表示する

REST

承認済みビューセットのリストを取得するには、contactcenterinsights.authorizedViews.list 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットのユーザー定義の識別子。
  • PAGE_SIZE: レスポンスで返すビューの最大数。値が 0 の場合、サービスはデフォルトのサイズを選択します。呼び出しで返されるオブジェクトの数が、リクエストされた数よりも少ないことがあります。レスポンスに空でない `next_page_token` が含まれている場合、追加のデータがあることを示します。
  • PAGE_TOKEN: 最後の `ListAuthorizedViewsResponse` で返された値。この値は、これが前の `ListAuthorizedViews` 呼び出しの続きであり、システムがデータの次のページを返す必要があることを示しています。
  • FILTER: レスポンスにリストされている承認済みビューをフィルタするフィルタ式。`authorized_view_id`、`display_name`、`conversation_filter`、`create_time`、`update_time` の各フィールドでフィルタできます。任意の式と/または式を使用できます。文字列フィールドに正規表現を使用することもできます。
    • 例: display_name = "My View"
    • 例: conversation_filter =~ ".*agent-1.*"
    • 例: create_time > "2022-01-01T00:00:00Z"
    • 例: display_name =~ ".*View.*"
    • 例: create_time > "2022-01-01T00:00:00Z" AND create_time <= "2022-01-02T00:00:00Z"
  • ORDER_BY: レスポンスにリストされている承認済みビューを並べ替える順序式。
    • 例: create_time
    • 例: update_time desc

HTTP メソッドと URL:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "authorizedViews": [
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-1",
      "displayName": "My First View",
      "conversationFilter": "agent_id = \"agent-1\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-2",
      "displayName": "My Second View",
      "conversationFilter": "agent_id = \"agent-2\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    }
  ],
  "nextPageToken": "next-page-token"
}

承認済みビューに IAM ポリシーを設定する

REST

承認済みビューに IAM ポリシーを設定するには、contactcenterinsights.authorizedView.setIamPolicy 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。
  • AUTHORIZED_VIEW_ID: 承認済みビューの識別子。
  • PRINCIPAL: アクセス権を付与するプリンシパル(ユーザー)。
  • ROLE: ユーザーに付与するロール。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:setIamPolicy

リクエストの本文(JSON):

{
  "policy": {
    "bindings": [
      {
        "role": "roles/ROLE",
        "members": [
          "PRINCIPAL"
        ]
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

承認済みビューの IAM ポリシーを読み取る

REST

承認済みビューの IAM ポリシーを読み取るには、contactcenterinsights.authorizedView.getIamPolicy 権限が必要です。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID。
  • LOCATION: Customer Experience Insights データのロケーション。
  • AUTHORIZED_VIEW_SET_ID: 承認済みビューセットの識別子。
  • AUTHORIZED_VIEW_ID: 承認済みビューの識別子。

HTTP メソッドと URL:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:getIamPolicy

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

組織の設定例

この例では、簡略化された組織の承認済みビューを設定する方法を示します。この例では、REST API を使用して、acme-corp という架空のプロジェクトでリソースを作成して管理します。

Acme の構造は次のとおりです。

  • Alice: Alice はプロジェクトの管理者です。
    • Bob: Bob はマネージャーです。
    • Carol: Carol はエージェントです。
    • Dave: Dave はエージェントです。

各ユーザーには、メールアドレスに関連付けられたプリンシパル識別子があります。

  • Alice の場合は user:admin.alice@acme.com です。
  • Bob の場合は user:manager.bob@acme.com です。
  • Carol の場合は user:agent.carol@acme.com です。
  • Dave の場合は user:agent.dave@acme.com です。

各エージェントには、会話の Conversation.agent_id フィールドに対応する agent_id があります。

  • Carol の場合は agent-carol です。
  • Dave の場合は agent-dave です。

要件

各ユーザーには次のアクセスレベルが必要です。

  • 管理者アクセス権: 管理者である Alice は、すべてのデータとリソースに対する完全なアクセス権を持っています。
  • マネージャー アクセス: マネージャーである Bob は、それぞれのチームの会話と分析を作成、編集、表示できます。
  • エージェント アクセス: エージェントの Carol と Dave は、自分が参加した会話と分析のみを表示できます。

ステップ 1: プロジェクトへのアクセス権を付与する

すべてのユーザーをプロジェクトに追加し、roles/browser を付与します。このロールにより、プロジェクトとそのリソースを表示できます。

ユーザーにプロジェクト ブラウザを付与する

次のコードは、Acme の各メンバーにブラウザロールを付与する方法を示しています。

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:manager.bob@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.carol@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.dave@acme.com" \
    --role="roles/browser"

詳細については、単一のロールを付与するをご覧ください。

Google グループを使用してプロジェクトへのアクセスを管理することもできます。個々のユーザーに権限を付与する代わりに、グループに roles/browser を付与できます。たとえば、project-browsers@acme.com というグループを作成して、Bob をこのグループに追加できます。次に、このグループに roles/browser ロールを付与します。詳しくは、Google グループをご覧ください。

ステップ 2: 管理者にプロジェクト レベルの権限を付与する

プロジェクト レベルで管理者に roles/contactcenterinsights.admin を付与します。たとえば、Alice が Acme の管理者である場合、このロールですべてのリソースに対する完全なアクセス権を取得します。

管理者ロールを付与する

次のコードは、Alice に管理者ロールを付与する方法を示しています。

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/contactcenterinsights.admin"

ステップ 3: 承認済みビューセットを作成する

マネージャーとエージェントの承認済みビューをグループ化する 2 つの承認済みビューセットを作成します。

編集者の承認済みビュー セットを作成する

REST

この例では、マネージャー権限を持つビューをグループ化するために、editor-view-set という名前の承認済みビュー セットを作成します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=editor-view-set

リクエストの本文(JSON):

{
  "displayName": "Editor View Set"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set",
  "displayName": "Editor View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

閲覧者の承認済みビュー セットを作成する

REST

この例では、エージェント権限を持つビューをグループ化するために、viewer-view-set という名前の承認済みビュー セットを作成します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=viewer-view-set

リクエストの本文(JSON):

{
  "displayName": "Viewer View Set"
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set",
  "displayName": "Viewer View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

ステップ 4: 承認済みビューセットにプロジェクト レベルの権限を付与する

承認済みビューは組み込み ID を持つリソースであり、{product_name} データにアクセスするための権限が必要です。承認済みビューに会話とオペレーションへのアクセス権を付与するには、次のロールを付与します。

  • editor-view-set 内のすべての承認済みビューに対する roles/contactcenterinsights.editor
  • viewer-view-set 内のすべての承認済みビューに対する roles/contactcenterinsights.viewer

詳細については、ロールの付与または取り消しをご覧ください。

editor-view-set に編集者のロールを付与する

この例では、roles/contactcenterinsights.editoreditor-view-set に付与します。

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/editor-view-set" \
    --role="roles/contactcenterinsights.editor"

viewer-view-set に閲覧者のロールを付与する

この例では、roles/contactcenterinsights.viewer ロールを viewer-view-set 承認済みビューセットに付与します。

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/viewer-view-set" \
    --role="roles/contactcenterinsights.viewer"

ステップ 5: 承認済みビューを作成する

マネージャーとエージェントごとに承認済みビューを作成し、適切なフィルタを適用します。

管理者の承認済みビューを作成する

REST

この例では、agent_id = carol OR agent_id = dave の会話をフィルタする ID bobs-editor-view の承認済みビューを作成します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=bobsEditorView

リクエストの本文(JSON):

{
  "displayName": "Bob's Editor View",
  "value": {
    "filter": "agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/bobs-editor-view",
  "displayName": "Bob's Editor View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter":"agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
}

管理者に承認済み編集者のロールを付与する

REST

この例では、bobs-editor-view で Acme のマネージャーである Bob に roles/contactcenterinsights.authorizedEditor を付与します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set/authorizedViews/bobs-editor-view:setIamPolicy

リクエストの本文(JSON):

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.editor",
        "members": [
          "user:manager.bob@acme.com"
        ]
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.editor",
      "members": [
        "user:manager.bob@acme.com"
      ]
    }
  ]
}

エージェントの承認済みビューを作成する

REST

この例では、Carol という名前の Acme エージェントの承認済みビューを作成します。この承認済みビューの ID は carols-viewer-view で、agent_id = agent-carol の会話をフィルタします。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=carols-viewer-view

リクエストの本文(JSON):

{
  "displayName": "Carol's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-carol\""
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/carols-viewer-view",
  "displayName": "Carol's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-carol\""
}

エージェントに Authorized Viewer ロールを付与する

REST

この例では、carols-viewer-view の Carol に roles/contactcenterinsights.authorizedViewer を付与します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/carols-viewer-view:setIamPolicy

リクエストの本文(JSON):

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.carol@acme.com"
        ]
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.carol@acme.com"
      ]
    }
  ]
}

別のエージェントの承認済みビューを作成する

REST

次の例では、Dave という名前の Acme エージェントの承認済みビューを作成します。この承認済みビューの ID は daves-viewer-view で、agent_id = agent-dave の会話をフィルタします。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=daves-viewer-view

リクエストの本文(JSON):

{
  "displayName": "Dave's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-dave\""
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/daves-viewer-view",
  "displayName": "Dave's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-dave\""
}

別のエージェントに Authorized Viewer ロールを付与する

REST

この例では、daves-viewer-view の Dave に roles/contactcenterinsights.authorizedViewer を付与します。

HTTP メソッドと URL:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/daves-viewer-view:setIamPolicy

リクエストの本文(JSON):

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.dave@acme.com"
        ]
      }
    ]
  }
}

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.dave@acme.com"
      ]
    }
  ]
}

次のステップ