您在此处:
InsCensusServiceStd:updateMembers
使用此服务更新人口普查中现有成员的值。
类:InsCensusServiceStd
方法:updateMembers
工作原理
-
此服务从输入 JSON 中提取成员,并使用新数据更新人口普查(根据给定的
censusId)。 -
census JSON 包含两个列表 -
headers和members。-
headers是字段的元数据列表,包括fieldId、type、label和name。此处名称是字段的 API 名称(带有受管软件包和自定义字段的命名空间)。 -
members是要在人口普查中更新的成员列表。
-
-
服务查找
updateById字段。它是决定服务操作过程的布尔字段。成员可以通过以下两种方式更新:-
updateMembers由MemberKey此选项适用于
updateById为假的情况。成员数据必须具有成员密钥。 -
按
GroupCensusMemberIDupdateMembers此选项在
updateById为真时适用。成员数据必须具有组普查成员 ID。
-
updateMembers by MemberKey
-
该服务使用
headers中提供的字段解析成员数据。headers必须包含成员列表中使用的所有字段的元数据。 -
该服务根据
RelationshipToPrimaryMember区分主要成员和依赖成员。-
如果成员列表包含主要成员和受抚养人,输入必须包含所有成员的
SourceSystemIdentifier。所有成员必须具有唯一SourceSystemIdentifier。此外,所有受抚养人必须有PrimaryMemberSource或PrimaryGroupCensusMemberId(如果主要成员已在人口普查中 ) 。 -
如果列表是主要成员和依赖成员的组合,请确保成员列表中存在每个依赖成员和主要成员。
-
-
该服务处理新
GroupClass。如果服务包含GroupClass.Name而不是GroupClassId,则获取带有该名称的GroupClass,并创建带有相同名称的新GroupClass(如果未找到)。- 如果服务有
GroupClass.Name,还要在成员数据中包含AccountId。 -
GroupClass.Name的header:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. -
如果给定的
GroupClass.Name无效,则返回错误。该服务使用新的参数quoteEffectiveDate来验证GroupClass。在以下情况下,GroupClass视为有效:-
GroupClass已链接到成员的小组客户。 -
quoteEffectiveDate存在于GroupClassStartDate和EndDate之间。如果未将quoteEffectiveDate作为服务的参数提供,则跳过此验证。
-
- 如果服务有
-
该服务处理有
PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。-
如果服务包含
PrimaryMemberSource和PrimaryGroupCensusMemberId,则服务会将PrimaryGroupCensusMemberId视为源,并更新依赖PrimaryMemberSource以包含主要SourceSystemIdentifier。
-
-
该服务首先保存所有主要成员。
-
它解析依赖项以识别孤儿依赖项(没有
PrimaryMemberSource的依赖项)。 -
它保存所有有效的依赖项。
-
该服务会更新成员列表中所有主要成员的
DependentCount。
按 ID 更新成员
-
该服务使用
headers中提供的字段解析成员数据。headers必须包含成员列表中使用的所有字段的元数据。 -
members数据必须有 ID。如果在成员数据中未找到 ID,服务将抛出错误。 -
该服务处理新
GroupClass。如果服务包含GroupClass.Name而不是GroupClassId,则获取带有该名称的GroupClass,并创建带有相同名称的新GroupClass(如果未找到)。- 如果服务有
GroupClass.Name,还要在成员数据中包含AccountId。 -
GroupClass.Name的header:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.
- 如果服务有
-
该服务处理有
PrimaryMemberSource的受抚养人的PrimaryGroupCensusMemberId。- 如果您提供
PrimaryMemberSource,服务也会更新PrimaryGroupCensusMemberId。
- 如果您提供
-
该服务处理有
PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。-
如果服务包含
PrimaryMemberSource和PrimaryGroupCensusMemberId,则服务会将PrimaryGroupCensusMemberId视为源,并更新依赖PrimaryMemberSource以包含主要SourceSystemIdentifier。
-
-
该服务保存所有成员,包括受抚养人。
-
服务不会识别孤儿依赖项。
-
该服务会更新成员列表中所有主要成员的
DependentCount。
远程选项
选项 |
说明 |
|---|---|
|
必需。 要更新成员的普查 ID。 |
|
必需。 输入 JSON,其中包含要更新的成员的详细信息。 |
updateById
|
可选 如果设置为真,服务将遵循按 ID 流划分的 默认值是 false。 |
服务行为
了解不同的输入如何影响服务输出。
| 输入 | updateById | 服务输出 |
|---|---|---|
不 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"
}