Loading
保險
InsCensusServiceStd:addPlanSelections

InsCensusServiceStd:addPlanSelections

使用此服務來建立現有 GroupCensusMember 記錄的 GroupCensusMemberPlan 記錄。它會使用輸入 JSON 中指定的 ContractGroupPlans 將計畫新增至每個 GroupCensusMember。此服務也接受每個成員的選擇性涵蓋範圍,因此主要成員和相依人可以在相同計畫下註冊不同的涵蓋範圍。

類別:InsCensusServiceStd​​

方法:addPlanSelections

備註
備註

如果使用 CSV 上載每個成員的計畫選取項目,請使用 InsCensusServiceStd:updateMembersWithPlans 服務。

GroupCensus 和「契約」必須有相同的群組帳戶。

ContractGroupPlan 狀態必須為啟用中。

運作方式

服務使用 censusId 和 contractId 插入成員的選取計畫。

  1. 針對每個其 ContractGroupPlan 識別碼,服務會根據下列因素評估計畫是否對成員有效:
    • contractId 對 censusId 有效。

    • ContractGroupPlan 識別碼對 contractId​ 有效。
    • IsOptOutAllPlans 為 false。

    • 當 ContractGroupPlan 的記錄類型為「產品」(父系的「ContractGroupPlan」):

      • 主要成員的 ContractGroupPlan 產品類型不能等於主要成員的 OptOutPlanTypes 中所列的產品類型。

      • 相依者的「ContractGroupPlan​​」產品類型不能等於在相依者 OptOutPlanTypes 中列出的產品類型,且 ContractGroupPlan 的產品類型不能等於在相依者主要成員的「OptOutPlanTypes」中列出的產品類型。

    • 當 ContractGroupPlan 的記錄類型為 CoverageSpec (子系的 ContractGroupPlan) 時:

      • 主要成員其子系 ContractGroupPlan 的產品類型不能等於主要成員其 OptOutPlanTypes 中所列的產品類型。

      • 親屬的子系 ContractGroupPlan​​ 產品類型不得等於在「親屬」OptOutPlanTypes 中列出的產品類型,且 ContractGroupPlan 的產品類型不得等於在「親屬」主要成員的「OptOutPlanTypes」中列出的產品類型。

  2. 系統會針對有效的計畫傳回成功建立之 GroupCensusMemberPlan 項目的識別碼。

  3. 服務會針對指定的契約,針對符合資格的群組類別,取用有效的計畫。註冊根計畫及其涵蓋範圍取決於成員的類別是否符合計畫的資格,以及計畫是否接受與任何類別無關聯的成員。

    如果服務判定普查成員可以註冊計畫,則計畫會新增至該 GroupCensusMemberPlan。

    • 在下列情況下,計畫會新增至 GroupCensusMemberPlan:

      • 普查成員與有效的群組類別相關聯,且具有群組類別與計畫的 ContractGroupPlanGroupClass 記錄存在。

      • 普查成員與有效的群組類別相關聯,該群組類別不存在任何 ContractGroupPlanGroupClass記錄,且計畫不存在於任何其他群組類別。

      • 普查成員未與有效的群組類別相關聯,且計畫中不存在任何 ContractGroupPlanGroupClass 記錄。

    • 在下列情況下,不會將計畫新增至 GroupCensusMemberPlan:

      • 普查成員與有效的群組類別相關聯,該群組類別不存在任何 ContractGroupPlanGroupClass 記錄,但計畫存在於其他群組類別。

      • 普查成員未與有效的群組類別相關聯,且計畫和群組類別存在一個 ContractGroupPlanGroupClass 記錄。

  4. 傳遞無效的 groupCensusMember contractGroupPlanIds (標記 isNewMember 為 true) 時,服務會刪除 groupCensusMember 記錄,且不會為 groupCensusMember 建立任何新的 GroupCensusMemberPlan 記錄。只有在 JSON 物件中的標記 onlySaveMembersWithValidProducts 設定為 true 時,才預期此輸出。

遠端選項

選項

描述

censusId

必要。

必須插入其計畫之成員的普查識別碼。

驗證 contractId 屬於帳戶/普查。

contractId

必要。

帳戶目前契約的識別碼。

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

census

必要。

具有兩個節點的 JSON 輸入:

  • headers— GroupCensusMemberPlan 的欄位 API 名稱清單。

  • members—具有要插入或更新的計畫的成員清單。它必須包含下列節點:

    • Id — 普查成員識別碼。

    • isNewMember - 若成員是新插入的,則為 True

    • ContractGroupPlan - 成員的所選計畫清單。以分號 () 分隔契約群組計畫識別碼。

onlySaveMembersWithValidProducts

選擇性。

如果為 true,則會刪除沒有 GroupCensusMemberPlan 項目的新成員。預設值為 False。

服務行為

瞭解不同的輸入如何影響服務輸出。

輸入 服務輸出
無 censusId 或無效的 censusId 服務未新增成員計畫。
無 contractId 或無效的 contractId 服務未新增成員計畫。
指定的普查contractId無效 服務未新增成員計畫。
沒有要插入/更新的列 服務未新增成員計畫。
列沒有識別碼 (GroupCensusMember.Id) 服務未新增成員計畫。
指定契約的無效ContractGroupPlanId

服務未建立成員計畫。

如果 onlySaveMembersWithValidProducts 為 true 且成員是新成員,則服務會執行下列動作:

  • 刪除沒有有效計畫的成員。
  • 如果成員擁有至少一個有效的計畫,則會建立成員。
成員的無效ContractGroupPlanId (由於選擇退出)

未建立成員計畫

如果 onlySaveMembersWithValidProducts 為 true 且成員是新成員,則服務會執行下列動作:

  • 刪除沒有有效計畫的成員。
  • 如果成員擁有至少一個有效的計畫,則會建立成員。
主要成員選擇退出產品類型

IsOptOutAllPlans 優先順序,後面接著 OptOutPlanTypes。

  • 如果 IsOptOutAllPlans = true,則服務不會建立成員計畫,即使您指定要註冊的產品也是如此。
  • 如果 IsOptOutAllPlans = false,且已為成員註冊指定產品,但其產品類型與選擇退出項目相同,則服務不會建立成員計畫。
  • 如果 IsOptOutAllPlans = false,且針對父系產品類型與選擇退出項目相同的成員註冊指定涵蓋範圍,則服務不會建立成員計畫。

如果主要成員選擇退出產品類型,則從屬也會選擇退出該產品類型。

從屬成員選擇退出產品類型

IsOptOutAllPlans 優先順序,後面接著 OptOutPlanTypes

  • 如果 IsOptOutAllPlans = true,則服務不會建立成員計畫,即使您指定要註冊的產品也是如此。
  • 如果 IsOptOutAllPlans = false,且已為成員註冊指定產品,但其產品類型與選擇退出項目相同,則服務不會建立成員計畫。
  • 如果 IsOptOutAllPlans = false,且針對父系產品類型與選擇退出項目相同的成員註冊指定涵蓋範圍,則服務不會建立成員計畫。

如果主要成員選擇退出產品類型,則從屬也會選擇退出該產品類型。

如果主要成員的 IsOptOutAllPlans = true,則相同的輸出適用於相關聯的相依。

輸入 JSON

以下是輸入 JSON 的格式:

{ 
   "censusId":"ID",
   "contractId":"ID",
   "census":{ 
      "headers":[ 
         { 
            "name":"GroupCensusMemberPlan.fieldAPI1"
         },
         { 
            "name":"GroupCensusMemberPlan.fieldAPI2"
         }
      ],
      "members":[ 
         { 
            "Id":"Census Member ID",
            "isNewMember":true,
            "GroupCensusMemberPlan.fieldAPI1":"value1",
            "GroupCensusMemberPlan.fieldAPI2":"value2",
            "ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
         },
         { 
            "Id":"Census Member ID",
            "isNewMember":true,
            "GroupCensusMemberPlan.fieldAPI1":"value1",
            "GroupCensusMemberPlan.fieldAPI2":"value2",
            "ContractGroupPlanId": "ContractGroupPlan.Id;ChildContractGroupPlan.Id"
         }
      ]
   },
   "onlySaveMembersWithValidProducts" : true
}

以下是輸入 JSON 的範例:

{ 
   "censusId":"a4D4P000000hbjSUAQ",
   "contractId":"8004P000000zF2dQAE",
   "census":{ 
      "members":[ 
         { 
            "ContractGroupPlanId":"a4D4P000000hbjSUAQ;a4D4P000000hbjSUAQ",
            "Id":"a4C4P000000d7POUAY"
         }
      ],
      "headers":[ 
         { 
            "name":"ContractGroupPlanId"
         }
      ]
   }
}

輸出 JSON

服務會傳回成功插入之 GroupCensusMemberPlan 識別碼的清單。它也會提供所遇到錯誤的清單。這些錯誤會依成員分組。

以下是輸出 JSON 的格式:

{ 
   "memberPlanIds":[ 
      "GroupCensusMemberPlan.Id"
   ],
   "errors":[ 
      { 
         "error":"error"
      }
   ]
}

服務會傳回輸出 JSON,格式如下:

{ 
   "memberPlanIds":[ 
      "a4B4P000006jKsMUAU",
      "a4B4P000006jKsNUAU",
      "a4B4P000006jKsOUAU",
      "a4B4P000006jKsPUAU"
   ],
   "errors":[ 
      { 
         "numPlansError":2,
         "error":"ContractGroupPlan value is not valid:8004P000000zJKjQAM; Medical",
         "numPlans":2,
         "Id":"a4C4P000000ed6dUAA",
         "isNewMember":true,
         "ContractGroupPlan":"8004P000000zJKjQAM;Medical"
      }
   ]
}
 
正在載入
Salesforce Help | Article