既存のサービス要求の変更

ライフサイクル内を移行することなくサービス要求を変更するには、以下のエンドポイントを使用します。

サービス要求の PATCH

サービス要求に PATCH を実行するには、以下を使用します。

  • PATCH /claims/{claimId}/service-requests/{serviceRequestId}

ベースコンフィギュレーションのどのフィールドにも PATCH は実行できません。すべて作成時にしか設定できないからです。ただし、インスタンスに ServiceRequest または関連エンティティに対する拡張フィールドが含まれている場合は、このエンドポイントを使用してこれらのフィールドを更新できます。

変更の理由の指定

ClaimCenter では、ServiceRequest エンティティに History 配列があり、ここには一連の ServiceRequestChange インスタンスが含まれています。ServiceRequestChange エンティティには Description フィールドがあります。これを使用して変更の理由を取得します。

PATCH を通してサービス要求が変更されると、必ず次の display key を使用して Description フィールドが設定されます。

Rest.Claim.V1.ServiceRequest.PropertiesChanged = Service request values changed\: {0}

{0} プレースホルダには、変更されたスキーマプロパティのリストが入力されます。この display key を変更することで、Description フィールドの値をコンフィギュレーションできます。

サービス要求のユーザーへのアサイン

すべてのサービス要求は、グループとそのグループ内のユーザーにアサインされます。このユーザーは、サービス要求管理の主担当になります。

システム API 経由でサービス要求を作成すると、サービス要求を最初にグループとユーザーにアサインするため、サービス要求のアサインルールを ClaimCenter が自動的に実行します。必要に応じて、POST /claims/{claimId}/service-requests/{serviceRequestId}/assign エンドポイントを使用して、サービス要求を再アサインすることもできます。

注: サービス要求のアサイン機能は、アクティビティのアサイン機能のサブセットです。アクティビティとサービス要求の両方に適用されるアサインオプションはすべて同じ動作です。

アサインオプション

サービス要求はシステム API 経由で以下の方法でアサインできます。

  • 特定のグループとそのグループユーザーにアサイン
  • 特定のグループのみにアサイン(ClaimCenter がアサインルールを使用して、そのグループ内のユーザーを選択)
  • クレーム所有者にアサイン
  • サービス要求のアサインルールを再実行することでアサイン
    • アサインルールを最後に実行した後にサービス要求が変更され、その変更がサービス要求のアサイン先に影響する可能性がある場合、この方法を適用できます。

/{serviceRequestId}/assign エンドポイントのルートリソースは ServiceRequestAssignee です。このリソースによってアサイン条件が指定されます。ServiceRequestAssignee スキーマには、次のフィールドがあります。

フィールド 説明
autoAssign Boolean アサインルールを使用してサービス要求をアサインするかどうか
claimOwner Boolean サービス要求をクレーム所有者にアサインするかどうか
groupId 文字列 サービス要求のアサイン先となるグループの ID
userId 文字列 サービス要求のアサイン先となるユーザーの ID

Assignee リソースは空にできません。ここでは 1 つのアサインオプションを指定する必要があります(グループとユーザー、グループのみ、クレーム所有者、または自動アサイン)。

アサインルールによるアサインの実行方法の詳細については、『Gosu ルールガイド』を参照してください。

アサインの例:特定のグループ(およびユーザー)へのアサイン

次の例は、(クレーム demo_sample:20 にある)サービス要求 cc:102 をグループ demo_sample:31(Auto1 - TeamA)およびユーザー demo_sample:2(Sue Smith)にアサインしています。

POST /claim/v1/claims/demo_sample:20/service-requests/cc:102/assign

{
  "data": {
    "attributes" : {
      "groupId" : "demo_sample:31",
      "userId" : "demo_sample:2"
    }
  }
}

次の例は、(クレーム demo_sample:20 にある)サービス要求 cc:102 をグループ demo_sample:31(Auto1 - TeamA)にアサインしています。ユーザーは指定されていないので、ClaimCenter がアサインルールを実行して、グループ demo-sample:31 内のユーザーにサービス要求をアサインします。

POST /claim/v1/claims/demo_sample:20/service-requests/cc:102/assign

{
  "data": {
    "attributes" : {
      "groupId": "demo_sample:31"
    }
  }
}

現時点では、グループまたはグループ ID を返すエンドポイントはありません。サービス要求を特定のグループにアサインするには、呼び出し元アプリケーションで、グループのシステム API 以外の方法を使用して、グループ ID を決定する必要があります。

アサインの例:クレーム所有者へのアサイン

次の例は、(クレーム demo_sample:20 にある)サービス要求 cc:102 を、親クレーム(demo_sample:20)を所有するグループとユーザーにアサインしています。

POST /claim/v1/claims/demo_sample:20/service-requests/cc:102/assign

{
  "data": {
    "attributes" : {
        "claimOwner" : true
    }
  }
}

アサインの例:自動アサインの使用

次の例は、自動アサインルールを使用して(クレーム demo_sample:20 から)サービス要求 cc:102 をアサインしています。

POST /claim/v1/claims/demo_sample:20/service-requests/cc:102/assign

{
  "data": {
    "attributes": {
        "autoAssign" : true
    }
  }
}