Loading
Forsikring
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

Brug denne tjeneste til at udfylde en gruppetælling med primære medlemmer, deres afhængige og deres plan, der er tilmeldt på forhånd. Denne tjeneste opdaterer eksisterende GroupCensusMember efter memberKey og opretter GroupCensusMemberPlan for eksisterende GroupCensusMember. Den bruger de ContractGroupPlans, der er angivet i input-JSON til at opdatere planer for hver GroupCensusMember.

Kategori: InsCensusService​​Std

Metode: updateMembersWithPlans

Sådan fungerer det

  1. Tjenesten overfører censusId og census-input-JSON for at opdatere medlemmer med planer.

  2. census JSON består af to lister - headers og members.

    1. headers er listen over felternes metadata, der består af fieldId, type, label og name. Her er navnet feltets API-navn (med navneområdet for den administrerede pakke og tilpassede felter). headers skal indeholde ContactGroupPlanId.

    2. members er listen over medlemmer, der skal opdateres i folketællingen. members skal indeholde ContactGroupPlanId adskilt med semikolon(;) for flere planer.

  3. Tjenesten kalder updateMembers by MemberKey for at gemme data om medlemmerne, parsing gennem medlemmerne i JSON-objektet.

  4. Tjenesten tilføjer isNewMember som true for alle nye medlemmer. Den udfylder også Id for hvert GroupCensusMember.

  5. Tjenesten ringer derefter til InsCensusServiceStd: addPlanSelections for at oprette GroupCensusMemberPlan for hvert medlem. Den accepterer også valgfri dækning pr. medlem, så primære medlemmer og afhængige er tilmeldt forskellige dækninger under den samme plan.

updateMembers by MemberKey (opdater medlemmer efter medlemsnøgle)

  1. Tjenesten parser medlemmernes data med felterne i headers. headers skal indeholde alle felternes metadata, der bruges på medlemmernes liste.

  2. Tjenesten adskiller primære medlemmer og afhængige medlemmer baseret på RelationshipToPrimaryMember.

    1. Hvis medlemslisten indeholder primære medlemmer og afhængige, skal inputtet have SourceSystemIdentifier for alle medlemmerne. Alle medlemmer skal have en unik SourceSystemIdentifier. Derudover skal alle afhængige have PrimaryMemberSource eller PrimaryGroupCensusMemberId (hvis det primære medlem allerede er til stede i folketællingen).

    2. Hvis listen er en kombination af primære og afhængige medlemmer, skal du sørge for, at alle afhængige medlemmer og primære medlemmer findes på medlemmernes liste.

  3. Tjenesten behandler nye GroupClass. Hvis tjenesten har GroupClass.Name i stedet for GroupClassId, henter den GroupClass med navnet og opretter en ny GroupClass med det samme navn, hvis den ikke findes.

    1. Hvis tjenesten har GroupClass.Name, skal du også inkludere AccountId i medlemmets data.
    2. header forGroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Hvis den angivne GroupClass er ugyldig, returneres der en fejl. GroupClass anses for gyldig, hvis:

      • GroupClass er linket til medlemmets gruppekonto.

      • Kontraktens ikrafttrædelsesperiode er mellem StartDate og EndDate af GroupClass.

      • Kontraktens StartDate og EndDate hentes ved brug af ContractId, der leveres som input til service

  4. Tjenesten behandler PrimaryMemberSource for afhængige med PrimaryGroupCensusMemberId.

    1. Hvis tjenesten har både PrimaryMemberSource og PrimaryGroupCensusMemberId, tager tjenesten PrimaryGroupCensusMemberId som kilde og opdaterer PrimaryMemberSource af afhængige til at indeholde SourceSystemIdentifier af primær.

  5. Tjenesten gemmer alle primære medlemmer først.

  6. Det parser afhængige for at identificere forældreløse afhængige (afhængige uden PrimaryMemberSource).

  7. Den gemmer alle gyldige afhængige.

  8. Tjenesten opdaterer DependentCount for alle primære medlemmer på medlemmernes liste.

Fjernindstillinger

Indstilling

Beskrivelse

censusId 

Påkrævet

Id for folketællingen med medlemmer, der skal opdateres.

Validerer, at contractId tilhører kontoen/optællingen.

census

Påkrævet.

Input JSON med detaljer for medlemmer, der skal opdateres.

contractId 

Påkrævet

Id for kontoens aktuelle kontrakt.

Validerer, at hvert medlems planer er del af kontrakten.

onlySaveMembersWithValidProducts

Boolesk

Hvis det er sandt, slettes nye medlemmer uden poster i GroupCensusMemberPlan.

duplicateKeys

Valgfrit

Liste over felter til generering af MemberKey for at identificere eksisterende medlemmer.

Standardfelter på listen: FirstName, Lastname, Email, GroupCensusId.

Input Serviceoutput
Nej censusId Tjenesten returnerer en fejl: Specify a censusId.

Ingen censusinput-JSON

Tjenesten returnerer en fejl: The census input is missing.

PrimaryMemberSource, der leveres til det primære medlem Tjenesten returnerer en fejl: The PrimaryMemberSource must be null for primary members.
headers mangler i Inputopgørelsen Tjenesten returnerer en fejl: The header node is missing in the census input.
members mangler i Inputopgørelsen Tjenesten returnerer en fejl: The members node is missing in the census input.
For afhængige forældreløse (afhængige uden PrimaryMemberSource eller PrimaryGroupCensusMemberId) Tjenesten returnerer en fejl: Dependent has no primary member.

Ingen contractId eller ugyldigt contractId

Tjenesten opdaterer ingen medlemsplan.

Ugyldig ContractGroupPlanId for den angivne kontrakt

Tjenesten opretter ingen medlemsplan.

Hvis onlySaveMembersWithValidProducts er sandt, og medlemmet er nyt, gør tjenesten følgende:

  • Sletter medlemmet uden nogen gyldige planer.
  • Opretter et medlem, hvis det har mindst en gyldig plan.
Ugyldig ContractGroupPlanId for medlemmet (på grund af framelding)

Medlemsplan er ikke oprettet

Hvis onlySaveMembersWithValidProducts er sandt, og medlemmet er nyt, gør tjenesten følgende:

  • Sletter medlemmet uden nogen gyldige planer.
  • Opretter et medlem, hvis det har mindst en gyldig plan.
Det primære medlem framelder sig en produkttype

IsOptOutAllPlans har forrang, efterfulgt af OptOutPlanTypes

  • Hvis IsOptOutAllPlans = true, opretter tjenesten ikke en medlemsplan, selvom du angiver et produkt til tilmelding.
  • Hvis IsOptOutAllPlans = false og et produkt er angivet til medlemstilmelding, men dets produkttype er den samme som frameldingsoplysningen, opretter tjenesten ikke en medlemsplan.

Hvis det primære medlem framelder sig en produkttype, framelder afhængige sig også denne produkttype.

Afhængigt medlem framelder sig en produkttype

IsOptOutAllPlans har forrang, efterfulgt af OptOutPlanTypes

  • Hvis IsOptOutAllPlans = true, opretter tjenesten ikke en medlemsplan, selvom du angiver et produkt til tilmelding.
  • Hvis IsOptOutAllPlans = false og et produkt er angivet til medlemstilmelding, men dets produkttype er den samme som frameldingsoplysningen, opretter tjenesten ikke en medlemsplan.

Hvis det primære medlem framelder sig en produkttype, framelder afhængige sig også denne produkttype.

Hvis IsOptOutAllPlans = true for et primært medlem, gælder det samme output for de tilknyttede afhængige.

Input JSON

Sådan ser formatet ud for input-JSON'en:

{
  "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"
      }
    ]
  }
}

Output JSON

Tjenesten returnerer succesmeddelelsen, hvis forløbet er fuldført, ellers returnerer den fejlen i tilfælde af eventuelle undtagelser.

  • censusMemberIds: Listen over GroupCensusMemberIds af gemte medlemmer.

  • fejl: Listen over medlemmer med fejl. Hvert listeelement består af inputmedlemsdata og fejl.

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: Antal primære medlemmer, som DependentCount opdateres efter service for.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Antal primære medlemmer, for hvilke DependentCount returnerer fejl.

  • relatedFieldsUpdateErrors: Listen over fejl, der blev returneret under opdatering af DependentCount af primære medlemmer.

  • memberPlanIds: Listen over indsatte GroupCensusMemberPlanIds.

{
  "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"
}
 
Indlæser
Salesforce Help | Article