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

InsCensusServiceStd:updateMembersWithPlans

このサービスを使用して、プライマリメンバー、その扶養家族、および事前登録された計画でグループ国勢調査を入力します。このサービスでは、memberKeyで既存のGroupCensusMemberを更新し、既存のGroupCensusMemberレコードのGroupCensusMemberPlanレコードを作成します。入力 JSON で指定されたContractGroupPlansを使用して、各GroupCensusMemberの計画を更新します。

クラス: ​InsCensusService​​Std

方法: updateMembersWithPlans

操作手順

  1. このサービスは、censusId と census input JSON を渡して、プランでメンバーを更新します。

  2. census JSON は、headers と members の 2 つのリストで構成されます。

    1. headers は、fieldId、type、label、および name で構成される項目のメタデータのリストです。[名前] は項目の API 参照名 (管理パッケージ項目とカスタム項目の名前空間を含む) です。headersにはContactGroupPlanId.が含まれている必要があります

    2. members は、国勢調査で更新されるメンバーのリストです。membersには、複数のプランでセミコロン(;)で区切られたContactGroupPlanIdを含める必要があります。

  3. サービスは MemberKey で updateMembers をコールしてメンバーに関するデータを保存し、JSON オブジェクトのメンバーを解析します。

  4. このサービスでは、すべての新規メンバーに isNewMember が true として追加されます。また、各 GroupCensusMember の ID も入力されます。

  5. 次に、サービスはInsCensusServiceStd: addPlanSelectionsをコールして各メンバーのGroupCensusMemberPlanを作成します。また、プライマリメンバーと被扶養者が同じプランで異なる補償に加入できるように、メンバーごとの省略可能な補償も受け入れます。

updateMembers by MemberKey

  1. このサービスは、headers で指定されたフィールドを使用してメンバーのデータを解析します。headersには、メンバーリストで使用されるすべてのフィールドのメタデータが含まれている必要があります。

  2. このサービスでは、RelationshipToPrimaryMemberに基づいて主メンバーと連動メンバーが分離されます。

    1. メンバーリストに主メンバーと連動関係が含まれる場合、入力にはすべてのメンバーのSourceSystemIdentifierが必要です。すべてのメンバーに一意のSourceSystemIdentifierが必要です。さらに、すべての被扶養者にPrimaryMemberSourceまたはPrimaryGroupCensusMemberIdが必要です (プライマリメンバーが国勢調査にすでに登録されている場合)。

    2. リストが主メンバーと連動メンバーの組み合わせである場合、すべての連動メンバーと主メンバーがメンバーリストに存在することを確認します。

  3. サービスは新しいGroupClassを処理します。サービスに GroupClassId ではなく GroupClass.Name がある場合、名前を持つGroupClassを取得し、見つからない場合は同じ名前の新しいGroupClassを作成します。

    1. サービスにGroupClass.Nameがある場合は、メンバーのデータにAccountIdも含めます。
    2. GroupClass.Nameのheader: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}。

    3. 指定されたGroupClassが無効である場合、エラーが返されます。このGroupClassは、次の場合に有効とみなされます。

      • GroupClassはメンバーのグループ取引先にリンクされています。

      • 契約の有効期間は、StartDate ~ EndDate のGroupClassです。

      • 契約のStartDateとEndDateは、サービスへの入力として提供されたContractIdを使用して取得されます。

  4. サービスは、PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。

    1. サービスに PrimaryMemberSource と PrimaryGroupCensusMemberId の両方がある場合、サービスは PrimaryGroupCensusMemberId をソースとみなし、連動関係のPrimaryMemberSourceを更新してプライマリのSourceSystemIdentifierを含めます。

  5. このサービスでは、最初にすべてのプライマリメンバーが保存されます。

  6. 扶養家族を解析して、孤立した扶養家族 (PrimaryMemberSourceのない扶養家族) を特定します。

  7. すべての有効な扶養家族が保存されます。

  8. サービスによって、メンバーリストのすべてのプライマリメンバーのDependentCountが更新されます。

リモートオプション

オプション

説明

censusId 

必須

更新するメンバーが含まれる国勢調査の ID。

contractIdがアカウント/国勢調査に属していることを確認します。

census

必須。

更新するメンバーの詳細を含む入力 JSON。

contractId 

必須

取引先の現在の契約の ID。

各メンバーの計画が契約に含まれていることを確認します。

onlySaveMembersWithValidProducts

Boolean

true の場合、エントリがGroupCensusMemberPlanされていない新規メンバーは削除されます。

duplicateKeys

省略可能

既存のメンバーを識別するためのMemberKey生成用のフィールドのリスト。

リストのデフォルト項目: FirstName、Lastname、Email、GroupCensusId。

入力 サービス出力
censusIdなし サービスがエラーを返します: Specify a censusId.

国勢調査入力 JSON がありません

サービスがエラーを返します: The census input is missing.

プライマリメンバーに提供されるPrimaryMemberSource値 サービスがエラーを返します: The PrimaryMemberSource must be null for primary members.
入力センサスでheadersが欠落している サービスがエラーを返します: The header node is missing in the census input.
入力センサスでmembersが欠落している サービスがエラーを返します: The members node is missing in the census input.
孤児扶養家族の場合 (PrimaryMemberSourceまたはPrimaryGroupCensusMemberIdのない扶養家族) サービスがエラーを返します: Dependent has no primary member.

contractId がないか、無効な contractId です。

このサービスではメンバープランは更新されません。

指定された契約の無効なContractGroupPlanId

サービスによってメンバープランは作成されません。

onlySaveMembersWithValidProducts が true で、メンバーが新規の場合、サービスは次の処理を実行します。

  • 有効なプランがないメンバーを削除します。
  • 少なくとも 1 つの有効なプランがあるメンバーを作成します。
メンバーのContractGroupPlanIdが無効です (オプトアウトのため)

メンバープランが作成されない

onlySaveMembersWithValidProducts が true で、メンバーが新規の場合、サービスは次の処理を実行します。

  • 有効なプランがないメンバーを削除します。
  • 少なくとも 1 つの有効なプランがあるメンバーを作成します。
プライマリメンバーが商品種別をオプトアウトする

IsOptOutAllPlans が優先され、その後に OptOutPlanTypes が続きます。

  • IsOptOutAllPlans = true の場合、登録する商品を指定しても、サービスはメンバープランを作成しません。
  • IsOptOutAllPlans = false で、メンバー登録に商品が指定されているが、その商品種別がオプトアウト エントリと同じ場合、サービスはメンバー プランを作成しません。

プライマリメンバーが商品種別からオプトアウトした場合、扶養家族はその商品種別からもオプトアウトします。

連動メンバーが商品種別からオプトアウトする

IsOptOutAllPlans が優先され、その後に OptOutPlanTypes が続きます。

  • IsOptOutAllPlans = true の場合、登録する商品を指定しても、サービスはメンバープランを作成しません。
  • IsOptOutAllPlans = false で、メンバー登録に商品が指定されているが、その商品種別がオプトアウト エントリと同じ場合、サービスはメンバー プランを作成しません。

プライマリメンバーが商品種別からオプトアウトした場合、扶養家族はその商品種別からもオプトアウトします。

プライマリ メンバーの IsOptOutAllPlans = true の場合、関連付けられた連動関係にも同じ出力が適用されます。

Input JSON

入力 JSON の形式は次のようになります。

{
  "census": {
    "headers": [
      {
        "type": "STRING",
        "label": "Last Name",
        "fieldId": "",
        "name": "Lastname"
      },
      {
        "type": "STRING",
        "label": "First Name",
        "fieldId": "",
        "name": "FirstName"
      },
      {
        "type": "DOUBLE",
        "label": "FTE",
        "fieldId": "",
        "name": "FullTimeEquivalent"
      },
      {
        "type": "PICKLIST",
        "label": "Gender",
        "fieldId": "",
        "name": "Gender"
      },
      {
        "type": "DATE",
        "label": "Birthday",
        "fieldId": "",
        "name": "Birthdate"
      },
      {
        "type": "PICKLIST",
        "label": "Relationship To Primary",
        "fieldId": "",
        "name": "RelationshipToPrimaryMember"
      },
      {
        "type": "BOOLEAN",
        "label": "Is Opt-out All Plans",
        "fieldId": "",
        "name": "IsOptOutAllPlans"
      },
      {
        "type": "MULTIPICKLIST",
        "label": "Opt-Out Plan Types",
        "fieldId": "",
        "name": "OptOutPlanTypes"
      },
      {
        "type": "ENTITYID",
        "label": "Account",
        "fieldId": "",
        "name": "AccountId"
      },
      {
        "type": "EMAIL",
        "label": "Email",
        "fieldId": "",
        "name": "Email"
      },
      {
        "type": "STRING",
        "label": "Primary Member Identifier",
        "fieldId": "",
        "name": "PrimaryMemberSource"
      },
      {
        "type": "STRING",
        "label": "Member Identifier",
        "fieldId": "",
        "name": "SourceSystemIdentifier"
      },
      {
        "type": "ENTITYID",
        "label": "Contract Group Plan",
        "fieldId": "",
        "name": "ContractGroupPlanId"
      }    
    ],
    "members": [
      {
        "MemberKey": "cd64a62573825ee11b87ce91110aa576",
        "Lastname": "KoffinsUpdated",
        "FirstName": "RajUpdated",
        "FullTimeEquivalent": 1,
        "Gender": "Male",
        "Birthdate": "1965-10-13",
        "SourceSystemIdentifier": "1.primary",
        "PrimaryMemberSource": null,
        "Email": "testrajUpdated@mail.com",
        "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"      
      },
      {
        "MemberKey": "f2f8735bbb66b3f7d7b2bae794c00650",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdated",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "SourceSystemIdentifier": "1.child",
        "PrimaryMemberSource": "1.primary",
        "Email": "testkrisUpdated@mail.com",
        "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"      
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "5a5bc4e3c05cf461a65a2d7fdc0ab8e0",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "SourceSystemIdentifier": "2.primary",
        "PrimaryMemberSource": null,
        "Email": "testchristopherUpdated@mail.com",
        "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "157b2052fc732d8261984c2922a3261b",
        "FirstName": "Steph",
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "RelationshipToPrimaryMember": "Spouse",
        "SourceSystemIdentifier": "2.spouse",
        "PrimaryMemberSource": "2.primary",
        "Email": "teststephUpdated.com",
        "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
      }
    ]
  }
}

出力 JSON

フローが完了している場合は成功メッセージ、例外がある場合はエラーが返されます。

  • censusMemberIds: 保存されたメンバーのGroupCensusMemberIdsのリスト。

  • errors: エラーが発生したメンバーのリスト。各リスト項目は、入力メンバーデータとエラーで構成されます。

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: サービス別にDependentCountが更新されるプライマリメンバーの数。

  • ​ ​ ​ relatedFieldsUpdateErrorCount: DependentCount更新でエラーが返されるプライマリメンバーの数。

  • relatedFieldsUpdateErrors: プライマリメンバーのDependentCountを更新中に返されたエラーのリスト。

  • memberPlanIds: 正常に挿入されたGroupCensusMemberPlanIdsのリスト。

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "[Email]: INVALID_EMAIL_ADDRESS - Email: invalid email address: teststephUpdated.com",
      "Birthdate": "1985-10-13",
      "Gender": "Male",
      "Lastname": "WarnerUpdated",
      "RelationshipToPrimaryMember": "Spouse",
      "MemberKey": "157b2052fc732d8261984c2922a3261b",
      "SourceSystemIdentifier": "2.spouse",
      "FirstName": "Steph",
      "Email": "teststephUpdated.com",
      "PrimaryMemberSource": "2.primary",
      "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005paYAA",
    "0r6RO00000005pbYAA"
  ],
  "memberPlanIds":[
    "a4B4P000006jKsMUAU",
    "a4B4P000006jKsNUAU",
    "a4B4P000006jKsOUAU",
    "a4B4P000006jKsPUAU",
    "a4B4P000006jKsQUAU",
    "a4B4P000006jKsRUAU"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
読み込み中
Salesforce Help | Article