您位於此處:
InsCensusServiceStd:updateMembers
使用此服務更新普查中現有成員的值。
類別:InsCensusServiceStd
方法:updateMembers
運作方式
-
此服務會從輸入 JSON 取用成員,並使用新資料更新普查 (根據指定的
censusId)。 -
census JSON 包含兩個清單 -
headers與members。-
headers是包含fieldId、type、label和name的欄位中繼資料清單。此處的名稱是欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。 -
members是要在普查中更新的成員清單。
-
-
服務會尋找
updateById欄位。這是決定服務動作過程的布林值欄位。您可以透過下列兩種方式更新成員:-
updateMembers依據MemberKey此選項在
updateById為 false 時適用。成員資料必須有成員金鑰。 -
依
GroupCensusMember識別碼的updateMembers此選項在
updateById為 true 時適用。成員資料必須有群組普查成員識別碼。
-
依 MemberKey 的 updateMembers
-
服務會使用在
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。
依識別碼的 updateMembers
-
服務會使用在
headers中提供的欄位剖析成員的資料。headers必須包含成員清單中使用的所有欄位中繼資料。 -
members資料必須有識別碼。如果在成員資料中找不到識別碼,則服務會引發錯誤。 -
服務會處理新
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。
遠端選項
選項 |
描述 |
|---|---|
|
必要。 要更新成員的普查識別碼。 |
|
必要。 輸入 JSON,其中包含要更新的成員詳細資料。 |
updateById
|
選擇性 如果設定為 true,則服務會依識別碼流程跟隨 預設值為 False。 |
服務行為
瞭解不同的輸入如何影響服務輸出。
| 輸入 | updateById | 服務輸出 |
|---|---|---|
否 censusId |
true 或 false | 服務傳回錯誤: |
| 無普查輸入 JSON | true 或 false | 服務傳回錯誤: The census input is missing. |
提供給主要成員的 PrimaryMemberSource 值 |
false | 服務傳回錯誤: The PrimaryMemberSource must be null for primary members. |
輸入普查中缺少 headers |
true 或 false | 服務傳回錯誤: The header node is missing in the census input. |
輸入普查中缺少 members |
true 或 false | 服務傳回錯誤: The members node is missing in the census input. |
| 適用於孤立的相依性 (沒有 PrimaryMemberSource 或 PrimaryGroupCensusMemberId 的相依性) | false | 服務傳回錯誤: Dependent has no primary member. |
| 成員資料中缺少識別碼 | 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 依識別碼)
{
"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"
}