既存のサービス要求の変更
ライフサイクル内を移行することなくサービス要求を変更するには、以下のエンドポイントを使用します。
サービス要求の 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
}
}
}