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 específico. Devuelve una lista de los Id. de los miembros agregados ( censusMemberIds ).
El servicio analiza los datos de miembros.
Analiza los datos de los miembros con los campos proporcionados en 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 deGroupClass.Name es {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Si elGroupClass.Nameespecificado 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.quoteEffectiveDatese encuentra entreStartDatedeGroupClassyEndDate. Si no se proporcionaquoteEffectiveDatecomo parámetro para el servicio, se omite esta validación.
Procesa
PrimaryMemberSourcepara dependientes conPrimaryGroupCensusMemberId. Si se proporcionanPrimaryMemberSourceyPrimaryGroupCensusMemberIden datos de miembros, el servicio consumePrimaryGroupCensusMemberIdcomo origen y actualizaPrimaryMemberSourcede dependiente para incluirSourceSystemIdentifierde 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 única 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. |
| Sin JSON de 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 censo de entrada |
El servicio devuelve un error: The header node is missing in the census input. |
Falta members en censo de entrada |
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 van a agregar. 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"
}