위치:
InsCensusServiceStd:updateMembersWithPlans
이 서비스를 사용하여 기본 구성원, 종속인, 사전 등록된 계획으로 그룹 인구 조사에 채울 수 있습니다. 이 서비스는 memberKey별로 기존 GroupCensusMember을 업데이트하고 기존 GroupCensusMember 레코드에 대한 GroupCensusMemberPlan 레코드를 만듭니다. 입력 JSON에 지정된 ContractGroupPlans을 사용하여 각 GroupCensusMember에 대한 계획을 업데이트합니다.
클래스: InsCensusServiceStd
방법: updateMembersWithPlans
작동 방법
-
서비스는 censusId 및 인구 조사 입력 JSON을 전달하여 계획이 있는 구성원을 업데이트합니다.
-
인구 조사 JSON은 두 개의 목록으로 구성됩니다 -
headers및members.-
headers은fieldId,type,label및name로 구성된 필드의 메타데이터 목록입니다. 여기에서 이름은 관리 패키지 및 사용자 정의 필드의 네임스페이스와 함께 필드의 API 이름입니다.headers에는ContactGroupPlanId.가 포함되어야 합니다. -
members은 인구 조사에서 업데이트할 회원 목록입니다. 여러 플로의 경우members에 semicolon(;)로 구분된ContactGroupPlanId이 포함되어야 합니다.
-
-
서비스는 MemberKey로
updateMembers를 호출하여 구성원에 대한 데이터를 저장하고 JSON 객체의 구성원을 분석합니다. -
서비스는 모든 새 구성원에 대해
isNewMember를 true로 추가합니다. 또한 각 GroupCensusMember의 ID도 채워집니다. -
그런 다음, 서비스에서
InsCensusServiceStd: addPlanSelections을 호출하여 각 구성원에 대한GroupCensusMemberPlan를 만듭니다. 또한 기본 구성원 및 종속인이 같은 계획에 따라 다른 보장 범위에 등록되도록 구성원당 옵션 보장 범위도 허용합니다.
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가 잘못된 경우 오류가 반환됩니다. 다음 경우GroupClass이 유효하다고 여겨집니다.-
GroupClass가 구성원의 그룹 계정에 연결됩니다. -
계약의 유효 기간은
GroupClass의StartDate및EndDate사이입니다. -
계약의
StartDate및EndDate는 서비스에 대한 입력으로 제공된ContractId를 사용하여 가져옵니다.
-
- 서비스에
-
이 서비스는
PrimaryGroupCensusMemberId를 가진 자녀를 위한PrimaryMemberSource을 처리합니다.-
서비스에
PrimaryMemberSource와PrimaryGroupCensusMemberId이 모두 있는 경우 서비스는PrimaryGroupCensusMemberId를 소스로 고려하고 종속의PrimaryMemberSource을 업데이트하여 기본의SourceSystemIdentifier을 포함합니다.
-
-
서비스는 모든 기본 구성원을 먼저 저장합니다.
-
자녀를 분석하여 고아(
PrimaryMemberSource가 없는 자녀)를 파악합니다. -
모든 유효한 종속자를 저장합니다.
-
이 서비스는 구성원 목록에 있는 모든 기본 구성원의
DependentCount를 업데이트합니다.
원격 옵션
옵션 |
설명 |
|---|---|
|
필수 업데이트할 구성원이 있는 인구 조사 ID입니다.
|
|
(필수) 업데이트할 구성원에 대한 세부 사항이 포함된 JSON을 입력합니다. |
|
필수 계정의 현재 계약 ID입니다. 각 구성원의 계획이 계약의 일부인지 확인합니다. |
|
부울 true인 경우 |
|
선택 사항 기존 구성원을 식별하기 위한 목록의 기본 필드: |
| 입력 | 서비스 출력 |
|---|---|
censusId 없음 |
서비스에서 오류를 반환합니다. Specify a censusId. |
인구 조사 입력 JSON 없음 |
서비스에서 오류를 반환합니다. |
기본 구성원에게 제공되는 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. |
contractId 없음 또는 유효하지 않은 contractId |
서비스가 구성원 플랜을 업데이트하지 않습니다. |
지정된 계약에 대한 유효하지 않은 ContractGroupPlanId |
서비스는 구성원 플랜을 만들지 않습니다.
|
구성원에 대한 유효하지 않은 ContractGroupPlanId(수신 거부로 인한) |
구성원 플랜이 생성되지 않음
|
| 기본 구성원이 제품 유형을 옵트아웃하는 경우 |
기본 구성원이 제품 유형을 옵트아웃하는 경우 종속자가 해당 제품 유형에서도 옵트아웃합니다. |
| 종속 구성원이 제품 유형을 옵트아웃함 |
기본 구성원이 제품 유형을 옵트아웃하는 경우 종속자가 해당 제품 유형에서도 옵트아웃합니다.
|
입력 JSON
다음은 입력 JSON의 형식입니다.
{
"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"
},
{
"type": "ENTITYID",
"label": "Contract Group Plan",
"fieldId": "",
"name": "ContractGroupPlanId"
}
],
"members": [
{
"MemberKey": "cd64a62573825ee11b87ce91110aa576",
"Lastname": "KoffinsUpdated",
"FirstName": "RajUpdated",
"FullTimeEquivalent": 1,
"Gender": "Male",
"Birthdate": "1965-10-13",
"SourceSystemIdentifier": "1.primary",
"PrimaryMemberSource": null,
"Email": "testrajUpdated@mail.com",
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
},
{
"MemberKey": "f2f8735bbb66b3f7d7b2bae794c00650",
"Lastname": "Koffins",
"FirstName": "KrisUpdated",
"Gender": "Male",
"Birthdate": "2010-05-13",
"RelationshipToPrimaryMember": "Child",
"SourceSystemIdentifier": "1.child",
"PrimaryMemberSource": "1.primary",
"Email": "testkrisUpdated@mail.com",
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
},
{
"Lastname": "WarnerUpdated",
"MemberKey": "5a5bc4e3c05cf461a65a2d7fdc0ab8e0",
"FirstName": "Christopher",
"FullTimeEquivalent": 0.75,
"Gender": "Male",
"Birthdate": "1985-10-13",
"SourceSystemIdentifier": "2.primary",
"PrimaryMemberSource": null,
"Email": "testchristopherUpdated@mail.com",
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
},
{
"Lastname": "WarnerUpdated",
"MemberKey": "157b2052fc732d8261984c2922a3261b",
"FirstName": "Steph",
"Gender": "Male",
"Birthdate": "1985-10-13",
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "2.spouse",
"PrimaryMemberSource": "2.primary",
"Email": "teststephUpdated.com",
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
}
]
}
}출력 JSON
플로가 완료되면 서비스가 성공 메시지를 반환합니다. 그렇지 않으면 예외가 발생할 경우 오류가 반환됩니다.
-
censusMemberIds: 저장된 구성원의GroupCensusMemberIds목록입니다. -
오류: 오류가 있는 구성원의 목록입니다. 각 목록 항목은 입력 구성원 데이터 및 오류로 구성됩니다.
-
relatedFieldsUpdateSuccessCount: 서비스별로DependentCount가 업데이트되는 주 구성원 수 -
relatedFieldsUpdateErrorCount:DependentCount업데이트가 오류를 반환하는 기본 구성원 수 -
relatedFieldsUpdateErrors: 기본 구성원의DependentCount를 업데이트하는 동안 반환된 오류 목록입니다. -
memberPlanIds: 성공적으로 삽입된GroupCensusMemberPlanIds의 목록입니다.
{
"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",
"ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ"
}
],
"censusMemberIds": [
"0r6RO00000005pZYAQ",
"0r6RO00000005paYAA",
"0r6RO00000005pbYAA"
],
"memberPlanIds":[
"a4B4P000006jKsMUAU",
"a4B4P000006jKsNUAU",
"a4B4P000006jKsOUAU",
"a4B4P000006jKsPUAU",
"a4B4P000006jKsQUAU",
"a4B4P000006jKsRUAU"
],
"errorCode": "INVOKE-200",
"error": "OK"
}