Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
Insurance
InsCensusServiceStd:addMembers

InsCensusServiceStd:addMembers

このサービスを使用して、入力 JSON を使用してグループ国勢調査にグループ国勢調査メンバーを追加します。

クラス: ​InsCensusServiceStd​​

方法: addMembers

操作手順

このサービスは、国勢調査の入力 JSON でメンバーを取得し、指定された censusId​​ に追加します。追加されたメンバーの ID のリストを返します (censusMemberIds)。

  1. サービスによってメンバーデータが解析されます。

    1. ヘッダーで指定された項目を使用してメンバーのデータを解析します。ヘッダーには、メンバーリストで使用されるすべての項目のメタデータが含まれている必要があります。

    2. RelationshipToPrimaryMemberに基づいて主メンバーと連動メンバーを分離します。メンバーリストに主メンバーと連動関係が含まれる場合、入力にはすべてのメンバーのSourceSystemIdentifierが必要です。すべてのメンバーに一意のSourceSystemIdentifierが必要です。また、すべての被扶養者にPrimaryMemberSourceまたはPrimaryGroupCensusMemberIdが必要です (プライマリメンバーが国勢調査にすでに登録されている場合)。

    3. MemberKeyを生成します。

    4. 新しいGroupClassを処理します。GroupClassId ではなくサービスにGroupClass.Nameが指定されている場合、サービスは名前を持つGroupClassを取得し、見つからない場合は同じ名前の新しいGroupClassを作成します。GroupClass.Name のヘッダーは {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"} です。指定されたGroupClass.Nameが無効な場合、エラーが返されます。サービスは、GroupClassを検証するために新しいパラメーターquoteEffectiveDateを使用します。このGroupClassは、次の場合に有効とみなされます。

      メモ
      メモ GroupClass.Nameが指定されている場合は、メンバーのデータにAccountIdも含まれます。
      • GroupClassはメンバーのグループ取引先にリンクされています。

      • quoteEffectiveDateは、GroupClass StartDateと EndDate の間にあります。quoteEffectiveDate がサービスのパラメータとして指定されていない場合、この検証はスキップされます。

    5. PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。PrimaryMemberSourceとPrimaryGroupCensusMemberIdの両方がメンバーデータで指定されている場合、サービスはソースとしてPrimaryGroupCensusMemberIdを消費し、プライマリのSourceSystemIdentifierが含まれるように連動関係のPrimaryMemberSourceを更新します。

  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

必須。

メンバーを追加するグループ国勢調査の ID。

census

必須。

追加するメンバーの入力 JSON。

census JSON は、ヘッダーとメンバーの 2 つのリストで構成されます。headers は、fieldId、type、label、name で構成される項目のメタデータのリストです。[名前] は項目の API 参照名 (管理パッケージおよびカスタム項目の名前空間を含む) です。members: 国勢調査に追加されるメンバーのリスト。

duplicateKey

省略可能。

MemberKeyを生成して重複を識別するフィールドのリスト。値を指定しない場合、リストに含まれるデフォルト項目は FirstName、Lastname、Email、GroupCensusId です。

Input JSON

入力 JSON は、ヘッダーとメンバーの 2 つのリストで構成されます。headers は、fieldId、type、label、name で構成される項目のメタデータのリストです。[名前] は項目の 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のリスト。

  • errors: エラーが発生したメンバーのリスト。各リスト項目は、入力メンバーデータとエラーで構成されます。

  • ​ ​ ​ 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