Loading
시스템 관리자에 대한 피싱 방지 MFA 및 전 직원사용자 MFA 적용 안내 더 많이 읽기
보험
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

이 서비스를 사용하여 기본 구성원, 종속인, 사전 등록된 계획으로 그룹 인구 조사에 채울 수 있습니다. 이 서비스는 memberKey별로 기존 GroupCensusMember을 업데이트하고 기존 GroupCensusMember 레코드에 대한 GroupCensusMemberPlan 레코드를 만듭니다. 입력 JSON에 지정된 ContractGroupPlans을 사용하여 각 GroupCensusMember에 대한 계획을 업데이트합니다.

클래스: InsCensusService​​Std

방법: updateMembersWithPlans

작동 방법

  1. 서비스는 censusId 및 인구 조사 입력 JSON을 전달하여 계획이 있는 구성원을 업데이트합니다.

  2. 인구 조사 JSON은 두 개의 목록으로 구성됩니다 - headers 및 members.

    1. headers은 fieldId, type, label 및 name로 구성된 필드의 메타데이터 목록입니다. 여기에서 이름은 관리 패키지 및 사용자 정의 필드의 네임스페이스와 함께 필드의 API 이름입니다. headers에는 ContactGroupPlanId.가 포함되어야 합니다.

    2. members 은 인구 조사에서 업데이트할 회원 목록입니다. 여러 플로의 경우 members에 semicolon(;)로 구분된 ContactGroupPlanId이 포함되어야 합니다.

  3. 서비스는 MemberKey로 updateMembers를 호출하여 구성원에 대한 데이터를 저장하고 JSON 객체의 구성원을 분석합니다.

  4. 서비스는 모든 새 구성원에 대해 isNewMember를 true로 추가합니다. 또한 각 GroupCensusMember의 ID도 채워집니다.

  5. 그런 다음, 서비스에서 InsCensusServiceStd: addPlanSelections을 호출하여 각 구성원에 대한 GroupCensusMemberPlan를 만듭니다. 또한 기본 구성원 및 종속인이 같은 계획에 따라 다른 보장 범위에 등록되도록 구성원당 옵션 보장 범위도 허용합니다.

MemberKey별 updateMembers

  1. 서비스에서 구성원의 데이터를 headers에 제공된 필드로 구문 분석합니다. headers에는 구성원 목록에 사용된 모든 필드의 메타데이터가 포함되어야 합니다.

  2. 서비스는 RelationshipToPrimaryMember에 따라 기본 구성원과 종속 구성원을 구분합니다.

    1. 구성원 목록에 기본 구성원 및 자녀가 포함된 경우 입력에 모든 구성원에 대한 SourceSystemIdentifier가 있어야 합니다. 모든 구성원에게 고유한 SourceSystemIdentifier가 있어야 합니다. 또한 모든 가구는 PrimaryMemberSource 또는 PrimaryGroupCensusMemberId가 있어야 합니다(기본 구성원이 이미 인구 조사에 있는 경우).

    2. 목록이 기본 구성원과 종속 구성원의 조합인 경우 구성원 목록에 모든 종속 구성원과 기본 구성원이 있는지 확인합니다.

  3. 서비스에서 새 GroupClass를 처리합니다. 서비스에 GroupClassId 대신 GroupClass.Name가 있는 경우 이름이 있는 GroupClass를 가져오고 찾을 수 없는 경우 동일한 이름의 새 GroupClass을 만듭니다.

    1. 서비스에 GroupClass.Name가 있는 경우 구성원의 데이터에 AccountId도 포함합니다.
    2. GroupClass.Name의 header: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}를 참조하세요.

    3. 제공된 GroupClass가 잘못된 경우 오류가 반환됩니다. 다음 경우 GroupClass이 유효하다고 여겨집니다.

      • GroupClass가 구성원의 그룹 계정에 연결됩니다.

      • 계약의 유효 기간은 GroupClass의 StartDate 및 EndDate 사이입니다.

      • 계약의 StartDate 및 EndDate는 서비스에 대한 입력으로 제공된 ContractId를 사용하여 가져옵니다.

  4. 이 서비스는 PrimaryGroupCensusMemberId를 가진 자녀를 위한 PrimaryMemberSource을 처리합니다.

    1. 서비스에 PrimaryMemberSource와 PrimaryGroupCensusMemberId이 모두 있는 경우 서비스는 PrimaryGroupCensusMemberId를 소스로 고려하고 종속의 PrimaryMemberSource을 업데이트하여 기본의 SourceSystemIdentifier을 포함합니다.

  5. 서비스는 모든 기본 구성원을 먼저 저장합니다.

  6. 자녀를 분석하여 고아(PrimaryMemberSource가 없는 자녀)를 파악합니다.

  7. 모든 유효한 종속자를 저장합니다.

  8. 이 서비스는 구성원 목록에 있는 모든 기본 구성원의 DependentCount를 업데이트합니다.

원격 옵션

옵션

설명

censusId 

필수

업데이트할 구성원이 있는 인구 조사 ID입니다.

contractId가 계정/인구 조사에 속하는지 확인합니다.

census

(필수)

업데이트할 구성원에 대한 세부 사항이 포함된 JSON을 입력합니다.

contractId 

필수

계정의 현재 계약 ID입니다.

각 구성원의 계획이 계약의 일부인지 확인합니다.

onlySaveMembersWithValidProducts

부울

true인 경우 GroupCensusMemberPlan 항목이 없는 새 구성원이 삭제됩니다.

duplicateKeys

선택 사항

기존 구성원을 식별하기 위한 MemberKey 생성 필드 목록

목록의 기본 필드: FirstName, Lastname, Email, GroupCensusId.

입력 서비스 출력
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.

contractId 없음 또는 유효하지 않은 contractId

서비스가 구성원 플랜을 업데이트하지 않습니다.

지정된 계약에 대한 유효하지 않은 ContractGroupPlanId

서비스는 구성원 플랜을 만들지 않습니다.

onlySaveMembersWithValidProducts가 true이고 구성원이 새 구성원인 경우 서비스가 다음을 수행합니다.

  • 유효한 계획이 없는 구성원을 삭제합니다.
  • 유효한 계획이 하나 이상 있는 경우 구성원을 만듭니다.
구성원에 대한 유효하지 않은 ContractGroupPlanId(수신 거부로 인한)

구성원 플랜이 생성되지 않음

onlySaveMembersWithValidProducts가 true이고 구성원이 새 구성원인 경우 서비스가 다음을 수행합니다.

  • 유효한 계획이 없는 구성원을 삭제합니다.
  • 유효한 계획이 하나 이상 있는 경우 구성원을 만듭니다.
기본 구성원이 제품 유형을 옵트아웃하는 경우

IsOptOutAllPlans 우선 OptOutPlanTypes순위,

  • IsOptOutAllPlans = true인 경우 등록할 제품을 지정해도 서비스에서 구성원 플랜을 만들지 않습니다.
  • IsOptOutAllPlans = false 및 구성원 등록을 위해 제품이 지정되어 있지만 해당 제품 유형이 수신 거부 항목과 동일한 경우 서비스에서 구성원 플랜을 만들지 않습니다.

기본 구성원이 제품 유형을 옵트아웃하는 경우 종속자가 해당 제품 유형에서도 옵트아웃합니다.

종속 구성원이 제품 유형을 옵트아웃함

IsOptOutAllPlans 우선 OptOutPlanTypes순위,

  • IsOptOutAllPlans = true인 경우 등록할 제품을 지정해도 서비스에서 구성원 플랜을 만들지 않습니다.
  • IsOptOutAllPlans = false 및 구성원 등록을 위해 제품이 지정되어 있지만 제품 유형이 수신 거부 항목과 동일한 경우 서비스에서 구성원 플랜을 만들지 않습니다.

기본 구성원이 제품 유형을 옵트아웃하는 경우 종속자가 해당 제품 유형에서도 옵트아웃합니다.

IsOptOutAllPlans = primary 구성원에 대해 true인 경우 연결된 종속 항목에 동일한 출력이 적용됩니다.

입력 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"
}
 
로드 중
Salesforce Help | Article