위치:
InsCensusServiceStd:updateMembers
이 서비스를 사용하여 인구 조사에서 기존 구성원의 값을 업데이트합니다.
클래스: InsCensusServiceStd
방법: updateMembers
작동 방법
-
이 서비스는 입력 JSON에서 구성원을 가져와 주어진
censusId에 따라 새로운 데이터로 인구 조사를 업데이트합니다. -
인구 조사 JSON은 두 개의 목록으로 구성됩니다 -
headers및members.-
headers은fieldId,type,label및name로 구성된 필드의 메타데이터 목록입니다. 여기에서 이름은 관리 패키지 및 사용자 정의 필드의 네임스페이스와 함께 필드의 API 이름입니다. -
members는 인구 조사에서 업데이트할 회원 목록입니다.
-
-
서비스에서
updateById필드를 찾습니다. 이는 서비스에 대한 작업 경로를 결정하는 부울 필드입니다. 다음 두 가지 방법으로 구성원을 업데이트할 수 있습니다.-
updateMembersbyMemberKey이 옵션은
updateById가 false인 경우에 적용됩니다. 구성원 데이터에 구성원 키가 있어야 합니다. -
updateMembersGroupCensusMemberID별이 옵션은
updateById가 true인 경우에 적용됩니다. 구성원 데이터에 그룹 인구 조사 구성원 ID가 있어야 합니다.
-
MemberKey별 updateMembers
-
서비스에서 구성원의 데이터를
headers에 제공된 필드로 구문 분석합니다.headers에는 구성원 목록에 사용된 모든 필드의 메타데이터가 포함되어야 합니다. -
서비스는
RelationshipToPrimaryMember에 따라 기본 구성원과 종속 구성원을 구분합니다.-
구성원 목록에 기본 구성원 및 자녀가 포함된 경우 입력에 모든 구성원에 대한
SourceSystemIdentifier가 있어야 합니다. 모든 구성원에게 고유한SourceSystemIdentifier가 있어야 합니다. 또한 모든 가구는PrimaryMemberSource또는PrimaryGroupCensusMemberId가 있어야 합니다(기본 구성원이 이미 인구 조사에 있는 경우). -
목록이 기본 구성원과 종속 구성원의 조합인 경우 구성원 목록에 모든 종속 구성원과 기본 구성원이 있는지 확인합니다.
-
-
서비스에서 새
GroupClass를 처리합니다. 서비스에GroupClassId대신GroupClass.Name가 있는 경우 이름이 있는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별 updateMembers
-
서비스에서 구성원 데이터를
headers에 제공된 필드로 구문 분석합니다.headers에는 구성원 목록에 사용된 모든 필드의 메타데이터가 포함되어야 합니다. -
members데이터에 Id가 있어야 합니다. 구성원 데이터에서 ID를 찾을 수 없는 경우 서비스에서 오류가 발생합니다. -
서비스에서 새
GroupClass를 처리합니다. 서비스에GroupClassId대신GroupClass.Name가 있는 경우 이름이 있는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
|
선택 사항 true로 설정하면 서비스가 Id 플로를 기준으로 기본값은 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. |
| 구성원의 데이터에 ID 누락 | true | 서비스에서 오류를 반환합니다. Specify Id of the census member. |
입력 JSON
입력 JSON에는 업데이트할 필드를 나열하는 headers 및 해당하는 필드-값 쌍(fieldId 포함)을 포함하는 구성원을 나열하는 members이 포함됩니다.
샘플 입력 JSON(MemberKey별 업데이트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": [
{
"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(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(MemberKey별 업데이트Members)
{
"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"
}