Usted está aquí:
InsCensusServiceStd:addMembers
Utilice este servicio para agregar miembros del censo de grupo a un censo de grupo utilizando un JSON de entrada.
Clase: InsCensusServiceStd
Método: addMembers
Funcionamiento
El servicio toma los miembros en el JSON de entrada de censo y los agrega al censusId concreto. Devuelve una lista de los Id. de los miembros agregados ( censusMemberIds ).
El servicio analiza los datos del miembro.
Analiza los datos de los miembros con los campos proporcionados en los encabezados. Los encabezados deben contener todos los metadatos de los campos usados en la lista de miembros.
Separa miembros principales y miembros dependientes basándose en
RelationshipToPrimaryMember. Si la lista de miembros contiene miembros principales y dependientes, la entrada debe tenerSourceSystemIdentifierpara todos los miembros. Todos los miembros deben tenerSourceSystemIdentifierexclusivos. Además, todos los dependientes deben tenerPrimaryMemberSourceoPrimaryGroupCensusMemberId(si el miembro principal ya está presente en el censo).Generates
MemberKey.Procesa nuevos
GroupClass. Si se daGroupClass.Nameal servicio en vez deGroupClassId, el servicio obtieneGroupClasscon el nombre y crea un nuevoGroupClasscon el mismo nombre si no se encuentra. El encabezado paraGroupClass.Name es {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Si elGroupClass.Nameconcreto no es válido, se devuelve un error. El servicio toma un nuevoquoteEffectiveDatede parámetro para validarGroupClass. ElGroupClassse considera válido si:Nota Si se proporcionaGroupClass.Name, incluya tambiénAccountIden los datos de los miembros.GroupClassestá vinculado a la cuenta de grupo del miembro.La
quoteEffectiveDatese encuentra entreStartDatedeGroupClassyEndDate. Si no se proporcionaquoteEffectiveDatecomo parámetro para el servicio, se omite esta validación.
Procesa
PrimaryMemberSourcepara dependientes conPrimaryGroupCensusMemberId. Si tantoPrimaryMemberSourcecomoPrimaryGroupCensusMemberIdse proporcionan en datos de miembros, el servicio consumePrimaryGroupCensusMemberIdcomo origen y actualizaPrimaryMemberSourcede dependiente para contenerSourceSystemIdentifierde principal.
Guarda todos los miembros principales. El servicio utiliza
MemberKeypara identificar duplicados. Si hay un miembro duplicado, el servicio actualiza los campos de ese miembro preexistente. ElMemberKeydebe ser una combinación exclusiva de cadenas.Analiza dependientes para identificar dependientes huérfanos (Dependientes sin
PrimaryMemberSource).Guarda todos los dependientes válidos. El servicio utiliza
MemberKeypara identificar duplicados. En caso de que haya un registro de miembro duplicado, el servicio actualiza los campos de ese miembro preexistente en vez de crear un nuevo registro.Actualiza la
DependentCountde todos los miembros principales de la lista de miembros.
Comportamiento de servicio
Comprenda cómo afectan las diferentes entradas a los resultados del servicio.
| Entrada | Salida de servicio |
|---|---|
No censusId |
El servicio devuelve un error: Specify a censusId. |
| JSON sin entrada de censo | El servicio devuelve un error: The census input is missing. |
Valor de PrimaryMemberSource proporcionado al miembro principal |
El servicio devuelve un error: The PrimaryMemberSource must be null for primary members. |
Falta headers en el censo de entradas |
El servicio devuelve un error: The header node is missing in the census input. |
Falta members en el censo de entradas |
El servicio devuelve un error: The members node is missing in the census input. |
Para dependientes huérfanos (Los dependientes sin PrimaryMemberSource ni PrimaryGroupCensusMemberId) |
El servicio devuelve un error: Dependent has no primary member. |
Opciones remotas
Opción |
Descripción |
|---|---|
|
Obligatorio. Id. del censo de grupo al que agregar miembros. |
|
Obligatorio. JSON de entrada de los miembros que se agregarán. JSON de censo consta de dos listas: encabezados y miembros. encabezados es la lista de metadatos de campos que comprende fieldId, type, label y name. Aquí el nombre es Nombre de API del campo (con espacio de nombres para paquetes gestionados y campos personalizados). members es la lista de miembros que se agregarán al censo. |
duplicateKey
|
Opcional. Lista de campos para generar |
JSON de entrada
El JSON de entrada consta de dos listas: encabezados y miembros. encabezados es la lista de metadatos de campos que comprende fieldId, type, label y name. Aquí el nombre es Nombre de API del campo (con espacio de nombres para paquetes gestionados y campos personalizados). members es la lista de miembros que se agregarán al censo.
{
"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"
}
]
}
}
JSON de salida
El servicio devuelve un mensaje de operación correcta si se completa el flujo, de lo contrario devuelve el error en caso de cualquier excepción.
-
censusMemberIds: La lista deGroupCensusMemberIdsde miembros guardados. -
errores: La lista de miembros con errores. Cada elemento de lista consta de datos de miembros de entrada y error.
-
relatedFieldsUpdateSuccessCount: Número de miembros principales para los que se actualiza elDependentCountpor servicio. -
relatedFieldsUpdateErrorCount: Número de miembros principales para los que la actualización deDependentCountdevuelve errores. -
relatedFieldsUpdateErrors: La lista de errores devueltos al actualizarDependentCountde miembros principales.
{
"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"
}