Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Insurance
InsClaimService:createUpdateClaim

InsClaimService:createUpdateClaim

このサービスを使用して、請求を作成または更新します。

クラス: InsClaimService

方法: createUpdateClaim

操作手順

Salesforce 請求製品では、既存の Vlocity オブジェクトモデル (管理パッケージのカスタムオブジェクト) と新しい Salesforce オブジェクトモデル (標準 Salesforce オブジェクト) の両方がサポートされます。Vlocity モデルでは、保険契約と請求間の Asset → InsuranceClaim リレーションがサポートされます。Salesforce モデルでは、保険契約と請求間の InsurancePolicy → 請求リレーションがサポートされます。

  1. inputKey によって呼び出される変換前の JSON を取得します。次に、サービスは入力 JSON の policyId 要素をチェックして、サービスが Vlocity クレームを作成するか Salesforce FSC クレームを作成するかを判断します。

    • 資産レコードにpolicyId属している場合、サービスでは Vlocity 請求オブジェクト (InsuranceClaim__c、InsuranceClaimInvolvedInjury__c、InsuranceClaimInvolvedProperty__c、InsuranceClaimPartyRelationship__c) が作成されます。

    • レコードpolicyIdに属しInsurancePolicyている場合、サービスは Claim、ClaimItem、および ClaimParticipant の Salesforce FSC 請求オブジェクトを作成します。

    • 入力 JSON で policyId 要素を使用できない場合、または値が空白の場合、リモートオプション isAssetInsuranceClaim がオンになります。値が true の場合、サービスは Vlocity 請求オブジェクトを作成します。それ以外の場合、FSC 請求オブジェクトを作成します。policyId に値がなく、isAssetInsuranceClaim が設定されていない場合、isAssetInsuranceClaim のデフォルト値は false です。

  2. claimIdが渡されない場合、サービスは請求オブジェクトを作成します。

    claimIdが渡されると、サービスは請求オブジェクトを更新します。

  3. また uniqueIdGeneratorObjectSetting は両方の generateClaimNumber オプションが設定されている場合、サービスではそれらを使用して [名前] 項目が claimNumber 作成されます。

    ベストプラクティスとして、すべての請求に一意の請求番号を割り当てます。リモートオプションを使用してこの推奨を満たし、カスタムワークフローで一意の claimNumber 値が生成されるようにします。一意の値が設定されていない場合、すべての請求の請求番号は同じ値に設定されます。

  4. 出力 JSON で claimId、policyHolderClaimantId (FSC クレームの場合は policyholderClaimParticipantId)、および involvedItems ノードを返します。

リモートオプション

オプション

説明

inputKey

必須。

サービスが必要とする情報を含む、変換前の JSON 構造のリストを取得します。policyIdに応じて、claimJsonは次のいずれかの請求オブジェクトモデルを使用します。

  • Salesforce FSC 請求オブジェクトモデル

  • Vlocity 請求オブジェクトモデル

claimId

省略可能。

claimIdが渡されると、サービスは請求を更新します。

claimIdが渡されなかった場合、サービスは要求を作成します。

generateClaimNumber

省略可能。

true の場合、サービスはUniqueIdGeneratorServiceを使用して一意のキーを生成し、[Name] 項目をその一意のキーに設定します。

uniqueIdGeneratorObjectSetting

省略可能。

generateClaimNumber が true で、このパラメータが =null の場合、サービスは Object Type = Claim の Vlocity UniqueId Generator 設定を検索します。

サービスで複数の設定が検出されると、エラーが返されます。

サービスで 1 つの設定が見つかった場合、その設定が使用されます。

generateClaimNumber が true で、このパラメータが null でない場合、サービスは Name = < this parameter value > および Object Type = Claim の Vlocity UniqueId Generator Setting を検索します。次に、この設定を使用して一意の鍵を生成します。

isAssetInsuranceClaim

省略可能。

サービスで Vlocity 要求を作成するか、Salesforce FSC 要求を作成するかを決定します。

  • 値が true の場合、サービスは Vlocity 要求を作成します。

  • 値が false の場合、サービスは Salesforce FSC 要求を作成します。

入力 JSON (Salesforce FSC 請求オブジェクトモデル)

このモデルは、次の 2 つのケースのいずれかに適用されます。

  • claimJson のpolicyIDは InsuranceClaim オブジェクトに属しています。

  • isAssetInsuranceClaim remote オプションの値は false です。

    メモ
    メモ

    isAssetInsuranceClaim remote オプションは、入力 JSON に policyId が存在しない場合、または値が空白の場合にのみ適用されます。また、policyId に値がなく、isAssetInsuranceClaim が設定されていない場合、isAssetInsuranceClaim のデフォルト値は false です。

サービスはinputKeyを使用して、入力として使用する変換前の JSON を取得します。このサービスでは、商品から直接保険品目仕様を取得して、被保険者またはプロパティを作成することもできます。

この例では、inputKey = claimJson です。

入力

説明

inputKey = claimJson

claimJSON

JSON 構造内の入力要素は次のとおりです。

  • policyholderInsurancePolicyParticipantId: 保険契約者の保険関係者の ID。

  • policyholderClaimParticipantRole: 保険契約者の請求関係者のロールのリスト。各値の間にセミコロン区切り文字を挿入します。

    例: "Insured;Claimant"

  • lossDate: Rolling や Calendar Year などの時間的制約のある属性クラスを使用して請求を設定する場合に必要です。日付が指定されていない場合、期間種別が [Rolling (ローリング)] で [Calendar Year (暦年)] の保険契約条件は作成されません。

claimPropertyItems または claimPartyItems

プロパティと傷害の入力のリスト。この入力パラメータはclaimJSONの一部です。

  • insurancePolicyParticipantId: 負傷または財産的損失を受けた保険契約の関係者の ID。この ID を指定すると、サービスはInsurancePolicyParticipantレコードの適切なContactIdとAccountIdを使用します。insurancePolicyParticipantIdを提供する場合は、contactIdとaccountIdを省略できます。

  • contactId: けが人または財産的損失を受けた取引先責任者の ID。請求者に保険契約関係者 ID がない場合にcontactIdを指定します。 この ID を指定すると、サービスは取引先責任者レコードの適切なAccountIdを使用します。contactIdを提供する場合は、accountIdを省略できます。

  • accountId: アカウントの ID。請求者に保険契約関係者IDがなく、contactIdを提供していない場合にaccountIdを提供します。

  • claimParticipantRoles: 保険契約者の請求関係者のロールのリスト。各値の間にセミコロン区切り文字を挿入します。

    例: "Insured;Claimant"

  • insuredItemId: この入力は InsurancePolicyAsset レコードの ID を受け入れます。

additionalClaimParticipants

追加の請求関係者のリスト。この入力パラメータはclaimJSONの一部です。

ID フィールド ([insurancePolicyParticipantId]、[contactId,]、または [accountId]) の少なくとも 1 つを指定します。

  • insurancePolicyParticipantId: この請求の追加関係者の ID。この ID を指定すると、サービスはInsurancePolicyParticipantレコードの適切なContactIdとAccountIdを使用します。insurancePolicyParticipantIdを提供する場合は、contactIdとaccountIdを省略できます。

  • contactId: この請求の追加関係者である取引先責任者の ID。この ID を指定し、insurancePolicyParticipantIdを指定しない場合、サービスは取引先責任者レコードの適切なAccountIdを使用します。contactIdを提供する場合は、accountIdを省略できます。

  • accountId: アカウントの ID。

  • claimParticipantRoles: 請求関係者のロールのリスト。各値の間にセミコロン区切り文字を挿入します。

    例: "Claimant;Payee;Witness"

Salesforce FSC クレームの入力 JSON の例を次に示します。

{ 
 "claimJson": {
  "claimAttributes": {
     "amountDeductible": "500.00"
  },
  "claimPropertyItems": { 
   "autoClaimInvolvedVehicle": [ 
     {
      "claimParticipantRoles": "First Party Claimant; Insured",          
      "insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",          
      "contactId": null,          
      "accountId": null,
      "insuredItemId": "0YW5w0000000HLKGA2",          
      "additionalFields": {},          
      "productCode": "autoClaimInvolvedVehicle",           
      "avMake": "Jeep",           
      "avModel": "Wrangler",          
      "avLicNum": "49J9384",           
      "avLicState": "CA",          
      "avYear": "2019",           
      "avColor": "Red",          
      "claimInsuredProp": true,          
      "claimEstimate": null,          
      "claimPropertyLoc": null,          
      "claimSeverity": null,          
      "claimDamage": "Front End Damage",          
      "claimDamageLoc": null,          
      "claimDrivable": false
     },        
      {          
       "claimParticipantRoles": "Third Party Claimant",          
       "insurancePolicyParticipantId": null,          
       "contactId": "0ao5w0000000J47AX5",          
       "accountId": null,          
       "insuredItemId": null,          
       "additionalFields": {},          
       "productCode": "autoClaimInvolvedVehicle",
       "avMake": "Audi",          
       "avModel": "A5",          
       "avLicNum": "48H03949",          
       "avLicState": "WA",          
       "avYear": "2015",          
       "avColor": "Blue",          
       "claimInsuredProp": false,          
       "claimEstimate": null,          
       "claimPropertyLoc": null,           
       "claimSeverity": null,          
       "claimDamage": "Rear End Damage",          
       "claimDamageLoc": null,          
       "claimDrivable": false
      }      
     ]    
    },    
    "claimPartyItems": {      
    "claimInjuredPerson": [        
    {          
     "claimParticipantRoles": "Third Party Claimant",          
     "contactId": "0ao5w0000000J47AX5",          
     "accountId": null,          
     "insurancePolicyParticipantId": null,          
     "additionalFields": {},          
     "productCode": "claimParticipantPerson",          
     "injDescription": "Whiplash"        
    }      
   ],    
    "additionalClaimParticipants": [
     {
      "Id": null,
      "insurancePolicyParticipantId":  null,
      "contactId": null,
      "accountId": "0015g00000H480EAAR",
      "claimParticipantRoles": "Witness", 
      "additionalFields": {}
     }
    ]
   },
  "additionalFields": {},    
  "policyholderClaimParticipantRole": "Insured",    
  "policyholderInsurancePolicyParticipantId": "0ao5w0000000Cl7AAE",    
  "policyId": "0YT5w0000000ieyGAA",    
  "lossDate": "2021-03-29T16:00:00.000Z",    
  "productCode": "autoClaimProduct"  
 } 
} 

出力 JSON

Salesforce FSC クレームの出力 JSON の例を次に示します。

{  
 "CreateUpdateClaimRemoteAction": {    
  "involvedItems": [      
    {       
     "insuredItemId": "0YW5w0000000HLKGA2",     
     "claimItemId": "0dq5w0000008PrNAAU",    
     "accountId": "0035w000034fL4YAK",    
     "contactId": "0035w000039cfL2AAI",   
     "insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",      
     "claimParticipantRoles": "First Party Claimant; Insured",   
     "claimParticipantId": "0aS5w00000007r3EAA"    
    },      
    {
     "insuredItemId": null,    
     "claimItemId": "0dq5w0000008PrNAAU",    
     "accountId": null,   
     "contactId": "0035w000039cfL2AAI",   
     "insurancePolicyParticipantId": "0ao5w0000000Cl7AAE",  
     "claimParticipantRoles": "Third Party Claimant", 
     "claimParticipantId": "0aS5w00000004K59dD"      
    }    
   ],
   "policyholderClaimParticipantId": "0ao5w0000000Cl7AAE",    
   "claimId": "0Zk5w0000000IOVCA2"  
  },
  "policyTermIds": [     
   "a6Q5w0000002x6oEAA", 
   "a6Q5w0000002x6pEAA", 
   "a6Q5w0000002x6qEAA", 
   "a6Q5w0000002x6rEAA", 
   "a6Q5w0000002x6sEAA", 
   "a6Q5w0000002x6tEAA"  
  ]
 }

入力 JSON (Vlocity Claim Object Model)

このモデルは、次の 2 つのケースのいずれかに適用されます。

  • claimJson のpolicyIDは Asset オブジェクトに属しています。

  • isAssetInsuranceClaim remote オプションの値は true です。

    メモ
    メモ

    isAssetInsuranceClaim remote オプションは、入力 JSON に policyId が存在しない場合、または値が空白の場合にのみ適用されます。また、policyId に値がなく、isAssetInsuranceClaim が設定されていない場合、isAssetInsuranceClaim のデフォルト値は false です。

サービスはinputKeyを使用して、入力として使用する変換前の JSON を取得します。このサービスでは、商品から直接保険品目仕様を取得して、被保険者またはプロパティを作成することもできます。

この例では、inputKey = claimJson です。

入力

説明

inputKey = claimJson.

claimJSON

JSON 構造内の入力要素は次のとおりです。

  • policyHolderPartyId: 関係者オブジェクト (Party__c) の ID に基づく関係者 ID。

  • policyHolderPartyName: 関係者オブジェクト (Party__c) の名前に基づく関係者名。既存のParty__cレコードの名前である必要があります。

  • policyHolderPartyRelationshipTypeId: Vlocity Party Relationship Type Object (PartyRelationshipType__c) の ID に基づくリレーション種別 ID。

  • policyHolderPartyRelationshipType: Vlocity Party Relationship Type オブジェクトの名前に基づくリレーションタイプ名 (PartyRelationshipType__c)。これは既存の PartyRelationshipType__c レコードの名前である必要があります。

claimPropertyItems または claimPartyItems

プロパティと傷害の入力のリスト。この入力パラメーターは claimJSON の一部です。

プロパティ

  • claimantPartyId

  • claimantPartyName

  • claimantPartyRelationshipTypeId

  • claimantPartyRelationshipTypeName

  • insuredItemId

傷害

  • partyId

  • partyName

  • claimPartyRelationshipTypeId

  • claimPartyRelationshipTypeName

claimantPartyRelationshipTypeID と claimantPartyRelationshipTypeName では、次の 2 つの要素のうち 1 つだけが必要です。

claimantPartyName と claimantPartyID では、次の 2 つの要素のうち 1 つだけが必要です。

一致するこれらの各入力のパッケージが必要です。

新しい組み合わせの場合、レコードが挿入されます。新しいコンボではない場合、コンボの既存のレコードが使用されます。

出力はclaimantIdです(partyIdではありません)。

Vlocity 請求の入力 JSON の形式を次に示します。

{
  "input": {
    "claimJson": {
      "claimAttributes": {
        "amountDeductible": <Decimal>
      },
      "claimPropertyItems": {
        "homeUnit": [
          {
            "Id": <Id>,
            "claimantPartyRelationshipTypeName": <String>,
            "claimantPartyRelationshipTypeId": <Id>,
            "claimantPartyName": <String>,
            "claimantPartyId": <Id>,
            "insuredItemId": <Id>,
            "additionalFields": {},
            "productCode": <String>,
            "productName": <String>,
            "productId": <Id>
          }
        ],
  		"claimClaimantPerson": [
    		"additionalFields": {
      		"Name": <String>
    		},
    		"productCode": <String>,
    		"persPhone": <String>,
    		"persLastName": <String>,
    		"persName": <String>,
    		"persFirstName": <String>,
    		"persEmail": <String>,
    		"claimInjury": <String>,
    		"claimPartyRelationshipTypeName": <String>,
			"claimPartyRelationshipTypeId": <Id>,
			"partyName": <String>
    		"partyId": <Id>
  		]
      },
      "additionalFields": {},
      "policyHolderPartyRelationshipType": <String>,
      "policyHolderPartyRelationshipTypeId": <Id>,
      "policyHolderPartyName": <String>,
      "policyHolderPartyId": <Id>,
      "policyId": <Id>,
      "policyNumber": <String>,
      "lossDate": <Date>,
      "productCode": "deluxeHomeowners",
      "productName": "Deluxe Homeowners",
      "productId": <Id>
    	}
	}
}

出力 JSON

Vlocity 請求の出力 JSON の形式を次に示します。

{  
   "output": {
    "claimId": <String>,
    "policyHolderClaimantId": <Id>,
    "involvedItems": [
      {
        "insuredItemId": <Id>,
        "claimantPartyAccountName": <String>,
        "claimantPartyContactName": <String>,
        "claimantPartyId": <Id>,
        "claimantId": <Id>,
        "involvedItemId": <Id>
      },
      {
        "heldProductRelationshipId": <Id>,
        "claimantPartyAccountName": <String>,
        "claimantPartyContactName": <String>,
        "claimantPartyId": <Id>,
        "claimantId": <Id>,
        "involvedInjuryId": <Id>
      }
    ]
  }
}

サンプルインターフェース (Vlocity Claim Object Model)

{
  "input": {
    "claimJson": {
      "claimPropertyItems": {
        "claimVehicle": [
          {
            "insuredItemId": null,
            "claimantPartyId":null,
            "claimantPartyName":null,
            "claimantPartyRelationshipTypeId":null,
            "claimantPartyRelationshipTypeName":null,
            "additionalFields": {},
            "productCode": "claimVehicle",
            "productName": "Damaged Vehicle",
            "productId": "01t3i0000001cWAAAY",
            "autoBodyType": null,
            "autoColor": null,
            "autoLicNum": null,
            "autoLicState": null,
            "autoMake": null,
            "autoModel": null,
            "autoVIN": null,
            "autoYear": null,
            "claimDamage": null,
            "claimDamageLoc": null,
            "claimDrivable": false,
            "claimImage": null,
            "claimInsuredProp": false,
            "claimEstimate": null,
            "claimPropertyLoc": null,
            "claimSeverity": null
          }
        ]
      },
      "claimPartyItems": {
        "claimWitness": [
          {
            "heldProductRelationshipId": null,
            "partyId": null,
            "partyName": null,
            "claimPartyRelationshipTypeId":null,
            "claimPartyRelationshipTypeName":null,
            "additionalFields": {},
            "productCode": "claimWitness",
            "productName": "Witness",
            "productId": "01t3i0000001cWCAAY",
            "claimRel": null,
            "claimStatement": null,
            "claimTestify": false,
            "persPhone": null,
            "persSalutation": null,
            "persAddress": null,
            "persBirthdate": null,
            "persEmail": null,
            "persFirstName": null,
            "persLastName": null,
            "persMiddleName": null,
            "persName": null
          }
        ],
        "claimInjuredPerson": [
          {
            "heldProductRelationshipId": null,
            "partyId": null,
            "partyName": null,
            "claimPartyRelationshipTypeId":null,
            "claimPartyRelationshipTypeName":null,
            "additionalFields": {},
            "productCode": "claimInjuredPerson",
            "productName": "Injured Person",
            "productId": "01t3i0000001cWEAAY",
            "claimCarrier": null,
            "claimInjury": null,
            "claimPhysician": null,
            "claimPolicyNumber": null,
            "claimRel": null,
            "claimStatement": null,
            "claimTreatLoc": null,
            "claimInsuredProp": false,
            "claimEstimate": null,
            "claimSeverity": null,
            "persAddress": null,
            "persBirthdate": null,
            "persEmail": null,
            "persFirstName": null,
            "persLastName": null,
            "persMiddleName": null,
            "persName": null,
            "persPhone": null,
            "persSalutation": null,
            "claimantPartyRelationshipTypeId":null
          }
        ],
        "claimDriver": [
          {
            "heldProductRelationshipId": null,
            "partyId": null,
            "partyName": null,
            "claimPartyRelationshipTypeId":null,
            "claimPartyRelationshipTypeName":null,
            "additionalFields": {},
            "productCode": "claimDriver",
            "productName": "Driver",
            "productId": "01t3i0000001cWBAAY",
            "persAddress": null,
            "Birthdate": null,
            "persEmail": null,
            "First Name": null,
            "persIDJuris": null,
            "perIDNumber": null,
            "persIDType": null,
            "LastName": null,
            "MiddleName": null,
            "NAME": null,
            "persPhone": null,
            "persSalutation": null,
            "claimCarrier": null,
            "claimInjury": null,
            "claimInsured": false,
            "claimPhysician": null,
            "claimPolicyNumber": null,
            "claimRel": null,
            "claimStatement": null,
            "claimTestify": false,
            "claimTreatLoc": null
          }
        ]
      },
      "additionalFields": {},
      "policyHolderPartyId": null,
      "policyHolderPartyName": null,
      "policyHolderPartyRelationshipTypeId": null,
      "policyHolderPartyRelationshipType": null,
      "policyId": null,
      "policyNumber": null,
      "lossDate": null,
      "productCode": "claimPerilAutoCollision",
      "productName": "Auto Collision",
      "productId": null
    }
  }
}
 
読み込み中
Salesforce Help | Article