Loading
Assicurazioni
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

Utilizzare questo servizio per aggiornare i valori dei membri esistenti in un censimento.

Classe: InsCensusServiceStd​​

Metodo: updateMembers

Funzionamento

  1. Questo servizio preleva i membri da un JSON di input e aggiorna il censimento (in base alla censusId specificata) con i nuovi dati.

  2. JSON censimento è costituito da due elenchi - headers e members.

    1. headers è l'elenco dei metadati dei campi composto da fieldId, type, label e name. Qui name è il Nome API del campo (con lo spazio dei nomi per i pacchetti gestiti e i campi personalizzati).

    2. members è l'elenco dei membri da aggiornare nel censimento.

  3. 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:

    1. updateMembers di MemberKey

      Questa opzione è applicabile quando il updateById è false. I dati dei membri devono avere una chiave membro.

    2. updateMembers per ID di GroupCensusMember

      Questa opzione è applicabile quando updateById è true. I dati dei membri devono avere un ID membro del censimento del gruppo.

updateMembers by MemberKey

  1. Il servizio analizza i dati dei membri con i campi forniti in headers. I headers devono contenere tutti i metadati dei campi utilizzati nell'elenco dei membri.

  2. Il servizio separa i membri principali dai membri dipendenti in base alle RelationshipToPrimaryMember.

    1. Se l'elenco dei membri contiene membri principali e dipendenti, l'input deve avere SourceSystemIdentifier per tutti i membri. Tutti i membri devono avere un SourceSystemIdentifier univoco. Inoltre, tutte le persone a carico devono avere PrimaryMemberSource o PrimaryGroupCensusMemberId (se il membro principale è già presente nel censimento).

    2. Se l'elenco è una combinazione di membri principali e dipendenti, assicurarsi che ogni membro dipendente e membro principale esista nell'elenco dei membri.

  3. Il servizio elabora i nuovi GroupClass. Se il servizio ha GroupClass.Name anziché GroupClassId, recupera i GroupClass con il nome e crea un nuovo GroupClass con lo stesso nome se non viene trovato.

    1. Se il servizio dispone di GroupClass.Name, includere anche AccountId nei dati dei membri.
    2. header per GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Se il GroupClass.Name specificato non è valido, viene restituito un errore. Il servizio utilizza un nuovo quoteEffectiveDate di parametri per convalidare i GroupClass. Il GroupClass è considerato valido se:

      • GroupClass è collegato all'account del gruppo del membro.

      • quoteEffectiveDate si trova tra GroupClass StartDate e EndDate. Se quoteEffectiveDate non viene fornito come parametro al servizio, questa convalida viene ignorata.

  4. I servizi elaborano le PrimaryMemberSource per le persone a carico con PrimaryGroupCensusMemberId.

    1. Se il servizio ha sia PrimaryMemberSource che PrimaryGroupCensusMemberId, il servizio considera PrimaryGroupCensusMemberId come origine e aggiorna i PrimaryMemberSource dei dipendenti in modo che contengano SourceSystemIdentifier dei principali.

  5. Il servizio salva per primi tutti i membri principali.

  6. Analizza le persone a carico per identificare le persone a carico orfane (Persone a carico senza PrimaryMemberSource).

  7. Salva tutti i dipendenti validi.

  8. Il servizio aggiorna i DependentCount di tutti i membri principali nell'elenco dei membri.

updateMembers by Id (aggiornamembri per ID)

  1. Il servizio analizza i dati dei membri con i campi forniti in headers. I headers devono contenere tutti i metadati dei campi utilizzati nell'elenco dei membri.

  2. I dati di members devono avere ID. Se l'ID non viene trovato nei dati dei membri, il servizio genera un errore.

  3. Il servizio elabora i nuovi GroupClass. Se il servizio ha GroupClass.Name anziché GroupClassId, recupera i GroupClass con il nome e crea un nuovo GroupClass con lo stesso nome se non viene trovato.

    1. Se il servizio dispone di GroupClass.Name, includere anche AccountId nei dati dei membri.
    2. header per GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

  4. Il servizio elabora le PrimaryGroupCensusMemberId per le persone a carico con PrimaryMemberSource.

    1. Se si forniscono PrimaryMemberSource, il servizio aggiorna anche i PrimaryGroupCensusMemberId.
  5. I servizi elaborano le PrimaryMemberSource per le persone a carico con PrimaryGroupCensusMemberId.

    1. Se il servizio ha sia PrimaryMemberSource che PrimaryGroupCensusMemberId, il servizio considera PrimaryGroupCensusMemberId come origine e aggiorna i PrimaryMemberSource dei dipendenti in modo che contengano SourceSystemIdentifier dei principali.

  6. Il servizio salva tutti i membri, incluse le persone a carico.

  7. Il servizio non identifica le persone a carico orfane.

  8. Il servizio aggiorna i DependentCount di tutti i membri principali nell'elenco dei membri.

Opzioni remote

Opzione

Descrizione

censusId

Obbligatorio.

ID del censimento con i membri da aggiornare.

census

Obbligatorio.

JSON di input con i dettagli per i membri da aggiornare.

updateById

Facoltativo

Se impostato su true, il servizio segue il flusso updateMembers per ID.

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: Specify a censusId.

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 dei GroupCensusMemberIds dei 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 il DependentCount viene aggiornato in base al servizio.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Numero di membri principali per cui l'aggiornamento DependentCount restituisce errori.

  • relatedFieldsUpdateErrors: Elenco degli errori restituiti durante l'aggiornamento dei DependentCount dei 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"
}
 
Caricamento
Salesforce Help | Article