您位於此處:
InsCensusServiceStd:addMembers
使用此服務可使用輸入 JSON 將群組普查成員新增至群組普查。
類別:InsCensusServiceStd
方法:addMembers
運作方式
服務會在普查輸入 JSON 中取得成員,並將其新增至指定的 censusId。它會傳回新增成員 ( censusMemberIds ) 的識別碼清單。
服務會剖析成員資料。
使用標題中提供的欄位剖析成員的資料。標題必須包含在成員清單中使用的所有欄位中繼資料。
根據
RelationshipToPrimaryMember分隔主要成員與相依成員。如果成員清單包含主要成員和下屬,則輸入必須有所有成員的SourceSystemIdentifier。所有成員都必須有唯一的SourceSystemIdentifier。此外,所有相依人員都必須有PrimaryMemberSource或PrimaryGroupCensusMemberId(如果主要成員已存在於普查中)。產生
MemberKey。處理新
GroupClass。如果將GroupClass.Name提供給服務而非GroupClassId,則服務會提取名稱的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. |
遠端選項
選項 |
描述 |
|---|---|
|
必要。 要新增成員的群組普查識別碼。 |
|
必要。 要新增成員的輸入 JSON。 census JSON 包含兩個清單 - 標題與成員。headers 是欄位中繼資料的清單,包含 fieldId、類型、標籤和名稱。此處的名稱為欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。members 是要新增至普查的成員清單。 |
duplicateKey
|
選擇性。 用來產生 |
輸入 JSON
輸入 JSON 包含兩個清單 - 標題與成員。headers 是欄位中繼資料的清單,包含 fieldId、類型、標籤和名稱。此處的名稱為欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。members 是要新增至普查的成員清單。
{
"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"
}