Loading
保险
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

使用此服务,以使用主要成员、他们的受抚养人和他们预先登记的计划填充小组普查。此服务按memberKey更新现有GroupCensusMember,并为现有GroupCensusMember记录创建GroupCensusMemberPlan记录。它使用输入 JSON 中指定的ContractGroupPlans来更新每个GroupCensusMember的计划。

类:InsCensusService​​Std

方法:updateMembersWithPlans

工作原理

  1. 该服务传递 censusId 和人口普查输入 JSON,以通过计划更新成员。

  2. census JSON 包含两个列表 - headers 和 members。

    1. headers 是字段的元数据列表,包括fieldId、type、label和name。此处名称是字段的 API 名称(带有受管软件包和自定义字段的命名空间)。headers必须包含ContactGroupPlanId.

    2. members 是要在人口普查中更新的成员列表。对于多个计划,members必须包含用分号 (;) 分隔的ContactGroupPlanId。

  3. 该服务通过 MemberKey 调用updateMembers来保存有关成员的数据,解析 JSON 对象中的成员。

  4. 该服务为所有新成员添加为真的isNewMember。它还会为每个 GroupCensusMember 填充 ID。

  5. 然后,服务调用InsCensusServiceStd: addPlanSelections为每个成员创建GroupCensusMemberPlan。它还接受每个成员的可选承保范围,以便主要成员和受抚养人加入同一计划下的不同承保范围。

updateMembers by MemberKey

  1. 该服务使用 headers 中提供的字段解析成员数据。headers 必须包含成员列表中使用的所有字段的元数据。

  2. 该服务根据RelationshipToPrimaryMember区分主要成员和依赖成员。

    1. 如果成员列表包含主要成员和受抚养人,输入必须包含所有成员的SourceSystemIdentifier。所有成员必须具有唯一SourceSystemIdentifier。此外,所有受抚养人必须有PrimaryMemberSource或PrimaryGroupCensusMemberId(如果主要成员已在人口普查中 ) 。

    2. 如果列表是主要成员和依赖成员的组合,请确保成员列表中存在每个依赖成员和主要成员。

  3. 该服务处理新GroupClass。如果服务包含 GroupClass.Name 而不是 GroupClassId,则获取带有该名称的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和EndDateGroupClass之间。

      • 使用作为服务输入提供的ContractId获取合同的StartDate和EndDate

  4. 该服务处理有PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。

    1. 如果服务包含 PrimaryMemberSource 和 PrimaryGroupCensusMemberId,则服务会将 PrimaryGroupCensusMemberId 视为源,并更新依赖PrimaryMemberSource以包含主要SourceSystemIdentifier。

  5. 该服务首先保存所有主要成员。

  6. 它解析依赖项以识别孤儿依赖项(没有PrimaryMemberSource的依赖项)。

  7. 它保存所有有效的依赖项。

  8. 该服务会更新成员列表中所有主要成员的DependentCount。

远程选项

选项

说明

censusId 

必填

要更新成员的普查 ID。

验证contractId是否属于客户/人口普查。

census

必需。

输入 JSON,其中包含要更新的成员的详细信息。

contractId 

必填

客户当前合同的 ID。

验证每个成员的计划是合同的一部分。

onlySaveMembersWithValidProducts

布尔值

如果为真,则删除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为真且成员是新成员,服务将执行以下操作:

  • 删除没有有效计划的成员。
  • 如果成员至少有一个有效计划,则创建成员。
成员的无效ContractGroupPlanId(由于选择退出)

未创建成员计划

如果onlySaveMembersWithValidProducts为真且成员是新成员,服务将执行以下操作:

  • 删除没有有效计划的成员。
  • 如果成员至少有一个有效计划,则创建成员。
主要成员选择退出产品类型

IsOptOutAllPlans优先,然后是OptOutPlanTypes

  • 如果 IsOptOutAllPlans = true,服务不会创建成员计划,即使您为注册指定了产品。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了产品,但其产品类型与选择退出条目相同,则服务不会创建成员计划。

如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。

依赖成员选择退出产品类型

IsOptOutAllPlans优先,然后是OptOutPlanTypes

  • 如果 IsOptOutAllPlans = true,服务不会创建成员计划,即使您为注册指定了产品。
  • 如果 IsOptOutAllPlans = false,并且为成员注册指定了产品,但如果其产品类型与选择退出条目相同,服务不会创建成员计划。

如果主要成员选择退出产品类型,依赖项也会选择退出该产品类型。

如果主要成员的 IsOptOutAllPlans = true,则相同输出适用于关联依赖项。

输入 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列表。

  • 错误:出现错误的成员列表。每个列表项目由输入成员数据和错误组成。

  • ​ ​ ​ 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