詳細情報:
InsCensusServiceStd:updateMembers
このサービスを使用して、国勢調査の既存のメンバーの値を更新します。
クラス: InsCensusServiceStd
方法: updateMembers
操作手順
-
このサービスは、入力 JSON からメンバーを取得し、国勢調査を (特定の
censusIdに従って) 新しいデータで更新します。 -
census JSON は、
headersとmembersの 2 つのリストで構成されます。-
headersは、fieldId、type、label、およびnameで構成される項目のメタデータのリストです。[名前] は項目の API 参照名 (管理パッケージ項目とカスタム項目の名前空間を含む) です。 -
membersは、国勢調査で更新されるメンバーのリストです。
-
-
サービスは
updateByIdフィールドを検索します。これは、サービスの方針を決定する Boolean 項目です。メンバーは次の 2 つの方法で更新できます。-
updateMembersbyMemberKeyこのオプションは、
updateByIdが false の場合に適用されます。members データには member キーが必要です。 -
updateMembersby Id ofGroupCensusMemberこのオプションは、
updateByIdが true の場合に適用されます。members データには、group census member Id が必要です。
-
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.Nameが無効な場合、エラーが返されます。サービスは、GroupClassを検証するために新しいパラメーターquoteEffectiveDateを使用します。このGroupClassは、次の場合に有効とみなされます。-
GroupClassはメンバーのグループ取引先にリンクされています。 -
quoteEffectiveDateは、GroupClassStartDateとEndDateの間にあります。quoteEffectiveDateがサービスのパラメータとして提供されていない場合、この検証はスキップされます。
-
- サービスに
-
サービスは、
PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。-
サービスに
PrimaryMemberSourceとPrimaryGroupCensusMemberIdの両方がある場合、サービスはPrimaryGroupCensusMemberIdをソースとみなし、連動関係のPrimaryMemberSourceを更新してプライマリのSourceSystemIdentifierを含めます。
-
-
このサービスでは、最初にすべてのプライマリメンバーが保存されます。
-
扶養家族を解析して、孤立した扶養家族 (
PrimaryMemberSourceのない扶養家族) を特定します。 -
すべての有効な扶養家族が保存されます。
-
サービスによって、メンバーリストのすべてのプライマリメンバーの
DependentCountが更新されます。
updateMembers by Id
-
このサービスは、
headersで指定されたフィールドを使用してメンバーのデータを解析します。headersには、メンバーリストで使用されるすべてのフィールドのメタデータが含まれている必要があります。 -
membersデータには ID が必要です。ID がメンバーデータで見つからない場合、サービスはエラーをスローします。 -
サービスは新しい
GroupClassを処理します。サービスにGroupClassIdではなくGroupClass.Nameがある場合、名前を持つGroupClassを取得し、見つからない場合は同じ名前の新しいGroupClassを作成します。- サービスに
GroupClass.Nameがある場合は、メンバーのデータにAccountIdも含めます。 -
GroupClass.Nameのheader:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}。
- サービスに
-
このサービスは、
PrimaryMemberSourceを持つ被扶養者のPrimaryGroupCensusMemberIdを処理します。PrimaryMemberSourceを指定すると、サービスによってPrimaryGroupCensusMemberIdも更新されます。
-
サービスは、
PrimaryGroupCensusMemberIdを持つ被扶養者のPrimaryMemberSourceを処理します。-
サービスに
PrimaryMemberSourceとPrimaryGroupCensusMemberIdの両方がある場合、サービスはPrimaryGroupCensusMemberIdをソースとみなし、連動関係のPrimaryMemberSourceを更新してプライマリのSourceSystemIdentifierを含めます。
-
-
このサービスでは、扶養家族を含むすべてのメンバーが保存されます。
-
このサービスでは、孤立した扶養家族は識別されません。
-
サービスによって、メンバーリストのすべてのプライマリメンバーの
DependentCountが更新されます。
リモートオプション
オプション |
説明 |
|---|---|
|
必須。 更新するメンバーが含まれる国勢調査の ID。 |
|
必須。 更新するメンバーの詳細を含む入力 JSON。 |
updateById
|
省略可能 true に設定した場合、サービスは ID フローに デフォルト値は false です。 |
サービス動作
さまざまな入力がサービス出力にどのように影響するかを理解します。
| 入力 | updateById | サービス出力 |
|---|---|---|
censusIdなし |
true または false | サービスがエラーを返します: |
| 国勢調査入力 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. |
| メンバーのデータに ID がありません | true | サービスがエラーを返します: Specify Id of the census member. |
Input JSON
入力 JSON には、更新するフィールドをリストする headers と、fieldId を含む対応するフィールドと値のペアを含むメンバーをリストする members が含まれます。
サンプル入力 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 By Id)
{
"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のリスト。 -
errors: エラーが発生したメンバーのリスト。各リスト項目は、入力メンバーデータとエラーで構成されます。
-
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"
}