Loading
保險
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

使用此服務可將主要成員、其下屬及其預先註冊的計畫填入群組普查。此服務會依 memberKey 更新現有 GroupCensusMember,並為現有 GroupCensusMember 記錄建立 GroupCensusMemberPlan 記錄。它會使用輸入 JSON 中指定的 ContractGroupPlans 來更新每個 GroupCensusMember 的計畫。

類別:InsCensusService​​Std

方法:updateMembersWithPlans

運作方式

  1. 服務會傳遞 censusId 和普查輸入 JSON,以使用計畫更新成員。

  2. census 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 的識別碼。

  5. 接著服務會呼叫 InsCensusServiceStd: addPlanSelections 為每個成員建立 GroupCensusMemberPlan。它也接受每個成員的選擇性涵蓋範圍,以便主要成員和相依性在相同計畫下註冊不同的涵蓋範圍。

依 MemberKey 的 updateMembers

  1. 服務會使用在 headers 中提供的欄位剖析成員的資料。headers 必須包含成員清單中使用的所有欄位中繼資料。

  2. 此服務會根據 RelationshipToPrimaryMember 將主要成員與相依成員分開。

    1. 如果成員清單包含主要成員和下屬,則輸入必須有所有成員的 SourceSystemIdentifier。所有成員都必須有唯一的 SourceSystemIdentifier。此外,所有相依人員都必須有 PrimaryMemberSource 或 PrimaryGroupCensusMemberId (如果主要成員已出現在普查中)。

    2. 如果清單是主要和相依成員的組合,請確保每個相依成員和主要成員皆存在於成員清單中。

  3. 服務會處理新 GroupClass。如果服務具有 GroupClass.Name 而非 GroupClassId,則會提取名稱的 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 之間。

      • 使用作為服務輸入提供的 ContractId 來提取契約的 StartDate 和 EndDate

  4. 服務會處理具有 PrimaryGroupCensusMemberId 之相依者的 PrimaryMemberSource。

    1. 如果服務具有 PrimaryMemberSource 與 PrimaryGroupCensusMemberId,則服務會將 PrimaryGroupCensusMemberId 視為來源,並將相依的 PrimaryMemberSource 更新為包含主要的 SourceSystemIdentifier。

  5. 服務會先儲存所有主要成員。

  6. 它會剖析相依性以識別孤立相依性 (不含PrimaryMemberSource的相依性)。

  7. 它會儲存所有有效的相依性。

  8. 服務會更新成員清單中所有主要成員的 DependentCount。

遠端選項

選項

描述

censusId 

必要

要更新成員的普查識別碼。

驗證 contractId 屬於帳戶/普查。

census

必要。

輸入 JSON,其中包含要更新的成員詳細資料。

contractId 

必要

帳戶目前契約的識別碼。

驗證每個成員的計畫為契約的一部分。

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 = 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