Vous êtes ici :
InsCensusServiceStd:updateMembers
Utilisez ce service pour mettre à jour les valeurs des membres existants dans un recensement.
Classe: InsCensusServiceStd
Méthode : updateMembers
Fonctionnement
-
Ce service récupère les membres à partir d'un JSON d'entrée et met à jour le recensement (selon le
censusIddonné) avec les nouvelles données. -
Le JSON de recensement comprend deux listes -
headersetmembers.-
headersest la liste des métadonnées des champs comprenantfieldId,type,labeletname. Voici le nom d'API du champ (avec l'espace de noms des champs de package géré et personnalisés). -
membersest la liste des membres à mettre à jour dans le recensement.
-
-
Le service recherche le champ
updateById. C'est un champ booléen qui détermine la ligne de conduite du service. Les membres peuvent être mis à jour de deux façons :-
updateMembersparMemberKeyCette option est applicable lorsque
updateByIdest false. Les données des membres doivent avoir une clé de membre. -
updateMemberspar ID deGroupCensusMemberCette option est applicable lorsque
updateByIdest true. Les données des membres doivent avoir un ID de membre du recensement du groupe.
-
updateMembers par MemberKey
-
Le service analyse les données des membres avec les champs fournis dans
headers.headersdoit contenir toutes les métadonnées des champs utilisées dans la liste des membres. -
Le service sépare les membres principaux et les membres dépendants en fonction de leur
RelationshipToPrimaryMember.-
Si la liste des membres contient des membres principaux et des personnes dépendantes, l'entrée doit avoir des
SourceSystemIdentifierpour tous les membres. Tous les membres doivent avoir unSourceSystemIdentifierunique. De plus, toutes les personnes à charge doivent avoir unPrimaryMemberSourceou unPrimaryGroupCensusMemberId(si le membre principal est déjà présent au recensement). -
Si la liste combine des membres principaux et des membres dépendants, assurez-vous que chaque membre dépendant et membre principal existe dans la liste des membres.
-
-
Le service traite les nouveaux
GroupClass. Si le service contient desGroupClass.Nameau lieu deGroupClassId, il récupère lesGroupClassavec le nom et crée unGroupClassportant le même nom s'il est introuvable.- Si le service contient des
GroupClass.Name, incluez également desAccountIddans les données des membres. -
headerpourGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. -
Si le
GroupClass.Namedonné n'est pas valide, une erreur est renvoyée. Le service prend un nouveauquoteEffectiveDatede paramètre pour valider lesGroupClass. LaGroupClassest considérée comme valide si :-
GroupClassest lié au compte de groupe du membre. -
quoteEffectiveDatese situe entreGroupClassStartDateetEndDate. SiquoteEffectiveDaten'est pas fourni en tant que paramètre du service, cette validation est ignorée.
-
- Si le service contient des
-
Les services traitent les
PrimaryMemberSourcepour les personnes dépendantes avecPrimaryGroupCensusMemberId.-
Si le service contient à la fois
PrimaryMemberSourceetPrimaryGroupCensusMemberId, il prend en comptePrimaryGroupCensusMemberIdcomme source et met à jourPrimaryMemberSourcede dépendant pour inclureSourceSystemIdentifierprincipal.
-
-
Le service enregistre d'abord tous les membres principaux.
-
Il analyse les dépendants pour identifier les dépendants orphelins (dépendants sans
PrimaryMemberSource). -
Il enregistre toutes les personnes dépendantes valides.
-
Le service met à jour les
DependentCountde tous les membres principaux de la liste des membres.
updateMembers par ID
-
Le service analyse les données des membres avec les champs fournis dans
headers.headersdoit contenir toutes les métadonnées des champs utilisées dans la liste des membres. -
Les données
membersdoivent avoir un ID. Si l'ID est introuvable dans les données du membre, le service renvoie une erreur. -
Le service traite les nouveaux
GroupClass. Si le service contient desGroupClass.Nameau lieu deGroupClassId, il récupère lesGroupClassavec le nom et crée unGroupClassportant le même nom s'il est introuvable.- Si le service contient des
GroupClass.Name, incluez également desAccountIddans les données des membres. -
headerpourGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.
- Si le service contient des
-
Le service traite les
PrimaryGroupCensusMemberIdpour les personnes dépendantes avecPrimaryMemberSource.- Si vous fournissez des
PrimaryMemberSource, le service met également à jourPrimaryGroupCensusMemberId.
- Si vous fournissez des
-
Les services traitent les
PrimaryMemberSourcepour les personnes dépendantes avecPrimaryGroupCensusMemberId.-
Si le service contient à la fois
PrimaryMemberSourceetPrimaryGroupCensusMemberId, il prend en comptePrimaryGroupCensusMemberIdcomme source et met à jourPrimaryMemberSourcede dépendant pour inclureSourceSystemIdentifierprincipal.
-
-
Le service sauve tous les membres, y compris les personnes dépendantes.
-
Le service n'identifie pas les personnes dépendantes orphelines.
-
Le service met à jour les
DependentCountde tous les membres principaux de la liste des membres.
Options distantes
Option |
Description |
|---|---|
|
Obligatoire. ID du recensement avec les membres à mettre à jour. |
|
Obligatoire. Saisissez JSON avec les détails des membres à mettre à jour. |
updateById
|
Facultatif Si défini sur true, le service suit le flux La valeur par défaut est false. |
Comportement de service
Comprenez comment les différentes entrées affectent les sorties de service.
| Entrée | updateById | Sortie de service |
|---|---|---|
Non censusId |
true ou false | Le service renvoie une erreur : |
| Aucun JSON d'entrée de recensement | true ou false | Le service renvoie une erreur : The census input is missing. |
La valeur de PrimaryMemberSource fournie au membre principal |
false | Le service renvoie une erreur : The PrimaryMemberSource must be null for primary members. |
headers manquant dans le recensement des entrées |
true ou false | Le service renvoie une erreur : The header node is missing in the census input. |
members manquant dans le recensement des entrées |
true ou false | Le service renvoie une erreur : The members node is missing in the census input. |
| Pour les dépendants orphelins (les dépendants sans PrimaryMemberSource ou PrimaryGroupCensusMemberId) | false | Le service renvoie une erreur : Dependent has no primary member. |
| ID manquant dans les données des membres | True (vrai) | Le service renvoie une erreur : Specify Id of the census member. |
JSON d'entrée
Le JSON d'entrée inclut headers, qui répertorie les champs à mettre à jour, et members, qui répertorie les membres avec leurs paires champ-valeur correspondantes, y compris fieldId.
Exemple de JSON d'entrée (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"
}
]
}
}Exemple de JSON d'entrée (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 de sortie
Le service renvoie un message de réussite si le flux est terminé, sinon il renvoie l'erreur en cas d'exception.
-
censusMemberIds: La liste desGroupCensusMemberIdsde membres sauvés. -
erreurs : La liste des membres avec des erreurs. Chaque élément de liste comprend les données et les erreurs du membre d'entrée.
-
relatedFieldsUpdateSuccessCount: Nombre de membres principaux pour lesquels leDependentCountest mis à jour par service. -
relatedFieldsUpdateErrorCount: Nombre de membres principaux pour lesquels la mise à jour deDependentCountrenvoie des erreurs. -
relatedFieldsUpdateErrors: La liste des erreurs renvoyées lors de la mise à jour de laDependentCountdes membres principaux.
Exemple de JSON de sortie (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"
}Exemple de JSON de sortie - (mise à jourMembers par 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"
}