Loading
Forsikring
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

Bruk denne tjenesten til å fylle ut en gruppetelling med primære medlemmer, deres avhengige og deres forhåndsinnmeldte plan. Denne tjenesten oppdaterer eksisterende GroupCensusMember etter memberKey og oppretter GroupCensusMemberPlan for eksisterende GroupCensusMember. Den bruker ContractGroupPlans angitt i inndata-JSON til å oppdatere planer for hver GroupCensusMember.

Klasse: InsCensusService​​Std

Metode: updateMembersWithPlans

Slik virker det

  1. Tjenesten overfører censusId og JSON-koden for telleringsinndata for å oppdatere medlemmer med planer.

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

    1. headers er en liste over feltets metadata som består av fieldId, type, label og name. Her er navnet feltets API-navn (med navneområdet for administrert pakke og tilpassede felt). headers må inneholde ContactGroupPlanId.

    2. members er listen over medlemmer som skal oppdateres i folketellingen. members må inneholde ContactGroupPlanId adskilt med semikolon(;) for flere plan.

  3. Tjenesten kaller opp updateMembers etter MemberKey for å lagre data om medlemmene, analysere gjennom medlemmene i JSON-objektet.

  4. Tjenesten legger til isNewMember som true for alle nye medlemmer. Den fyller også ut Id for hver GroupCensusMember.

  5. Tjenesten ringer deretter InsCensusServiceStd: addPlanSelections for å opprette GroupCensusMemberPlan for hvert medlem. Den godtar også valgfrie dekninger per medlem slik at primære medlemmer og avhengige blir registrert i forskjellige dekninger under samme plan.

updateMembers by MemberKey

  1. Tjenesten analyserer medlemmenes data med feltene i headers. headers må inneholde alle feltets metadata som brukes i medlemslisten.

  2. Tjenesten skiller primære medlemmer og avhengige medlemmer basert på RelationshipToPrimaryMember.

    1. Hvis medlemslisten inneholder primære medlemmer og avhengige, må inndataene ha SourceSystemIdentifier for alle medlemmene. Alle medlemmer må ha en unik SourceSystemIdentifier. I tillegg må alle avhengige ha PrimaryMemberSource eller PrimaryGroupCensusMemberId (hvis det primære medlemmet allerede er til stede i folketellingen).

    2. Hvis listen er en kombinasjon av primære og avhengige medlemmer, må du forsikre deg om at alle avhengige medlemmer og primære medlemmer finnes i medlemslisten.

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

    1. Hvis tjenesten har GroupClass.Name, inkluderer du også AccountId i medlemmenes data.
    2. header for GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Hvis den angitte GroupClass er ugyldig, returneres det en feil. GroupClass anses som gyldig hvis

      • GroupClass er knyttet til medlemmets gruppekonto.

      • Kontraktens gyldighetsperiode er mellom StartDate og EndDate av GroupClass.

      • Kontraktsens StartDate og EndDate hentes ved bruk av ContractId som leveres som inndata til tjenesten

  4. Tjenestene behandler PrimaryMemberSource for avhengige med PrimaryGroupCensusMemberId.

    1. Hvis tjenesten har både PrimaryMemberSource og PrimaryGroupCensusMemberId, vurderer tjenesten PrimaryGroupCensusMemberId som kilde og oppdaterer PrimaryMemberSource av avhengig til å inneholde SourceSystemIdentifier av primær.

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

  6. Den analyserer avhengige for å identifisere foreldreløse avhengige (avhengige uten PrimaryMemberSource).

  7. Den lagrer alle gyldige avhengige.

  8. Tjenesten oppdaterer DependentCount for alle primære medlemmer i medlemslisten.

Eksterne alternativer

Alternativ

Beskrivelse

censusId 

Obligatorisk

ID-en til folketellingen med medlemmer som skal oppdateres.

Validerer om contractId tilhører kontoen/oppføringen.

census

Obligatorisk.

Inndata-JSON-kode med detaljer om at medlemmer skal oppdateres.

contractId 

Obligatorisk

ID-en til kontoens gjeldende kontrakt.

Validerer om planene til hvert medlem er en del av kontrakten.

onlySaveMembersWithValidProducts

Boolsk

Hvis true, slettes nye medlemmer uten oppføringer i GroupCensusMemberPlan.

duplicateKeys

Valgfritt

Liste over felt for generering av MemberKey for å identifisere eksisterende medlemmer.

Standardfelt i listen: FirstName, Lastname, Email, GroupCensusId.

Inndata Tjenesteutdata
Nei censusId Tjenesten returnerer en feil: Specify a censusId.

Ingen JSON-kode for folketelling

Tjenesten returnerer en feil: The census input is missing.

PrimaryMemberSource som gis til primært medlem Tjenesten returnerer en feil: The PrimaryMemberSource must be null for primary members.
headers mangler i Inndatacensus Tjenesten returnerer en feil: The header node is missing in the census input.
members mangler i Inndatacensus Tjenesten returnerer en feil: The members node is missing in the census input.
For foreldreløse avhengige (avhengige uten PrimaryMemberSource eller PrimaryGroupCensusMemberId) Tjenesten returnerer en feil: Dependent has no primary member.

Ingen contractId eller ugyldig contractId

Tjenesten oppdaterer ingen medlemsplan.

Ugyldig ContractGroupPlanId for kontrakten angitt

Tjenesten oppretter ingen medlemsplan.

Hvis onlySaveMembersWithValidProducts er sann og medlemmet er nytt, gjør tjenesten følgende:

  • Sletter medlemmet uten gyldige planer.
  • Oppretter et medlem hvis det har minst én gyldig avtale.
Ugyldig ContractGroupPlanId for medlemmet (på grunn av reservasjon)

Medlemsplan opprettes ikke

Hvis onlySaveMembersWithValidProducts er sann og medlemmet er nytt, gjør tjenesten følgende:

  • Sletter medlemmet uten gyldige planer.
  • Oppretter et medlem hvis det har minst én gyldig avtale.
Det primære medlemmet velger bort en produkttype

IsOptOutAllPlans prioriteres, etterfulgt av OptOutPlanTypes

  • Hvis IsOptOutAllPlans = true, oppretter ikke tjenesten en medlemsplan selv om du angir et produkt for påmelding.
  • Hvis IsOptOutAllPlans = false og et produkt er angitt for medlemsregistrering, men produkttypen er den samme som reservasjonsoppføringen, oppretter ikke tjenesten en medlemsplan.

Hvis det primære medlemmet velger bort en produkttype, velger også de avhengige bort denne produkttypen.

Avhengig medlem velger bort en produkttype

IsOptOutAllPlans prioriteres, etterfulgt av OptOutPlanTypes

  • Hvis IsOptOutAllPlans = true, oppretter ikke tjenesten en medlemsplan selv om du angir et produkt for påmelding.
  • Hvis IsOptOutAllPlans = false og et produkt er angitt for medlemsregistrering, men hvis produkttypen er den samme som reservasjonsoppføringen, oppretter ikke tjenesten en medlemsplan.

Hvis det primære medlemmet velger bort en produkttype, velger også de avhengige bort denne produkttypen.

Hvis IsOptOutAllPlans = true for et primært medlem, gjelder samme utdata for de tilknyttede avhengige.

Inndata-JSON

Slik ser formatet ut for inndata-JSON-filen:

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

Utdata-JSON

Tjenesten returnerer meldingen om vellykket utførelse hvis flyten er fullført, ellers returnerer den feilen i tilfelle det oppstår unntak.

  • censusMemberIds: Listen over GroupCensusMemberIds av lagrede medlemmer.

  • feil: Listen over medlemmer med feil. Hvert listeelement består av inndata og feil.

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: Antall primære medlemmer som DependentCount oppdateres for etter tjeneste.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Antall primære medlemmer som DependentCount-oppdateringen returnerer feil for.

  • relatedFieldsUpdateErrors: Listen over feil som returneres ved oppdatering av DependentCount av primære medlemmer.

  • memberPlanIds: Listen over vellykket innsatte 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"
}
 
Laster
Salesforce Help | Article