Loading
Verzekering
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

Gebruik deze service om een groepstelling in te vullen met primaire leden, hun afhankelijke personen en hun vooraf ingeschreven plan. Deze service werkt bestaande GroupCensusMember memberKey bij en maakt GroupCensusMemberPlan voor bestaande GroupCensusMember. Het gebruikt de ContractGroupPlans die is opgegeven in de invoer-JSON om plannen voor elke GroupCensusMember bij te werken.

Klasse: InsCensusService​​Std

Methode: updateMembersWithPlans

De manier waarop het werkt...

  1. De service geeft censusId en censusinvoer-JSON door om leden met plannen bij te werken.

  2. census JSON bestaat uit twee lijsten - headers en members.

    1. headers is de lijst van metagegevens van velden die bestaat uit fieldId, type, label en name. Hier is de naam de API-naam van het veld (met de naamruimte voor beheerde pakketten en aangepaste velden). De headers moet ContactGroupPlanId. bevatten

    2. members is de lijst van leden die moeten worden bijgewerkt in de volkstelling. De members moet ContactGroupPlanId bevatten, gescheiden met een puntkomma(;) voor meerdere plannen.

  3. De service roept updateMembers door MemberKey aan om gegevens over de leden op te slaan, waarbij de leden worden geparseerd in het JSON-object.

  4. De service voegt isNewMember toe als true (waar) voor alle nieuwe leden. Het vult ook ID in voor elk GroupCensusMember.

  5. De service roept vervolgens InsCensusServiceStd: addPlanSelections aan om GroupCensusMemberPlan te maken voor elk lid. Het accepteert ook optionele dekkingen per lid, zodat primaire leden en personen ten laste worden geregistreerd bij verschillende dekkingen onder hetzelfde plan.

updateMembers by MemberKey

  1. De service parseert de gegevens van de leden met de velden die in headers zijn opgegeven. headers moet alle metagegevens van de velden bevatten die in de lijst van leden worden gebruikt.

  2. De service scheidt primaire leden en afhankelijke leden op basis van RelationshipToPrimaryMember.

    1. Als de ledenlijst primaire leden en afhankelijke personen bevat, moet de invoer SourceSystemIdentifier hebben voor alle leden. Alle leden moeten een unieke SourceSystemIdentifier hebben. Daarnaast moeten alle afhankelijke personen PrimaryMemberSource of PrimaryGroupCensusMemberId hebben (als het primaire lid al aanwezig is in de telling).

    2. Als de lijst een combinatie is van primaire en afhankelijke leden, zorgt u ervoor dat elk afhankelijk lid en elk primair lid voorkomt in de lijst van leden.

  3. De service verwerkt nieuwe GroupClass. Als de service GroupClass.Name in plaats van GroupClassId heeft, haalt deze GroupClass met de naam op en maakt een nieuwe GroupClass met dezelfde naam als deze niet wordt gevonden.

    1. Als de service GroupClass.Name heeft, neemt u ook AccountId op in de gegevens van de leden.
    2. header voor GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Als de opgegeven GroupClass ongeldig is, wordt er een fout geretourneerd. De GroupClass wordt als geldig beschouwd als:

      • GroupClass is gekoppeld aan de groepsaccount van het lid.

      • De geldigheidsperiode van het contract ligt tussen de StartDate en de EndDate van de GroupClass.

      • De StartDate en EndDate van het contract worden opgehaald met behulp van ContractId die zijn aangeleverd als invoer voor service

  4. De services verwerken PrimaryMemberSource voor afhankelijken met PrimaryGroupCensusMemberId.

    1. Als de service zowel PrimaryMemberSource als PrimaryGroupCensusMemberId heeft, beschouwt de service PrimaryGroupCensusMemberId als bron en werkt PrimaryMemberSource van afhankelijk bij om SourceSystemIdentifier van primair te bevatten.

  5. De service slaat eerst alle primaire leden op.

  6. Het parseert afhankelijken om weesafhankelijken (afhankelijken zonder PrimaryMemberSource) te identificeren.

  7. Hiermee worden alle geldige afhankelijken opgeslagen.

  8. De service werkt de DependentCount bij van alle primaire leden in de ledenlijst.

Externe opties

Optie

Beschrijving

censusId 

Verplicht

ID van de telling met bij te werken leden.

Valideert dat de contractId bij de account/telling hoort.

census

Verplicht.

Voer JSON in met details voor leden die moeten worden bijgewerkt.

contractId 

Verplicht

ID van het huidige contract van Account.

Valideert dat de plannen van elk lid deel uitmaken van het contract.

onlySaveMembersWithValidProducts

Booleaans

Indien true (waar), worden nieuwe leden zonder GroupCensusMemberPlan verwijderd.

duplicateKeys

Optioneel

Lijst van velden voor het genereren van MemberKey om bestaande leden te identificeren.

Standaardvelden in de lijst: FirstName, Lastname, Email, GroupCensusId.

Invoer Service-uitvoer
Nee censusId De service retourneert een fout: Specify a censusId.

Geen volkstellingsinvoer-JSON

De service retourneert een fout: The census input is missing.

PrimaryMemberSource aan primaire lid De service retourneert een fout: The PrimaryMemberSource must be null for primary members.
headers ontbreekt in Invoertelling De service retourneert een fout: The header node is missing in the census input.
members ontbreekt in Invoertelling De service retourneert een fout: The members node is missing in the census input.
Voor weeskinderen (De afhankelijken zonder PrimaryMemberSource of PrimaryGroupCensusMemberId) De service retourneert een fout: Dependent has no primary member.

Geen contractId of ongeldige contractId

De service werkt geen ledenplan bij.

Ongeldige ContractGroupPlanId voor het opgegeven contract

De service maakt geen ledenplan.

Als onlySaveMembersWithValidProducts true (waar) is en het lid nieuw is, doet de service het volgende:

  • Verwijdert het lid zonder geldige plannen.
  • Maakt een lid als het minstens één geldig plan heeft.
Ongeldige ContractGroupPlanId voor het lid (vanwege afmelding)

Ledenplan wordt niet gemaakt

Als onlySaveMembersWithValidProducts true (waar) is en het lid nieuw is, doet de service het volgende:

  • Verwijdert het lid zonder geldige plannen.
  • Maakt een lid als het minstens één geldig plan heeft.
Het primaire lid meldt zich af voor een producttype

IsOptOutAllPlans heeft prioriteit, gevolgd door OptOutPlanTypes

  • Als IsOptOutAllPlans = true (waar), maakt de service geen ledenplan, zelfs niet als u een product opgeeft voor registratie.
  • Als IsOptOutAllPlans = false (onwaar) en er een product is opgegeven voor lidregistratie, maar het producttype ervan hetzelfde is als het afmeldingsgegeven, maakt de service geen ledenplan.

Als het primaire lid zich afmeldt voor een producttype, melden de afhankelijken zich ook af voor dat producttype.

Afhankelijk lid meldt zich af voor een producttype

IsOptOutAllPlans heeft prioriteit, gevolgd door OptOutPlanTypes

  • Als IsOptOutAllPlans = true (waar), maakt de service geen ledenplan, zelfs niet als u een product opgeeft voor registratie.
  • Als IsOptOutAllPlans = false (onwaar) en er een product is opgegeven voor lidregistratie, maar als het producttype ervan hetzelfde is als het afmeldingsgegeven, maakt de service geen ledenplan.

Als het primaire lid zich afmeldt voor een producttype, melden de afhankelijken zich ook af voor dat producttype.

Als IsOptOutAllPlans = true (waar) is voor een primair lid, is dezelfde uitvoer van toepassing op de gekoppelde afhankelijken.

Invoer-JSON

Zo ziet de indeling eruit voor de invoer-JSON:

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

Uitvoer-JSON

De service retourneert het succesbericht als de stroom is voltooid, anders retourneert deze de fout in geval van uitzonderingen.

  • censusMemberIds: De lijst van GroupCensusMemberIds van opgeslagen leden.

  • fouten: De lijst van leden met fouten. Elk lijstitem bestaat uit invoerlidgegevens en fouten.

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: Aantal primaire leden voor wie de DependentCount wordt bijgewerkt door service.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Aantal primaire leden waarvoor de DependentCount fouten retourneert.

  • relatedFieldsUpdateErrors: De lijst van fouten die worden geretourneerd tijdens het bijwerken van DependentCount van primaire leden.

  • memberPlanIds: De lijst van met succes ingevoegde 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"
}
 
Wordt geladen
Salesforce Help | Article