詳細情報:
InsCensusServiceStd:addMembers
このサービスを使用して、入力 JSON を使用してグループ国勢調査にグループ国勢調査メンバーを追加します。
クラス: InsCensusServiceStd
方法: addMembers
操作手順
このサービスは、国勢調査の入力 JSON でメンバーを取得し、指定された censusId に追加します。追加されたメンバーの ID のリストを返します (censusMemberIds)。
サービスによってメンバーデータが解析されます。
ヘッダーで指定された項目を使用してメンバーのデータを解析します。ヘッダーには、メンバーリストで使用されるすべての項目のメタデータが含まれている必要があります。
RelationshipToPrimaryMemberに基づいて主メンバーと連動メンバーを分離します。メンバーリストに主メンバーと連動関係が含まれる場合、入力にはすべてのメンバーのSourceSystemIdentifierが必要です。すべてのメンバーに一意のSourceSystemIdentifierが必要です。また、すべての被扶養者にPrimaryMemberSourceまたはPrimaryGroupCensusMemberIdが必要です (プライマリメンバーが国勢調査にすでに登録されている場合)。MemberKeyを生成します。新しい
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は、GroupClassStartDateとEndDateの間にあります。quoteEffectiveDateがサービスのパラメータとして指定されていない場合、この検証はスキップされます。
PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。PrimaryMemberSourceとPrimaryGroupCensusMemberIdの両方がメンバーデータで指定されている場合、サービスはソースとしてPrimaryGroupCensusMemberIdを消費し、プライマリのSourceSystemIdentifierが含まれるように連動関係のPrimaryMemberSourceを更新します。
すべてのプライマリメンバーを保存します。このサービスでは、
MemberKeyを使用して重複を識別します。重複するメンバーがいる場合、その既存のメンバーの項目が更新されます。MemberKeyは文字列の一意の組み合わせである必要があります。扶養家族を解析して、孤立した扶養家族 (
PrimaryMemberSourceのない扶養家族) を特定します。すべての有効な扶養家族を保存します。このサービスでは、
MemberKeyを使用して重複を識別します。では、重複するメンバーレコードがある場合、サービスは新しいレコードを作成する代わりに、その既存のメンバーの項目を更新します。メンバー・リスト内のすべてのプライマリ・メンバーの
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. |
リモートオプション
オプション |
説明 |
|---|---|
|
必須。 メンバーを追加するグループ国勢調査の ID。 |
|
必須。 追加するメンバーの入力 JSON。 census JSON は、ヘッダーとメンバーの 2 つのリストで構成されます。headers は、fieldId、type、label、name で構成される項目のメタデータのリストです。[名前] は項目の API 参照名 (管理パッケージおよびカスタム項目の名前空間を含む) です。members: 国勢調査に追加されるメンバーのリスト。 |
duplicateKey
|
省略可能。
|
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"
}