Loading
保險
InsCensusServiceStd:addMembers

InsCensusServiceStd:addMembers

使用此服務可使用輸入 JSON 將群組普查成員新增至群組普查。

類別:InsCensusServiceStd​​

方法:addMembers

運作方式

服務會在普查輸入 JSON 中取得成員,並將其新增至指定的 censusId​​。它會傳回新增成員 ( censusMemberIds ) 的識別碼清單。

  1. 服務會剖析成員資料。

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

    2. 根據 RelationshipToPrimaryMember 分隔主要成員與相依成員。如果成員清單包含主要成員和下屬,則輸入必須有所有成員的 SourceSystemIdentifier。所有成員都必須有唯一的 SourceSystemIdentifier。此外,所有相依人員都必須有 PrimaryMemberSource 或 PrimaryGroupCensusMemberId (如果主要成員已存在於普查中)。

    3. 產生 MemberKey。

    4. 處理新 GroupClass。如果將 GroupClass.Name 提供給服務而非 GroupClassId,則服務會提取名稱的 GroupClass,如果找不到相同名稱,則會建立新的 GroupClass。GroupClass.Name 的標頭為 {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}。如果指定的 GroupClass.Name 無效,則會傳回錯誤。服務會採用新的參數 quoteEffectiveDate 來驗證 GroupClass。以下情況會將 GroupClass 視為有效:

      備註
      備註 如果提供 GroupClass.Name,則也請在成員的資料中包含 AccountId。
      • GroupClass 會連結至成員的群組帳戶。

      • quoteEffectiveDate 位於 GroupClass StartDate 與 EndDate 之間。如果未提供 quoteEffectiveDate 作為服務參數,則會略過此驗證。

    5. 使用 PrimaryGroupCensusMemberId 處理相依者的 PrimaryMemberSource。如果成員資料中同時提供 PrimaryMemberSource 和 PrimaryGroupCensusMemberId,則服務會取用 PrimaryGroupCensusMemberId 作為來源,並將相依的 PrimaryMemberSource 更新為包含主要的 SourceSystemIdentifier。

  2. 儲存所有主要成員。服務使用 MemberKey 識別重複項目。如果有重複的成員,則服務會更新該先前存在成員的欄位。MemberKey 必須是字串的唯一組合。

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

  4. 儲存所有有效的相依性。服務使用 MemberKey 識別重複項目。在有重複的成員記錄中,服務會更新該預先存在成員的欄位,而非建立新記錄。

  5. 更新成員清單中所有主要成員的 DependentCount。

服務行為

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

輸入 服務輸出
否 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.

遠端選項

選項

描述

censusId

必要。

要新增成員的群組普查識別碼。

census

必要。

要新增成員的輸入 JSON。

census JSON 包含兩個清單 - 標題與成員。headers 是欄位中繼資料的清單,包含 fieldId、類型、標籤和名稱。此處的名稱為欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。members 是要新增至普查的成員清單。

duplicateKey

選擇性。

用來產生 MemberKey 和識別重複項目的欄位清單。如果未提供值,則清單中包含的預設欄位為:FirstName、Lastname、Email、GroupCensusId。

輸入 JSON

輸入 JSON 包含兩個清單 - 標題與成員。headers 是欄位中繼資料的清單,包含 fieldId、類型、標籤和名稱。此處的名稱為欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。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": [
            {
                "Lastname": "Koffins",
                "FirstName": "Raj",
                "FullTimeEquivalent": 1,
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "SourceSystemIdentifier": "1.primary",
                "PrimaryMemberSource": null,
                "Email": "testraj@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Koffins",
                "FirstName": "Rita",
                "Gender": "Female",
                "Birthdate": "1987-07-13",               
                "RelationshipToPrimaryMember": "Spouse",
                "SourceSystemIdentifier": "1.spouse",
                "PrimaryMemberSource": null,
                "Email": "testrita@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Koffins",
                "FirstName": "Kris",
                "Gender": "Male",
                "Birthdate": "2016-05-13",
                "RelationshipToPrimaryMember": "Child",
                "SourceSystemIdentifier": "1.child",
                "PrimaryMemberSource": "1.primary",
                "Email": "testkris@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":true,
                "OptOutPlanTypes":"Medical;Dental"
            },
            {
                "Lastname": "Warner",
                "FirstName": "Christopher",
                "FullTimeEquivalent": 0.5,
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "SourceSystemIdentifier": "2.primary",
                "PrimaryMemberSource": null,
                "Email": "testchristopher@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            },
            {
                "Lastname": "Warner",
                "FirstName": "Steph",
                "Gender": "Male",
                "Birthdate": "1985-10-13",
                "RelationshipToPrimaryMember": "Spouse",
                "SourceSystemIdentifier": "2.spouse",
                "PrimaryMemberSource": "2.primary",
                "Email": "teststeph@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            },
            {
                "Lastname": "Jose",
                "FirstName": "Steve",
                "Gender": "Male",
                "Birthdate": "1989-10-13",
                "FullTimeEquivalent":10,
                "SourceSystemIdentifier": "3.primary",
                "Email": "teststeve@mail.com",
                "AccountId":"001B000001QOqJHIA1",
                "IsOptOutAllPlans":false,
                "OptOutPlanTypes":"Medical"
            }
        ]
    }
}
  

輸出 JSON

如果流程完成,則服務會傳回成功訊息,否則會在發生任何例外狀況時傳回錯誤訊息。

  • censusMemberIds:已儲存成員的GroupCensusMemberIds清單。

  • 錯誤:具有錯誤的成員清單。每個清單項目都包含輸入成員資料與錯誤。

  • ​ ​ ​ relatedFieldsUpdateSuccessCount:依服務更新其 DependentCount 的主要成員數。

  • ​ ​ ​ relatedFieldsUpdateErrorCount:DependentCount 更新傳回錯誤的主要成員數。

  • relatedFieldsUpdateErrors:更新主要成員的 DependentCount 時傳回的錯誤清單。

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "[FullTimeEquivalent]: NUMBER_OUTSIDE_VALID_RANGE - Full Time Equivalent: value outside of valid range on numeric field: 10",
      "Birthdate": "1989-10-13",
      "Gender": "Male",
      "IsOptOutAllPlans": false,
      "Lastname": "Jose",
      "SourceSystemIdentifier": "3.primary",
      "FullTimeEquivalent": 10,
      "FirstName": "Steve",
      "AccountId": "001B000001QOqJHIA1",
      "Email": "teststeve@mail.com",
      "OptOutPlanTypes": "Medical"
    },
    {
      "RelationshipToPrimaryMember": "Spouse",
      "SourceSystemIdentifier": "1.spouse",
      "OptOutPlanTypes": "Medical;Dental",
      "PrimaryMemberSource": null,
      "error": "Dependent has no primary member.",
      "Birthdate": "1987-07-13",
      "Gender": "Female",
      "IsOptOutAllPlans": true,
      "Lastname": "Koffins",
      "FirstName": "Rita",
      "AccountId": "001B000001QOqJHIA1",
      "Email": "testrita@mail.com"
    }
  ],
  "censusMemberIds": [
    "0r6B00000000ANcIAM",
    "0r6B00000000ANdIAM",
    "0r6B00000000ANeIAM",
    "0r6B00000000ANfIAM"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
正在載入
Salesforce Help | Article