Ti trovi qui:
InsCensusServiceStd:updateMembersWithPlans
Utilizzare questo servizio per compilare un censimento del gruppo con i membri principali, le persone a carico e il piano preiscritto. Questo servizio aggiorna i GroupCensusMember esistenti in base al memberKey e crea record GroupCensusMemberPlan per i record GroupCensusMember esistenti. Utilizza le ContractGroupPlans specificate nel JSON di input per aggiornare i piani per ogni GroupCensusMember.
Classe: InsCensusServiceStd
Metodo: updateMembersWithPlans
Funzionamento
-
Il servizio passa censusId e JSON di input del censimento per aggiornare i membri con i piani.
-
JSON censimento è costituito da due elenchi -
headersemembers.-
headersè l'elenco dei metadati dei campi composto dafieldId,type,labelename. Qui name è il Nome API del campo (con lo spazio dei nomi per i pacchetti gestiti e i campi personalizzati). Ilheadersdeve contenereContactGroupPlanId. -
membersè l'elenco dei membri da aggiornare nel censimento. Ilmembersdeve contenereContactGroupPlanIdseparati da punto e virgola(;) per più piani.
-
-
Il servizio chiama
updateMembersby MemberKey per salvare i dati sui membri, analizzandoli nell'oggetto JSON. -
Il servizio aggiunge
isNewMembercome true per tutti i nuovi membri. Compila anche l'ID per ogni GroupCensusMember. -
Il servizio chiama quindi
InsCensusServiceStd: addPlanSelectionsper creareGroupCensusMemberPlanper ogni membro. Accetta anche coperture facoltative per membro in modo che i membri principali e le persone a carico siano iscritti a coperture diverse nell'ambito dello stesso piano.
updateMembers by MemberKey
-
Il servizio analizza i dati dei membri con i campi forniti in
headers. Iheadersdevono contenere tutti i metadati dei campi utilizzati nell'elenco dei membri. -
Il servizio separa i membri principali dai membri dipendenti in base alle
RelationshipToPrimaryMember.-
Se l'elenco dei membri contiene membri principali e dipendenti, l'input deve avere
SourceSystemIdentifierper tutti i membri. Tutti i membri devono avere unSourceSystemIdentifierunivoco. Inoltre, tutte le persone a carico devono averePrimaryMemberSourceoPrimaryGroupCensusMemberId(se il membro principale è già presente nel censimento). -
Se l'elenco è una combinazione di membri principali e dipendenti, assicurarsi che ogni membro dipendente e membro principale esista nell'elenco dei membri.
-
-
Il servizio elabora i nuovi
GroupClass. Se il servizio haGroupClass.NameanzichéGroupClassId, recupera iGroupClasscon il nome e crea un nuovoGroupClasscon lo stesso nome se non viene trovato.- Se il servizio dispone di
GroupClass.Name, includere ancheAccountIdnei dati dei membri. -
headerperGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. -
Se il
GroupClassfornito non è valido, viene restituito un errore. IlGroupClassè considerato valido se:-
GroupClassè collegato all'account del gruppo del membro. -
Il periodo di validità del contratto è compreso tra
StartDateeEndDatediGroupClass. -
Il
StartDatee ilEndDatedel contratto vengono recuperati utilizzando iContractIdforniti come input per il servizio
-
- Se il servizio dispone di
-
I servizi elaborano le
PrimaryMemberSourceper le persone a carico conPrimaryGroupCensusMemberId.-
Se il servizio ha sia
PrimaryMemberSourcechePrimaryGroupCensusMemberId, il servizio consideraPrimaryGroupCensusMemberIdcome origine e aggiorna iPrimaryMemberSourcedei dipendenti in modo che contenganoSourceSystemIdentifierdei principali.
-
-
Il servizio salva per primi tutti i membri principali.
-
Analizza le persone a carico per identificare le persone a carico orfane (Persone a carico senza
PrimaryMemberSource). -
Salva tutti i dipendenti validi.
-
Il servizio aggiorna i
DependentCountdi tutti i membri principali nell'elenco dei membri.
Opzioni remote
Opzione |
Descrizione |
|---|---|
|
Obbligatorio ID del censimento con i membri da aggiornare. Verifica che il |
|
Obbligatorio. JSON di input con i dettagli per i membri da aggiornare. |
|
Obbligatorio ID del contratto corrente dell'account. Verifica che i piani di ogni membro facciano parte del contratto. |
|
Booleano Se true, i nuovi membri senza voci in |
|
Facoltativo Elenco di campi per la generazione di Campi predefiniti dell'elenco: |
| Input | Output del servizio |
|---|---|
No censusId |
Il servizio restituisce un errore: Specify a censusId. |
Nessun input JSON del censimento |
Il servizio restituisce un errore: |
Valore di PrimaryMemberSource fornito al membro principale |
Il servizio restituisce un errore: The PrimaryMemberSource must be null for primary members. |
headers manca nel censimento degli input |
Il servizio restituisce un errore: The header node is missing in the census input. |
members manca nel censimento degli input |
Il servizio restituisce un errore: The members node is missing in the census input. |
Per le persone orfane dipendenti (Le persone a carico senza PrimaryMemberSource o PrimaryGroupCensusMemberId) |
Il servizio restituisce un errore: Dependent has no primary member. |
Nessun contractId o contractId non valido |
Il servizio non aggiorna alcun piano membro. |
ContractGroupPlanId non valido per il contratto specificato |
Il servizio non crea alcun piano membro. Se
|
ContractGroupPlanId non valido per il membro (a causa del rifiuto esplicito) |
Il piano membro non viene creato Se
|
| Il membro principale sceglie di non utilizzare un tipo di prodotto |
Se il membro principale sceglie di non utilizzare un tipo di prodotto, anche i dipendenti scelgono di non utilizzare quel tipo di prodotto. |
| Membro dipendente sceglie di non utilizzare un tipo di prodotto |
Se il membro principale sceglie di non utilizzare un tipo di prodotto, anche i dipendenti scelgono di non utilizzare quel tipo di prodotto. Se |
Input JSON
Ecco come si presenta il formato per il JSON di input:
{
"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 di output
Il servizio restituisce un messaggio di esito positivo se il flusso è completato, altrimenti restituisce l'errore in caso di eccezioni.
-
censusMemberIds: L'elenco deiGroupCensusMemberIdsdei membri salvati. -
errori: L'elenco dei membri con errori. Ogni voce di elenco è costituita dai dati dei membri di input e dall'errore.
-
relatedFieldsUpdateSuccessCount: Numero di membri principali per cui ilDependentCountviene aggiornato in base al servizio. -
relatedFieldsUpdateErrorCount: Numero di membri principali per cui l'aggiornamento delDependentCountrestituisce errori. -
relatedFieldsUpdateErrors: Elenco degli errori restituiti durante l'aggiornamento deiDependentCountdei membri principali. -
memberPlanIds: L'elenco deiGroupCensusMemberPlanIdsinseriti correttamente.
{
"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"
}