Ti trovi qui:
InsCensusServiceStd:updateMembers
Utilizzare questo servizio per aggiornare i valori dei membri esistenti in un censimento.
Classe: InsCensusServiceStd
Metodo: updateMembers
Funzionamento
-
Questo servizio preleva i membri da un JSON di input e aggiorna il censimento (in base alla
censusIdspecificata) con i nuovi dati. -
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). -
membersè l'elenco dei membri da aggiornare nel censimento.
-
-
Il servizio cerca il campo
updateById. È un campo booleano che decide la linea di condotta del servizio. I membri possono essere aggiornati nei due modi seguenti:-
updateMembersdiMemberKeyQuesta opzione è applicabile quando il
updateByIdè false. I dati dei membri devono avere una chiave membro. -
updateMembersper ID diGroupCensusMemberQuesta opzione è applicabile quando
updateByIdè true. I dati dei membri devono avere un ID membro del censimento del gruppo.
-
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
GroupClass.Namespecificato non è valido, viene restituito un errore. Il servizio utilizza un nuovoquoteEffectiveDatedi parametri per convalidare iGroupClass. IlGroupClassè considerato valido se:-
GroupClassè collegato all'account del gruppo del membro. -
quoteEffectiveDatesi trova traGroupClassStartDateeEndDate. SequoteEffectiveDatenon viene fornito come parametro al servizio, questa convalida viene ignorata.
-
- 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.
updateMembers by Id (aggiornamembri per ID)
-
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. -
I dati di
membersdevono avere ID. Se l'ID non viene trovato nei dati dei membri, il servizio genera un errore. -
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 servizio dispone di
-
Il servizio elabora le
PrimaryGroupCensusMemberIdper le persone a carico conPrimaryMemberSource.- Se si forniscono
PrimaryMemberSource, il servizio aggiorna anche iPrimaryGroupCensusMemberId.
- Se si forniscono
-
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 tutti i membri, incluse le persone a carico.
-
Il servizio non identifica le persone a carico orfane.
-
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. |
|
Obbligatorio. JSON di input con i dettagli per i membri da aggiornare. |
updateById
|
Facoltativo Se impostato su true, il servizio segue il flusso Il valore predefinito è false. |
Comportamento del servizio
Di seguito viene descritto in che modo i diversi input influiscono sugli output del servizio.
| Input | updateById | Output del servizio |
|---|---|---|
No censusId |
vero o falso | Il servizio restituisce un errore: |
| Nessun input JSON del censimento | vero o falso | Il servizio restituisce un errore: The census input is missing. |
Il valore dei PrimaryMemberSource forniti al membro principale |
false | Il servizio restituisce un errore: The PrimaryMemberSource must be null for primary members. |
headers manca nel censimento degli input |
vero o falso | Il servizio restituisce un errore: The header node is missing in the census input. |
members manca nel censimento degli input |
vero o falso | Il servizio restituisce un errore: The members node is missing in the census input. |
| Per i dipendenti orfani (i dipendenti senza PrimaryMemberSource o PrimaryGroupCensusMemberId) | false | Il servizio restituisce un errore: Dependent has no primary member. |
| L'ID manca nei dati dei membri | true | Il servizio restituisce un errore: Specify Id of the census member. |
Input JSON
Il JSON di input include headers, che elenca i campi da aggiornare, e members, che elenca i membri con le coppie campo-valore corrispondenti, inclusi i fieldId.
JSON di input di esempio (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 di input di esempio (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 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'aggiornamentoDependentCountrestituisce errori. -
relatedFieldsUpdateErrors: Elenco degli errori restituiti durante l'aggiornamento deiDependentCountdei membri principali.
JSON di output di esempio (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 di output di esempio - (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"
}