Loading
Insurance
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

Utilisez ce service pour mettre à jour les valeurs des membres existants dans un recensement.

Classe: InsCensusServiceStd​​

Méthode : updateMembers

Fonctionnement

  1. Ce service récupère les membres à partir d'un JSON d'entrée et met à jour le recensement (selon le censusId donné) avec les nouvelles données.

  2. Le JSON de recensement comprend deux listes - headers et members.

    1. 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).

    2. members est la liste des membres à mettre à jour dans le recensement.

  3. Le service recherche le champ updateById. C'est un champ booléen qui détermine la ligne de conduite du service. Les membres peuvent être mis à jour de deux façons :

    1. updateMembers par MemberKey

      Cette option est applicable lorsque updateById est false. Les données des membres doivent avoir une clé de membre.

    2. updateMembers par ID de GroupCensusMember

      Cette option est applicable lorsque updateById est true. Les données des membres doivent avoir un ID de membre du recensement du groupe.

updateMembers par MemberKey

  1. Le service analyse les données des membres avec les champs fournis dans headers. headers doit contenir toutes les métadonnées des champs utilisées dans la liste des membres.

  2. Le service sépare les membres principaux et les membres dépendants en fonction de leur RelationshipToPrimaryMember.

    1. Si la liste des membres contient des membres principaux et des personnes dépendantes, l'entrée doit avoir des SourceSystemIdentifier pour tous les membres. Tous les membres doivent avoir un SourceSystemIdentifier unique. De plus, toutes les personnes à charge doivent avoir un PrimaryMemberSource ou un PrimaryGroupCensusMemberId (si le membre principal est déjà présent au recensement).

    2. 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.

  3. Le service traite les nouveaux GroupClass. Si le service contient des GroupClass.Name au lieu de GroupClassId, il récupère les GroupClass avec le nom et crée un GroupClass portant le même nom s'il est introuvable.

    1. Si le service contient des GroupClass.Name, incluez également des AccountId dans les données des membres.
    2. header pour GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Si le GroupClass.Name donné n'est pas valide, une erreur est renvoyée. Le service prend un nouveau quoteEffectiveDate de paramètre pour valider les GroupClass. La GroupClass est considérée comme valide si :

      • GroupClass est lié au compte de groupe du membre.

      • quoteEffectiveDate se situe entre GroupClass StartDate et EndDate. Si quoteEffectiveDate n'est pas fourni en tant que paramètre du service, cette validation est ignorée.

  4. Les services traitent les PrimaryMemberSource pour les personnes dépendantes avec PrimaryGroupCensusMemberId.

    1. Si le service contient à la fois PrimaryMemberSource et PrimaryGroupCensusMemberId, il prend en compte PrimaryGroupCensusMemberId comme source et met à jour PrimaryMemberSource de dépendant pour inclure SourceSystemIdentifier principal.

  5. Le service enregistre d'abord tous les membres principaux.

  6. Il analyse les dépendants pour identifier les dépendants orphelins (dépendants sans PrimaryMemberSource).

  7. Il enregistre toutes les personnes dépendantes valides.

  8. Le service met à jour les DependentCount de tous les membres principaux de la liste des membres.

updateMembers par ID

  1. Le service analyse les données des membres avec les champs fournis dans headers. headers doit contenir toutes les métadonnées des champs utilisées dans la liste des membres.

  2. Les données members doivent avoir un ID. Si l'ID est introuvable dans les données du membre, le service renvoie une erreur.

  3. Le service traite les nouveaux GroupClass. Si le service contient des GroupClass.Name au lieu de GroupClassId, il récupère les GroupClass avec le nom et crée un GroupClass portant le même nom s'il est introuvable.

    1. Si le service contient des GroupClass.Name, incluez également des AccountId dans les données des membres.
    2. header pour GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

  4. Le service traite les PrimaryGroupCensusMemberId pour les personnes dépendantes avec PrimaryMemberSource.

    1. Si vous fournissez des PrimaryMemberSource, le service met également à jour PrimaryGroupCensusMemberId.
  5. Les services traitent les PrimaryMemberSource pour les personnes dépendantes avec PrimaryGroupCensusMemberId.

    1. Si le service contient à la fois PrimaryMemberSource et PrimaryGroupCensusMemberId, il prend en compte PrimaryGroupCensusMemberId comme source et met à jour PrimaryMemberSource de dépendant pour inclure SourceSystemIdentifier principal.

  6. Le service sauve tous les membres, y compris les personnes dépendantes.

  7. Le service n'identifie pas les personnes dépendantes orphelines.

  8. Le service met à jour les DependentCount de tous les membres principaux de la liste des membres.

Options distantes

Option

Description

censusId

Obligatoire.

ID du recensement avec les membres à mettre à jour.

census

Obligatoire.

Saisissez JSON avec les détails des membres à mettre à jour.

updateById

Facultatif

Si défini sur true, le service suit le flux updateMembers par ID.

La valeur par défaut est false.

Comportement de service

Comprenez comment les différentes entrées affectent les sorties de service.

Entrée updateById Sortie de service
Non censusId true ou false

Le service renvoie une erreur : Specify a censusId.

Aucun JSON d'entrée de recensement true ou false Le service renvoie une erreur : The census input is missing.
La valeur de PrimaryMemberSource fournie au membre principal false Le service renvoie une erreur : The PrimaryMemberSource must be null for primary members.
headers manquant dans le recensement des entrées true ou false Le service renvoie une erreur : The header node is missing in the census input.
members manquant dans le recensement des entrées true ou false Le service renvoie une erreur : The members node is missing in the census input.
Pour les dépendants orphelins (les dépendants sans PrimaryMemberSource ou PrimaryGroupCensusMemberId) false Le service renvoie une erreur : Dependent has no primary member.
ID manquant dans les données des membres True (vrai) Le service renvoie une erreur : Specify Id of the census member.

JSON d'entrée

Le JSON d'entrée inclut headers, qui répertorie les champs à mettre à jour, et members, qui répertorie les membres avec leurs paires champ-valeur correspondantes, y compris fieldId.

Exemple de JSON d'entrée (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"
      }
    ]
  }
}

Exemple de JSON d'entrée (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 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 des GroupCensusMemberIds de 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 le DependentCount est mis à jour par service.

  • ​ ​ ​ relatedFieldsUpdateErrorCount : Nombre de membres principaux pour lesquels la mise à jour de DependentCount renvoie des erreurs.

  • relatedFieldsUpdateErrors : La liste des erreurs renvoyées lors de la mise à jour de la DependentCount des membres principaux.

Exemple de JSON de sortie (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"
}

Exemple de JSON de sortie - (mise à jourMembers par 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"
}
 
Chargement
Salesforce Help | Article