Loading
保险
InsCensusServiceStd:addMembers

InsCensusServiceStd:addMembers

使用此服务,以使用输入 JSON 将小组普查成员添加到小组普查。

类:InsCensusServiceStd​​

方法:addMembers

工作原理

该服务在人口普查输入 JSON 中获取成员,并将其添加到给定的 censusId​​。它返回已添加成员的 ID 列表 (​censusMemberIds​)。

  1. 服务解析成员数据。

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

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

    3. 生成MemberKey。

    4. 处理新GroupClass。如果为服务而不是GroupClassId提供GroupClass.Name,则服务会获取带有该名称的GroupClass,如果未找到,则会创建一个具有相同名称的新GroupClass。GroupClass.Name 的标题是 {"type":"STRING","label":"Group Class Name","fieldId": ⁇ "name":"GroupClass.Name"}。如果给定的GroupClass.Name无效,则返回错误。该服务使用新的参数quoteEffectiveDate来验证GroupClass。在以下情况下,GroupClass视为有效:

      备注
      备注 如果提供GroupClass.Name,还要在成员数据中包含AccountId。
      • GroupClass已链接到成员的小组客户。

      • quoteEffectiveDate存在于GroupClassStartDate和EndDate之间。如果未将 quoteEffectiveDate 作为服务的参数,则跳过此验证。

    5. 处理具有PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。如果成员数据中同时提供PrimaryMemberSource和PrimaryGroupCensusMemberId,则服务会将 PrimaryGroupCensusMemberId 用作源,并更新依赖项的PrimaryMemberSource以包含主要项的SourceSystemIdentifier。

  2. 保存所有主要成员。该服务使用MemberKey来识别重复项。如果有重复成员,服务会更新该预先存在成员的字段。MemberKey必须是字符串的唯一组合。

  3. 解析依赖项来识别孤立依赖项(没有PrimaryMemberSource的依赖项)。

  4. 保存所有有效的依赖项。该服务使用MemberKey来识别重复项。如果有重复的成员记录,服务会更新该预先存在成员的字段,而不是创建新记录。

  5. 更新成员列表中所有主要成员的DependentCount。

服务行为

了解不同的输入如何影响服务输出。

输入 服务输出
不 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.

远程选项

选项

说明

censusId

必需。

要添加成员的小组普查的 ID。

census

必需。

输入要添加的成员的 JSON。

census JSON 由两个列表组成 - 标题和成员。标题是字段元数据的列表,由 fieldId、类型、标签和名称组成。此处名称是字段的 API 名称(带有受管软件包和自定义字段的命名空间)。成员是要添加到普查的成员列表。

duplicateKey

可选。

用于生成MemberKey和识别重复项的字段列表。如果未提供值,列表包含的默认字段是:FirstName、Lastname、Email、GroupCensusId。

输入 JSON

输入 JSON 由两个列表组成 - 标题和成员。标题是字段元数据的列表,由 fieldId、类型、标签和名称组成。此处名称是字段的 API 名称(带有受管软件包和自定义字段的命名空间)。成员是要添加到普查的成员列表。

{
    "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"
            }
        ],
        "members": [
            {
                "Lastname": "Koffins",
                "FirstName": "Raj",
                "FullTimeEquivalent": 1,
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "SourceSystemIdentifier": "1.primary",
                "PrimaryMemberSource": null,
                "Email": "testraj@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Koffins",
                "FirstName": "Rita",
                "Gender": "Female",
                "Birthdate": "1987-07-13",               
                "RelationshipToPrimaryMember": "Spouse",
                "SourceSystemIdentifier": "1.spouse",
                "PrimaryMemberSource": null,
                "Email": "testrita@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Koffins",
                "FirstName": "Kris",
                "Gender": "Male",
                "Birthdate": "2016-05-13",
                "RelationshipToPrimaryMember": "Child",
                "SourceSystemIdentifier": "1.child",
                "PrimaryMemberSource": "1.primary",
                "Email": "testkris@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Warner",
                "FirstName": "Christopher",
                "FullTimeEquivalent": 0.5,
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "SourceSystemIdentifier": "2.primary",
                "PrimaryMemberSource": null,
                "Email": "testchristopher@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            },
            {
                "Lastname": "Warner",
                "FirstName": "Steph",
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "RelationshipToPrimaryMember": "Spouse",
                "SourceSystemIdentifier": "2.spouse",
                "PrimaryMemberSource": "2.primary",
                "Email": "teststeph@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            },
            {
                "Lastname": "Jose",
                "FirstName": "Steve",
                "Gender": "Male",
                "Birthdate": "1989-10-13",
                "FullTimeEquivalent":10,
                "SourceSystemIdentifier": "3.primary",
                "Email": "teststeve@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            }
        ]
    }
}
  

输出 JSON

如果流完成,服务将返回成功消息,否则,如果出现异常,服务将返回错误。

  • censusMemberIds:已保存成员的GroupCensusMemberIds列表。

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

  • ​ ​ ​ relatedFieldsUpdateSuccessCount:按服务更新DependentCount的主要成员数量。

  • ​ ​ ​ relatedFieldsUpdateErrorCount:DependentCount更新返回错误的主要成员数量。

  • relatedFieldsUpdateErrors:更新主要成员的DependentCount时返回的错误列表。

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "[FullTimeEquivalent]: NUMBER_OUTSIDE_VALID_RANGE - Full Time Equivalent: value outside of valid range on numeric field: 10",
      "Birthdate": "1989-10-13",
      "Gender": "Male",
      "IsOptOutAllPlans": false,
      "Lastname": "Jose",
      "SourceSystemIdentifier": "3.primary",
      "FullTimeEquivalent": 10,
      "FirstName": "Steve",
      "AccountId": "001B000001QOqJHIA1",
      "Email": "teststeve@mail.com",
      "OptOutPlanTypes": "Medical"
    },
    {
      "RelationshipToPrimaryMember": "Spouse",
      "SourceSystemIdentifier": "1.spouse",
      "OptOutPlanTypes": "Medical;Dental",
      "PrimaryMemberSource": null,
      "error": "Dependent has no primary member.",
      "Birthdate": "1987-07-13",
      "Gender": "Female",
      "IsOptOutAllPlans": true,
      "Lastname": "Koffins",
      "FirstName": "Rita",
      "AccountId": "001B000001QOqJHIA1",
      "Email": "testrita@mail.com"
    }
  ],
  "censusMemberIds": [
    "0r6B00000000ANcIAM",
    "0r6B00000000ANdIAM",
    "0r6B00000000ANeIAM",
    "0r6B00000000ANfIAM"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
正在加载
Salesforce Help | Article