Du er her:
InsCensusServiceStd:addMembers
Bruk denne tjenesten til å legge til gruppebestillingsmedlemmer i en gruppebestilling ved bruk av en inndata-JSON-fil.
Klasse: InsCensusServiceStd
Metode: addMembers
Slik virker det
Tjenesten tar medlemmene i JSON-koden for folketelling og legger dem til i den gitte censusId. Den returnerer en liste over ID-ene til medlemmene som er lagt til ( censusMemberIds ).
Tjenesten analyserer medlemsdataene.
Analyserer medlemmers data med feltene i topptekster. Topptekster må inneholde alle feltets metadata som brukes i medlemslisten.
Skiller primære medlemmer og avhengige medlemmer basert på
RelationshipToPrimaryMember. Hvis medlemslisten inneholder primære medlemmer og avhengige, må inndataene haSourceSystemIdentifierfor alle medlemmene. Alle medlemmer må ha unikeSourceSystemIdentifier. I tillegg må alle avhengige haPrimaryMemberSourceellerPrimaryGroupCensusMemberId(hvis det primære medlemmet allerede er tilstede i folketellingen).Genererer
MemberKey.Behandler nye
GroupClass. HvisGroupClass.Namegis til tjeneste i stedet forGroupClassId, henter tjenestenGroupClassmed navnet og oppretter en nyGroupClassmed samme navn hvis ikke funnet. Toppteksten forGroupClass.Name er {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Hvis den gitteGroupClass.Nameer ugyldig, returneres det en feil. Tjenesten bruker en ny parameterquoteEffectiveDatefor å validereGroupClass.GroupClassanses som gyldig hvisMerk HvisGroupClass.Nameoppgis, inkluderer du ogsåAccountIdi medlemsdata.GroupClasser knyttet til medlemmets gruppekonto.quoteEffectiveDateligger mellomGroupClassStartDateogEndDate. HvisquoteEffectiveDateikke oppgis som en tjenesteparameter, hoppes denne valideringen over.
Behandler
PrimaryMemberSourcefor avhengige medPrimaryGroupCensusMemberId. Hvis bådePrimaryMemberSourceogPrimaryGroupCensusMemberIdoppgis i medlemsdata, bruker tjenestenPrimaryGroupCensusMemberIdsom kilde og oppdatererPrimaryMemberSourceav avhengig til å inneholdeSourceSystemIdentifierav primær.
Lagrer alle primære medlemmer. Tjenesten bruker
MemberKeytil å identifisere duplikater. Hvis det er et duplikatmedlem, oppdaterer tjenesten feltene i det eksisterende medlemmet.MemberKeymå være en unik kombinasjon av strenger.Analyser avhengige for å identifisere foreldreløse avhengige (avhengige uten
PrimaryMemberSource).Lagrer alle gyldige avhengige. Tjenesten bruker
MemberKeytil å identifisere duplikater. I en duplikatmedlemspost oppdaterer tjenesten feltene for det eksisterende medlemmet i stedet for å opprette en ny post.Oppdaterer
DependentCountfor alle primære medlemmer i medlemslisten.
Virkemåte for service
Forstå hvordan forskjellige inndata påvirker tjenesteutdataene.
| 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. |
Eksterne alternativer
Alternativ |
Beskrivelse |
|---|---|
|
Obligatorisk. ID-en til gruppen som medlemmene skal legges til i. |
|
Obligatorisk. Inndata-JSON-koden til medlemmene som skal legges til. JSON-kode for folketelling består av to lister - hoder og medlemmer. headers er listen over feltets metadata som består av fieldId, type, etikett og navn. Her er navnet feltets API-navn (med navneområde for administrert pakke og tilpassede felt). medlemmer er listen over medlemmer som skal legges til i folketellingen. |
duplicateKey
|
Valgfritt. Liste over felt for å generere |
Inndata-JSON
JSON-koden for inndata består av to lister - hoder og medlemmer. headers er listen over feltets metadata som består av fieldId, type, etikett og navn. Her er navnet feltets API-navn (med navneområde for administrert pakke og tilpassede felt). medlemmer er listen over medlemmer som skal legges til i folketellingen.
{
"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": [
{
"Lastname": "Koffins",
"FirstName": "Raj",
"FullTimeEquivalent": 1,
"Gender": "Male",
"Birthdate": "1985-10-13",
"SourceSystemIdentifier": "1.primary",
"PrimaryMemberSource": null,
"Email": "testraj@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Koffins",
"FirstName": "Rita",
"Gender": "Female",
"Birthdate": "1987-07-13",
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "1.spouse",
"PrimaryMemberSource": null,
"Email": "testrita@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Koffins",
"FirstName": "Kris",
"Gender": "Male",
"Birthdate": "2016-05-13",
"RelationshipToPrimaryMember": "Child",
"SourceSystemIdentifier": "1.child",
"PrimaryMemberSource": "1.primary",
"Email": "testkris@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":true,
"OptOutPlanTypes":"Medical;Dental"
},
{
"Lastname": "Warner",
"FirstName": "Christopher",
"FullTimeEquivalent": 0.5,
"Gender": "Male",
"Birthdate": "1985-10-13",
"SourceSystemIdentifier": "2.primary",
"PrimaryMemberSource": null,
"Email": "testchristopher@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
},
{
"Lastname": "Warner",
"FirstName": "Steph",
"Gender": "Male",
"Birthdate": "1985-10-13",
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "2.spouse",
"PrimaryMemberSource": "2.primary",
"Email": "teststeph@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
},
{
"Lastname": "Jose",
"FirstName": "Steve",
"Gender": "Male",
"Birthdate": "1989-10-13",
"FullTimeEquivalent":10,
"SourceSystemIdentifier": "3.primary",
"Email": "teststeve@mail.com",
"AccountId":"001B000001QOqJHIA1",
"IsOptOutAllPlans":false,
"OptOutPlanTypes":"Medical"
}
]
}
}
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 overGroupCensusMemberIdsav lagrede medlemmer. -
feil: Listen over medlemmer med feil. Hvert listeelement består av inndata og feil.
-
relatedFieldsUpdateSuccessCount: Antall primære medlemmer somDependentCountoppdateres for etter tjeneste. -
relatedFieldsUpdateErrorCount: Antall primære medlemmer somDependentCount-oppdateringen returnerer feil for. -
relatedFieldsUpdateErrors: Listen over feil som returneres ved oppdatering avDependentCountav primære medlemmer.
{
"result": "success",
"relatedFieldsUpdateErrors": [],
"relatedFieldsUpdateErrorCount": 0,
"relatedFieldsUpdateSuccessCount": 2,
"errors": [
{
"error": "[FullTimeEquivalent]: NUMBER_OUTSIDE_VALID_RANGE - Full Time Equivalent: value outside of valid range on numeric field: 10",
"Birthdate": "1989-10-13",
"Gender": "Male",
"IsOptOutAllPlans": false,
"Lastname": "Jose",
"SourceSystemIdentifier": "3.primary",
"FullTimeEquivalent": 10,
"FirstName": "Steve",
"AccountId": "001B000001QOqJHIA1",
"Email": "teststeve@mail.com",
"OptOutPlanTypes": "Medical"
},
{
"RelationshipToPrimaryMember": "Spouse",
"SourceSystemIdentifier": "1.spouse",
"OptOutPlanTypes": "Medical;Dental",
"PrimaryMemberSource": null,
"error": "Dependent has no primary member.",
"Birthdate": "1987-07-13",
"Gender": "Female",
"IsOptOutAllPlans": true,
"Lastname": "Koffins",
"FirstName": "Rita",
"AccountId": "001B000001QOqJHIA1",
"Email": "testrita@mail.com"
}
],
"censusMemberIds": [
"0r6B00000000ANcIAM",
"0r6B00000000ANdIAM",
"0r6B00000000ANeIAM",
"0r6B00000000ANfIAM"
],
"errorCode": "INVOKE-200",
"error": "OK"
}