Vous êtes ici :
InsCensusServiceStd:updateMembersWithPlans
Utilisez ce service pour remplir un recensement de groupe avec les membres principaux, leurs personnes à charge et leur plan pré-inscrit. Ce service met à jour les GroupCensusMember existants par memberKey et crée des enregistrements GroupCensusMemberPlan pour les enregistrements GroupCensusMember existants. Il utilise le ContractGroupPlans spécifié dans le JSON d'entrée pour mettre à jour les plans de chaque GroupCensusMember.
Classe: InsCensusServiceStd
Méthode : updateMembersWithPlans
Fonctionnement
-
Le service transmet censusId et census input JSON pour mettre à jour les membres avec des plans.
-
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). Leheadersdoit contenir desContactGroupPlanId. -
membersest la liste des membres à mettre à jour dans le recensement. Lemembersdoit contenir desContactGroupPlanIdséparés par un point-virgule(;) pour plusieurs plans.
-
-
Le service appelle
updateMemberspar MemberKey pour enregistrer les données des membres, en analysant les membres dans l'objet JSON. -
Le service ajoute la
isNewMembertrue pour tous les nouveaux membres. Il remplit également l'ID de chaque GroupCensusMember. -
Le service appelle ensuite
InsCensusServiceStd: addPlanSelectionspour créer desGroupCensusMemberPlanpour chaque membre. Il accepte également des couvertures facultatives par participant afin que les participants principaux et les personnes à charge soient inscrits à différentes couvertures dans le même régime.
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
GroupClassfourni n'est pas valide, une erreur est renvoyée. LaGroupClassest considérée comme valide si :-
GroupClassest lié au compte de groupe du membre. -
La période effective du contrat est comprise entre la
StartDateet laEndDatedeGroupClass. -
Les
StartDateetEndDatedu contrat sont récupérés en utilisant desContractIdfournis en entrée de service
-
- 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.
Options distantes
Option |
Description |
|---|---|
|
Obligatoire ID du recensement avec les membres à mettre à jour. Confirme que le |
|
Obligatoire. Saisissez JSON avec les détails des membres à mettre à jour. |
|
Obligatoire ID du contrat actuel du compte. Confirme que les plans de chaque membre font partie du contrat. |
|
Booléen Si true, les nouveaux membres sans entrée dans |
|
Facultatif Liste de champs de génération de Champs par défaut de la liste : |
| 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 : |
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. |
Aucun contractId ou contractId non valide |
Le service ne met à jour aucun plan de membre. |
ContractGroupPlanId non valide pour le contrat spécifié |
Le service ne crée aucun plan de membre. Si
|
ContractGroupPlanId non valide pour le membre (en raison d'un désabonnement) |
Le plan de membre n'est pas créé Si
|
| Le membre principal se désabonne d'un type de produit | La
Si le membre principal se désabonne d'un type de produit, les personnes dépendantes se désabonnent également de ce type de produit. |
| Un membre dépendant se désabonne d'un type de produit | La
Si le membre principal se désabonne d'un type de produit, les personnes dépendantes se désabonnent également de ce type de produit. Si |
JSON d'entrée
Voici à quoi ressemble le format du JSON d'entrée :
{
"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 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 d'organes principaux pour lesquels la mise à jourDependentCountrenvoie des erreurs. -
relatedFieldsUpdateErrors: La liste des erreurs renvoyées lors de la mise à jour de laDependentCountdes membres principaux. -
memberPlanIds: La liste desGroupCensusMemberPlanIdsinsérés avec succès.
{
"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"
}