您在此处:
InsCensusServiceStd:addMembers
使用此服务,以使用输入 JSON 将小组普查成员添加到小组普查。
类:InsCensusServiceStd
方法:addMembers
工作原理
该服务在人口普查输入 JSON 中获取成员,并将其添加到给定的 censusId。它返回已添加成员的 ID 列表 (censusMemberIds)。
服务解析成员数据。
使用标题中提供的字段解析成员的数据。标题必须包含成员列表中使用的所有字段的元数据。
根据
RelationshipToPrimaryMember,区分主要成员和依赖成员。如果成员列表包含主要成员和受抚养人,输入必须包含所有成员的SourceSystemIdentifier。所有成员必须具有唯一SourceSystemIdentifier。此外,所有受抚养人必须有PrimaryMemberSource或PrimaryGroupCensusMemberId(如果主要成员已经在人口普查中 ) 。生成
MemberKey。处理新
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作为服务的参数,则跳过此验证。
处理具有
PrimaryGroupCensusMemberId的受抚养人的PrimaryMemberSource。如果成员数据中同时提供PrimaryMemberSource和PrimaryGroupCensusMemberId,则服务会将PrimaryGroupCensusMemberId用作源,并更新依赖项的PrimaryMemberSource以包含主要项的SourceSystemIdentifier。
保存所有主要成员。该服务使用
MemberKey来识别重复项。如果有重复成员,服务会更新该预先存在成员的字段。MemberKey必须是字符串的唯一组合。解析依赖项来识别孤立依赖项(没有
PrimaryMemberSource的依赖项)。保存所有有效的依赖项。该服务使用
MemberKey来识别重复项。如果有重复的成员记录,服务会更新该预先存在成员的字段,而不是创建新记录。更新成员列表中所有主要成员的
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. |
远程选项
选项 |
说明 |
|---|---|
|
必需。 要添加成员的小组普查的 ID。 |
|
必需。 输入要添加的成员的 JSON。 census JSON 由两个列表组成 - 标题和成员。标题是字段元数据的列表,由 fieldId、类型、标签和名称组成。此处名称是字段的 API 名称(带有受管软件包和自定义字段的命名空间)。成员是要添加到普查的成员列表。 |
duplicateKey
|
可选。 用于生成 |
输入 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"
}