Loading
保險
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

使用此服務更新普查中現有成員的值。

類別:InsCensusServiceStd​​

方法:updateMembers

運作方式

  1. 此服務會從輸入 JSON 取用成員,並使用新資料更新普查 (根據指定的 censusId)。

  2. census JSON 包含兩個清單 - headers 與 members。

    1. headers 是包含 fieldId、type、label 和 name 的欄位中繼資料清單。此處的名稱是欄位的 API 名稱 (包含受管理封裝和自訂欄位的命名空間)。

    2. members 是要在普查中更新的成員清單。

  3. 服務會尋找 updateById 欄位。這是決定服務動作過程的布林值欄位。您可以透過下列兩種方式更新成員:

    1. updateMembers 依據 MemberKey

      此選項在 updateById 為 false 時適用。成員資料必須有成員金鑰。

    2. 依 GroupCensusMember 識別碼的 updateMembers

      此選項在 updateById 為 true 時適用。成員資料必須有群組普查成員識別碼。

依 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.Name 無效,則會傳回錯誤。服務會採用新的參數 quoteEffectiveDate 來驗證 GroupClass。以下情況會將 GroupClass 視為有效:

      • GroupClass 會連結至成員的群組帳戶。

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

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

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

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

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

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

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

依識別碼的 updateMembers

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

  2. members 資料必須有識別碼。如果在成員資料中找不到識別碼,則服務會引發錯誤。

  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"}.

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

    1. 如果您提供 PrimaryMemberSource,則服務也會更新 PrimaryGroupCensusMemberId。
  5. 服務會處理具有 PrimaryGroupCensusMemberId 之相依者的 PrimaryMemberSource。

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

  6. 此服務會儲存包括相依的所有成員。

  7. 服務不會識別孤立相依性。

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

遠端選項

選項

描述

censusId

必要。

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

census

必要。

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

updateById

選擇性

如果設定為 true,則服務會依識別碼流程跟隨 updateMembers。

預設值為 False。

服務行為

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

輸入 updateById 服務輸出
否 censusId true 或 false

服務傳回錯誤: Specify a censusId.

無普查輸入 JSON true 或 false 服務傳回錯誤: The census input is missing.
提供給主要成員的 PrimaryMemberSource 值 false 服務傳回錯誤: The PrimaryMemberSource must be null for primary members.
輸入普查中缺少 headers true 或 false 服務傳回錯誤: The header node is missing in the census input.
輸入普查中缺少 members true 或 false 服務傳回錯誤: The members node is missing in the census input.
適用於孤立的相依性 (沒有 PrimaryMemberSource 或 PrimaryGroupCensusMemberId 的相依性) false 服務傳回錯誤: Dependent has no primary member.
成員資料中缺少識別碼 true 服務傳回錯誤: Specify Id of the census member.

輸入 JSON

輸入 JSON 包含 headers (列出要更新的欄位),以及 members (列出成員及其對應的欄位值配對,包括 fieldId)。

範例輸入 JSON (UpdateMembers By MemberKey)

{
  "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": [
      {
        "MemberKey": "cd64a62573825ee11b87ce91110aa576",
        "Lastname": "KoffinsUpdated",
        "FirstName": "RajUpdated",
        "FullTimeEquivalent": 1,
        "Gender": "Male",
        "Birthdate": "1965-10-13",
        "SourceSystemIdentifier": "1.primary",
        "PrimaryMemberSource": null,
        "Email": "testrajUpdated@mail.com"
      },
      {
        "MemberKey": "f2f8735bbb66b3f7d7b2bae794c00650",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdated",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "SourceSystemIdentifier": "1.child",
        "PrimaryMemberSource": "1.primary",
        "Email": "testkrisUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "5a5bc4e3c05cf461a65a2d7fdc0ab8e0",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "SourceSystemIdentifier": "2.primary",
        "PrimaryMemberSource": null,
        "Email": "testchristopherUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "157b2052fc732d8261984c2922a3261b",
        "FirstName": "Steph",
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "RelationshipToPrimaryMember": "Spouse",
        "SourceSystemIdentifier": "2.spouse",
        "PrimaryMemberSource": "2.primary",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

範例輸入 JSON (updateMembers 依識別碼)

{
  "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": [
      {
        "Id":"0r6RO00000005pZYAQ",
        "Lastname": "KoffinsUpdatedById",
        "FirstName": "RajUpdatedById",
        "Birthdate": "1965-10-13",
        "Email": "testrajUpdated@mail.com"
      },
      {
        "Id":"0r6RO00000005pbYAA",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdatedById",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "Email": "testkrisUpdatedById@mail.com"
      },
      {
        "Id":"0r6RO00000005paYAA",
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "Email": "testchristopherUpdatedById@mail.com"
      },
      {
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Steph",
        "Birthdate": "1985-10-13",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

輸出 JSON

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

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

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

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

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

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

範例輸出 JSON (UpdateMembers By MemberKey)

{
  "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"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005paYAA",
    "0r6RO00000005pbYAA"
  ],
  "deletedCensusMemberIds": [],
  "errorCode": "INVOKE-200",
  "error": "OK"
}

範例輸出 JSON - (updateMembers By Id)

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "Specify Id of the census member.",
      "Birthdate": "1985-10-13",
      "Lastname": "WarnerUpdatedById",
      "FirstName": "Steph",
      "Email": "teststephUpdated.com"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005pbYAA",
    "0r6RO00000005paYAA"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
正在載入
Salesforce Help | Article