Loading
Vakuutus
InsCensusServiceStd:updateMembersWithPlans

InsCensusServiceStd:updateMembersWithPlans

Käytä tätä palvelua täyttääksesi ryhmän määrän ensisijaisilla jäsenillä, heidän alaisillaan ja heidän rekisteröityneillä suunnitelmillaan. Tämä palvelu päivittää olemassa olevat GroupCensusMember memberKey mukaan ja luo olemassa oleville GroupCensusMember-tietueille GroupCensusMemberPlan-tietueet. Se käyttää input JSON-tiedostossa määritettyä ContractGroupPlans päivittääkseen suunnitelmat jokaiselle GroupCensusMember.

Luokka: InsCensusService​​Std

Metodi: updateMembersWithPlans

Miten se toimii?

  1. Palvelu välittää censusId- ja census input JSON -tiedoston päivittääkseen jäseniä suunnitelmilla.

  2. census JSON koostuu kahdesta luettelosta - headers ja members.

    1. headers on kenttien metadatan luettelo, joka koostuu fieldId, type, label ja name. Tämä nimi on kentän API-nimi (hallitun paketin ja mukautettujen kenttien nimitila). headers täytyy sisältää ContactGroupPlanId.

    2. members on luettelo jäsenteessä päivitettävistä jäsenistä. members täytyy sisältää ContactGroupPlanId, jotka on erotettu puolipisteellä(;) useille suunnitelmille.

  3. Palvelu kutsuu jäseniä updateMembers by MemberKey tallentaakseen jäseniä koskevia tietoja JSON-objektin jäsenten kautta.

  4. Palvelu lisää isNewMember arvoksi true kaikille uusille jäsenille. Se täyttää myös kunkin GroupCensusMember-jäsenen tunnuksen.

  5. Sen jälkeen palvelu kutsuu InsCensusServiceStd: addPlanSelections luomaan jokaiselle jäsenelle GroupCensusMemberPlan. Se hyväksyy myös valinnaisia kattavuuksia per jäsen, jotta ensisijaiset jäsenet ja alaiset ovat rekisteröityneet eri kattavuuksiin saman suunnitelman perusteella.

updateMembers MemberKey-arvon perusteella

  1. Palvelu jäsentää jäsenten tiedot headers-kentässä määritettyjen kenttien avulla. headers täytyy sisältää kaikki jäsenten luettelossa käytettyjen kenttien metadata.

  2. Palvelu erottaa ensisijaiset jäsenet ja sidonnaiset jäsenet toisistaan RelationshipToPrimaryMember perusteella.

    1. Jos jäsenten luettelo sisältää ensisijaisia jäseniä ja sidonnaisia, input-arvona täytyy olla kaikkien jäsenten SourceSystemIdentifier. Kaikilla jäsenillä täytyy olla yksilöllinen SourceSystemIdentifier. Lisäksi kaikilla huolletuilla täytyy olla PrimaryMemberSource tai PrimaryGroupCensusMemberId (jos ensisijainen jäsen on jo läsnä väestönlaskennassa).

    2. Jos luettelo on ensisijaisten ja sidonnaisten jäsenten yhdistelmä, varmista, että kaikki sidonnaiset jäsenet ja ensisijaiset jäsenet ovat olemassa jäsenten luettelossa.

  3. Palvelu käsittelee uudet GroupClass. Jos palvelulla on GroupClass.Name GroupClassId sijaan, se noutaa nimen sisältävän GroupClass ja luo uuden samannimisen GroupClass, jos sitä ei löydy.

    1. Jos palvelulla on GroupClass.Name, sisällytä myös AccountId jäsenten tietoihin.
    2. header GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Jos annettu GroupClass on virheellinen, virhe palautetaan. GroupClass katsotaan kelvolliseksi, jos:

      • GroupClass on linkitetty jäsenen ryhmätiliin.

      • Sopimuksen voimassaoloaika on välillä StartDate ja EndDate GroupClass.

      • Sopimuksen StartDate ja EndDate noudetaan käyttämällä palveluun syötettäviä ContractId

  4. Palvelut käsittelevät PrimaryGroupCensusMemberId-henkilöiden PrimaryMemberSource.

    1. Jos palvelulla on sekä PrimaryMemberSource että PrimaryGroupCensusMemberId, palvelu huomioi lähteenä PrimaryGroupCensusMemberId ja päivittää sidonnaisten PrimaryMemberSource sisältämään ensisijaisen SourceSystemIdentifier.

  5. Palvelu tallentaa kaikki ensisijaiset jäsenet ensin.

  6. Se jäsentää huollettavia tunnistaakseen orpoja huollettavia (huollettavia ilman PrimaryMemberSource).

  7. Se tallentaa kaikki kelvolliset sidonnaiset.

  8. Palvelu päivittää jäsenluettelossa olevien kaikkien ensisijaisten jäsenten DependentCount.

Etäasetukset

Vaihtoehto

Kuvaus

censusId 

Pakollinen

Päivitettävän väestönlaskun tunnus.

Vahvistaa, että contractId kuuluu tiliin/luetteloon.

census

Pakollinen.

Syötä JSON, joka sisältää lisätietoja jäsenille, jotka päivitetään.

contractId 

Pakollinen

Tilin tämänhetkisen sopimuksen tunnus.

Vahvistaa, että kunkin jäsenen suunnitelmat ovat osa sopimusta.

onlySaveMembersWithValidProducts

Totuusarvo

Jos arvo on true, uudet jäsenet, joilla ei ole merkintöjä GroupCensusMemberPlan-kenttään, poistetaan.

duplicateKeys

Valinnainen

Luettelo kentistä, joilla voidaan luoda MemberKey olemassa olevien jäsenten tunnistamiseksi.

Oletusarvoiset kentät luettelossa: FirstName, Lastname, Email, GroupCensusId.

Input Palvelun output
Ei censusId Palvelu palauttaa virheen: Specify a censusId.

Ei kyselyn syöttämää JSON-tiedostoa

Palvelu palauttaa virheen: The census input is missing.

Ensisijaiselle jäsenelle annettu PrimaryMemberSource-arvo Palvelu palauttaa virheen: The PrimaryMemberSource must be null for primary members.
headers puuttuu Input-kyselyssä Palvelu palauttaa virheen: The header node is missing in the census input.
members puuttuu Input-kyselyssä Palvelu palauttaa virheen: The members node is missing in the census input.
Orpojen huollettaville (huollettaville, joilla ei ole PrimaryMemberSource tai PrimaryGroupCensusMemberId) Palvelu palauttaa virheen: Dependent has no primary member.

Ei contractId tai virheellinen contractId

Palvelu ei päivitä jäsensuunnitelmaa.

Määritetyn sopimuksen virheellinen ContractGroupPlanId

Palvelu ei luo jäsensuunnitelmaa.

Jos onlySaveMembersWithValidProducts on tosi ja jäsen on uusi, palvelu suorittaa seuraavat toimet:

  • Poistaa jäsenen, jolla ei ole kelvollisia suunnitelmia.
  • Luo jäsenen, jos sillä on vähintään yksi kelvollinen suunnitelma.
Jäsenen virheellinen ContractGroupPlanId (tilauksen perumisen vuoksi)

Jäsensuunnitelmaa ei luoda

Jos onlySaveMembersWithValidProducts on tosi ja jäsen on uusi, palvelu suorittaa seuraavat toimet:

  • Poistaa jäsenen, jolla ei ole kelvollisia suunnitelmia.
  • Luo jäsenen, jos sillä on vähintään yksi kelvollinen suunnitelma.
Ensisijainen jäsen kieltäytyy tuotetyypistä

IsOptOutAllPlans on etusijalla ja sen jälkeen OptOutPlanTypes

  • Jos IsOptOutAllPlans = true, palvelu ei luo jäsensuunnitelmaa, vaikka määrittäisit rekisteröintiä varten tuotteen.
  • Jos IsOptOutAllPlans = false ja jäsenen rekisteröinnille on määritetty tuote, mutta sen tuotetyyppi on sama kuin tilauksen perumisen merkintä, palvelu ei luo jäsensuunnitelmaa.

Jos ensisijainen jäsen kieltäytyy tuotetyypistä, myös sidonnaiset kieltäytyvät kyseisestä tuotetyypistä.

Sidonnainen jäsen kieltäytyy tuotetyypistä

IsOptOutAllPlans on etusijalla ja sen jälkeen OptOutPlanTypes

  • Jos IsOptOutAllPlans = true, palvelu ei luo jäsensuunnitelmaa, vaikka määrittäisit rekisteröintiä varten tuotteen.
  • Jos IsOptOutAllPlans = false ja jäsenen rekisteröinnille on määritetty tuote, mutta sen tuotetyyppi on sama kuin tilauksen perumisen merkintä, palvelu ei luo jäsensuunnitelmaa.

Jos ensisijainen jäsen kieltäytyy tuotetyypistä, myös sidonnaiset kieltäytyvät kyseisestä tuotetyypistä.

Jos IsOptOutAllPlans = true ensisijaiselle jäsenelle, sama tulos koskee siihen liittyviä sidonnaisia.

Syötetty JSON

Syötetty JSON-tiedoston muoto näyttää tältä:

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

Tulos-JSON

Palvelu palauttaa Onnistui-viestin, jos kulku on suoritettu, muussa tapauksessa se palauttaa virheen poikkeusten varalta.

  • censusMemberIds: Tallennettujen jäsenten GroupCensusMemberIds-luettelo.

  • virheet: Virheitä sisältävien jäsenten luettelo. Jokainen luettelokohde koostuu syötetyn jäsenen tiedoista ja virheistä.

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: Niiden ensisijaisten jäsenten määrä, joiden DependentCount päivitetään palvelun perusteella.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Niiden ensisijaisten jäsenten määrä, joille DependentCount palauttaa virheet.

  • relatedFieldsUpdateErrors: Ensisijaisten jäsenten DependentCount-arvojen päivittämisen yhteydessä palautettujen virheiden luettelo.

  • memberPlanIds: Luettelo onnistuneesti lisätyistä 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"
}
 
Ladataan
Salesforce Help | Article