Vous êtes ici :
InsCensusServiceStd:addMembers
Utilisez ce service pour ajouter des membres à un recensement de groupe en utilisant un JSON d'entrée.
Classe: InsCensusServiceStd
Méthode : addMembers
Fonctionnement
Le service prend les membres dans le JSON d'entrée du recensement et les ajoute au censusId donné. Il renvoie la liste des ID des membres ajoutés ( censusMemberIds ).
Le service analyse les données du membre.
Analyse les données des membres avec les champs fournis dans les en-têtes. Les en-têtes doivent contenir toutes les métadonnées des champs utilisées dans la liste des membres.
Sépare les membres principaux et les membres dépendants par
RelationshipToPrimaryMember. Si la liste des membres contient des membres principaux et des personnes dépendantes, l'entrée doit avoir desSourceSystemIdentifierpour tous les membres. Tous les membres doivent avoir unSourceSystemIdentifierunique. De plus, toutes les personnes dépendantes doivent avoir desPrimaryMemberSourceouPrimaryGroupCensusMemberId(si le membre principal est déjà présent au recensement).Génère des
MemberKey.Traite les nouveaux
GroupClass. Si laGroupClass.Nameest donnée au service au lieu de laGroupClassId, le service récupère laGroupClassavec le nom et crée unGroupClassportant le même nom s'il est introuvable. L'en-tête deGroupClass.Name est {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Si leGroupClass.Namedonné n'est pas valide, une erreur est renvoyée. Le service utilise un nouveauquoteEffectiveDatede paramètre pour valider lesGroupClass. LaGroupClassest considérée comme valide si :Remarque SiGroupClass.Nameest fourni, incluez égalementAccountIddans les données des membres.GroupClassest lié au compte de groupe du membre.quoteEffectiveDatese situe entreGroupClassStartDateetEndDate. SiquoteEffectiveDaten'est pas donné en tant que paramètre de service, cette validation est ignorée.
Traite les
PrimaryMemberSourcepour les personnes dépendantes avecPrimaryGroupCensusMemberId. SiPrimaryMemberSourceetPrimaryGroupCensusMemberIdsont fournis dans les données des membres, le service consommePrimaryGroupCensusMemberIden tant que source et met à jour laPrimaryMemberSourcede dépendant pour inclure laSourceSystemIdentifierprincipale.
Enregistre tous les membres principaux. Le service utilise
MemberKeypour identifier les doublons. En cas de membre dupliqué, le service met à jour les champs de ce membre préexistant. LaMemberKeydoit être une combinaison unique de chaînes.Analyse les dépendants pour identifier les dépendants orphelins (dépendants sans
PrimaryMemberSource).Enregistre toutes les personnes dépendantes valides. Le service utilise
MemberKeypour identifier les doublons. Dans un enregistrement de membre dupliqué, le service met à jour les champs de ce membre préexistant au lieu de créer un enregistrement.Met à jour les
DependentCountde tous les membres principaux dans la liste des membres.
Comportement de service
Comprenez comment les différentes entrées affectent les sorties de service.
| Entrée | Sortie de service |
|---|---|
Non censusId |
Le service renvoie une erreur : Specify a censusId. |
| Aucun JSON d'entrée de recensement | Le service renvoie une erreur : The census input is missing. |
Valeur de PrimaryMemberSource fournie au membre principal |
Le service renvoie une erreur : The PrimaryMemberSource must be null for primary members. |
headers manquant dans le recensement des entrées |
Le service renvoie une erreur : The header node is missing in the census input. |
members manquant dans le recensement des entrées |
Le service renvoie une erreur : The members node is missing in the census input. |
Pour les dépendants orphelins (les dépendants sans PrimaryMemberSource ni PrimaryGroupCensusMemberId) |
Le service renvoie une erreur : Dependent has no primary member. |
Options distantes
Option |
Description |
|---|---|
|
Obligatoire. ID du recensement du groupe auquel ajouter des membres. |
|
Obligatoire. Entrée JSON des membres à ajouter. Le JSON de recensement se compose de deux listes - en-têtes et membres. headers est la liste des métadonnées des champs comprenant fieldId, type, label et name. Voici le nom d'API du champ (avec l'espace de noms des champs de package géré et personnalisés). members est la liste des membres à ajouter au recensement. |
duplicateKey
|
Facultatif. Liste de champs pour générer des |
JSON d'entrée
Le JSON d'entrée est composé de deux listes - en-têtes et membres. headers est la liste des métadonnées des champs comprenant fieldId, type, label et name. Voici le nom d'API du champ (avec l'espace de noms des champs de package géré et personnalisés). members est la liste des membres à ajouter au recensement.
{
"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 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.
{
"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"
}