Loading
保险
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

使用此服务更新人口普查中现有成员的值。

类:InsCensusServiceStd​​

方法:updateMembers

工作原理

  1. 此服务从输入 JSON 中提取成员,并使用新数据更新人口普查(根据给定的censusId)。

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

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

    2. members 是要在人口普查中更新的成员列表。

  3. 服务查找updateById字段。它是决定服务操作过程的布尔字段。成员可以通过以下两种方式更新:

    1. updateMembers 由 MemberKey

      此选项适用于 updateById 为假的情况。成员数据必须具有成员密钥。

    2. 按GroupCensusMember ID updateMembers

      此选项在 updateById 为真时适用。成员数据必须具有组普查成员 ID。

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.Name无效,则返回错误。该服务使用新的参数quoteEffectiveDate来验证GroupClass。在以下情况下,GroupClass视为有效:

      • GroupClass已链接到成员的小组客户。

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

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

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

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

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

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

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

按 ID 更新成员

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

  2. members数据必须有 ID。如果在成员数据中未找到 ID,服务将抛出错误。

  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"}.

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

    1. 如果您提供PrimaryMemberSource,服务也会更新PrimaryGroupCensusMemberId。
  5. 该服务处理有PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。

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

  6. 该服务保存所有成员,包括受抚养人。

  7. 服务不会识别孤儿依赖项。

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

远程选项

选项

说明

censusId

必需。

要更新成员的普查 ID。

census

必需。

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

updateById

可选

如果设置为真,服务将遵循按 ID 流划分的updateMembers。

默认值是 false。

服务行为

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

输入 updateById 服务输出
不 censusId 真或假

服务返回错误:Specify a censusId.

无人口普查输入 JSON 真或假 服务返回错误:The census input is missing.
提供给主要成员的PrimaryMemberSource值 false 服务返回错误: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 的依赖项) false 服务返回错误:Dependent has no primary member.
成员数据中缺少 ID true 服务返回错误:Specify Id of the census member.

输入 JSON

输入 JSON 包括 headers,它列出了要更新的字段;和 members,它列出了成员及其相应的字段-值对,包括 fieldId。

输入 JSON 示例 (updateMembers By MemberKey)

{
  "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": [
      {
        "MemberKey": "cd64a62573825ee11b87ce91110aa576",
        "Lastname": "KoffinsUpdated",
        "FirstName": "RajUpdated",
        "FullTimeEquivalent": 1,
        "Gender": "Male",
        "Birthdate": "1965-10-13",
        "SourceSystemIdentifier": "1.primary",
        "PrimaryMemberSource": null,
        "Email": "testrajUpdated@mail.com"
      },
      {
        "MemberKey": "f2f8735bbb66b3f7d7b2bae794c00650",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdated",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "SourceSystemIdentifier": "1.child",
        "PrimaryMemberSource": "1.primary",
        "Email": "testkrisUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "5a5bc4e3c05cf461a65a2d7fdc0ab8e0",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "SourceSystemIdentifier": "2.primary",
        "PrimaryMemberSource": null,
        "Email": "testchristopherUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "157b2052fc732d8261984c2922a3261b",
        "FirstName": "Steph",
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "RelationshipToPrimaryMember": "Spouse",
        "SourceSystemIdentifier": "2.spouse",
        "PrimaryMemberSource": "2.primary",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

输入 JSON 示例 (updateMembers By ID)

{
  "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": [
      {
        "Id":"0r6RO00000005pZYAQ",
        "Lastname": "KoffinsUpdatedById",
        "FirstName": "RajUpdatedById",
        "Birthdate": "1965-10-13",
        "Email": "testrajUpdated@mail.com"
      },
      {
        "Id":"0r6RO00000005pbYAA",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdatedById",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "Email": "testkrisUpdatedById@mail.com"
      },
      {
        "Id":"0r6RO00000005paYAA",
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "Email": "testchristopherUpdatedById@mail.com"
      },
      {
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Steph",
        "Birthdate": "1985-10-13",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

输出 JSON

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

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

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

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

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

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

输出 JSON 示例 (updateMembers By MemberKey)

{
  "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"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005paYAA",
    "0r6RO00000005pbYAA"
  ],
  "deletedCensusMemberIds": [],
  "errorCode": "INVOKE-200",
  "error": "OK"
}

示例输出 JSON - (updateMembers By ID)

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "Specify Id of the census member.",
      "Birthdate": "1985-10-13",
      "Lastname": "WarnerUpdatedById",
      "FirstName": "Steph",
      "Email": "teststephUpdated.com"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005pbYAA",
    "0r6RO00000005paYAA"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
正在加载
Salesforce Help | Article