詳細情報:
InsCensusServiceStd:updateMembersWithPlans
このサービスを使用して、プライマリメンバー、その扶養家族、および事前登録された計画でグループ国勢調査を入力します。このサービスでは、memberKeyで既存のGroupCensusMemberを更新し、既存のGroupCensusMemberレコードのGroupCensusMemberPlanレコードを作成します。入力 JSON で指定されたContractGroupPlansを使用して、各GroupCensusMemberの計画を更新します。
クラス: InsCensusServiceStd
方法: updateMembersWithPlans
操作手順
-
このサービスは、censusId と census input JSON を渡して、プランでメンバーを更新します。
-
census JSON は、
headersとmembersの 2 つのリストで構成されます。-
headersは、fieldId、type、label、およびnameで構成される項目のメタデータのリストです。[名前] は項目の API 参照名 (管理パッケージ項目とカスタム項目の名前空間を含む) です。headersにはContactGroupPlanId.が含まれている必要があります -
membersは、国勢調査で更新されるメンバーのリストです。membersには、複数のプランでセミコロン(;)で区切られたContactGroupPlanIdを含める必要があります。
-
-
サービスは MemberKey で
updateMembersをコールしてメンバーに関するデータを保存し、JSON オブジェクトのメンバーを解析します。 -
このサービスでは、すべての新規メンバーに
isNewMemberが true として追加されます。また、各 GroupCensusMember の ID も入力されます。 -
次に、サービスは
InsCensusServiceStd: addPlanSelectionsをコールして各メンバーのGroupCensusMemberPlanを作成します。また、プライマリメンバーと被扶養者が同じプランで異なる補償に加入できるように、メンバーごとの省略可能な補償も受け入れます。
updateMembers by MemberKey
-
このサービスは、
headersで指定されたフィールドを使用してメンバーのデータを解析します。headersには、メンバーリストで使用されるすべてのフィールドのメタデータが含まれている必要があります。 -
このサービスでは、
RelationshipToPrimaryMemberに基づいて主メンバーと連動メンバーが分離されます。-
メンバーリストに主メンバーと連動関係が含まれる場合、入力にはすべてのメンバーの
SourceSystemIdentifierが必要です。すべてのメンバーに一意のSourceSystemIdentifierが必要です。さらに、すべての被扶養者にPrimaryMemberSourceまたはPrimaryGroupCensusMemberIdが必要です (プライマリメンバーが国勢調査にすでに登録されている場合)。 -
リストが主メンバーと連動メンバーの組み合わせである場合、すべての連動メンバーと主メンバーがメンバーリストに存在することを確認します。
-
-
サービスは新しい
GroupClassを処理します。サービスにGroupClassIdではなくGroupClass.Nameがある場合、名前を持つGroupClassを取得し、見つからない場合は同じ名前の新しいGroupClassを作成します。- サービスに
GroupClass.Nameがある場合は、メンバーのデータにAccountIdも含めます。 -
GroupClass.Nameのheader:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}。 -
指定された
GroupClassが無効である場合、エラーが返されます。このGroupClassは、次の場合に有効とみなされます。-
GroupClassはメンバーのグループ取引先にリンクされています。 -
契約の有効期間は、
StartDate~EndDateのGroupClassです。 -
契約の
StartDateとEndDateは、サービスへの入力として提供されたContractIdを使用して取得されます。
-
- サービスに
-
サービスは、
PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。-
サービスに
PrimaryMemberSourceとPrimaryGroupCensusMemberIdの両方がある場合、サービスはPrimaryGroupCensusMemberIdをソースとみなし、連動関係のPrimaryMemberSourceを更新してプライマリのSourceSystemIdentifierを含めます。
-
-
このサービスでは、最初にすべてのプライマリメンバーが保存されます。
-
扶養家族を解析して、孤立した扶養家族 (
PrimaryMemberSourceのない扶養家族) を特定します。 -
すべての有効な扶養家族が保存されます。
-
サービスによって、メンバーリストのすべてのプライマリメンバーの
DependentCountが更新されます。
リモートオプション
オプション |
説明 |
|---|---|
|
必須 更新するメンバーが含まれる国勢調査の ID。
|
|
必須。 更新するメンバーの詳細を含む入力 JSON。 |
|
必須 取引先の現在の契約の ID。 各メンバーの計画が契約に含まれていることを確認します。 |
|
Boolean true の場合、エントリが |
|
省略可能 既存のメンバーを識別するための リストのデフォルト項目: |
| 入力 | サービス出力 |
|---|---|
censusIdなし |
サービスがエラーを返します: Specify a censusId. |
国勢調査入力 JSON がありません |
サービスがエラーを返します: |
プライマリメンバーに提供される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 |
サービスによってメンバープランは作成されません。
|
メンバーのContractGroupPlanIdが無効です (オプトアウトのため) |
メンバープランが作成されない
|
| プライマリメンバーが商品種別をオプトアウトする |
プライマリメンバーが商品種別からオプトアウトした場合、扶養家族はその商品種別からもオプトアウトします。 |
| 連動メンバーが商品種別からオプトアウトする |
プライマリメンバーが商品種別からオプトアウトした場合、扶養家族はその商品種別からもオプトアウトします。 プライマリ メンバーの |
Input 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のリスト。 -
errors: エラーが発生したメンバーのリスト。各リスト項目は、入力メンバーデータとエラーで構成されます。
-
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"
}