Usted está aquí:
InsCensusServiceStd:updateMembersWithPlans
Utilice este servicio para rellenar un censo de grupo con miembros principales, sus dependientes y su plan preinscrito. Este servicio actualiza GroupCensusMember existentes por memberKey y crea registros de GroupCensusMemberPlan para registros de GroupCensusMember existentes. Utiliza el ContractGroupPlans especificado en el JSON de entrada para actualizar planes para cada GroupCensusMember.
Clase: InsCensusServiceStd
Método: updateMembersWithPlans
Funcionamiento
-
El servicio pasa censusId y el JSON de entrada de censo para actualizar miembros con planes.
-
JSON de censo consta de dos listas:
headersymembers.-
headerses la lista de metadatos de campos compuesta defieldId,type,labelyname. Aquí el nombre es el Nombre de API del campo (con el espacio de nombres para paquetes gestionados y campos personalizados). Elheadersdebe contenerContactGroupPlanId. -
memberses la lista de miembros que se deben actualizar en el censo. Elmembersdebe contenerContactGroupPlanIdseparados por punto y coma(;) para varios planes.
-
-
El servicio llama a
updateMemberspor MemberKey para guardar datos acerca de los miembros, analizando los miembros en el objeto JSON. -
El servicio agrega
isNewMembercomo verdadero para todos los nuevos miembros. También rellena Id. para cada GroupCensusMember. -
A continuación, el servicio llama a
InsCensusServiceStd: addPlanSelectionspara crearGroupCensusMemberPlanpara cada miembro. También acepta coberturas opcionales por miembro de modo que los miembros principales y los dependientes están inscritos en diferentes coberturas bajo el mismo plan.
updateMembers por MemberKey
-
El servicio analiza los datos de los miembros con los campos proporcionados en
headers. Losheadersdeben contener todos los metadatos de los campos utilizados en la lista de miembros. -
El servicio separa miembros principales y miembros dependientes basándose en
RelationshipToPrimaryMember.-
Si la lista de miembros contiene miembros principales y dependientes, la entrada debe tener
SourceSystemIdentifierpara todos los miembros. Todos los miembros deben tener unSourceSystemIdentifierexclusivo. Además, todos los dependientes deben tenerPrimaryMemberSourceoPrimaryGroupCensusMemberId(si el miembro principal ya está presente en el censo). -
Si la lista es una combinación de miembros principales y dependientes, asegúrese de que cada miembro dependiente y miembro principal existe en la lista de miembros.
-
-
El servicio procesa nuevos
GroupClass. Si el servicio tieneGroupClass.Nameen vez deGroupClassId, obtieneGroupClasscon el nombre y crea un nuevoGroupClasscon el mismo nombre si no se encuentra.- Si el servicio tiene
GroupClass.Name, incluya tambiénAccountIden los datos de los miembros. -
headerparaGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. -
Si el
GroupClassproporcionado no es válido, se devuelve un error. ElGroupClassse considera válido si:-
GroupClassestá vinculado a la cuenta de grupo del miembro. -
El periodo de vigencia del contrato es entre
StartDateyEndDatedeGroupClass. -
La
StartDateyEndDatedel contrato se obtiene utilizandoContractIdproporcionados como una entrada al servicio
-
- Si el servicio tiene
-
Los servicios procesan
PrimaryMemberSourcepara dependientes conPrimaryGroupCensusMemberId.-
Si el servicio tiene
PrimaryMemberSourceyPrimaryGroupCensusMemberId, el servicio consideraPrimaryGroupCensusMemberIdcomo origen y actualizaPrimaryMemberSourcede dependiente para incluirSourceSystemIdentifierde principal.
-
-
El servicio guarda todos los miembros principales primero.
-
Analiza dependientes para identificar dependientes huérfanos (Dependientes sin
PrimaryMemberSource). -
Guarda todos los dependientes válidos.
-
El servicio actualiza los
DependentCountde todos los miembros principales de la lista de miembros.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Obligatorio Id. del censo con miembros para actualizar. Valida que el |
|
Obligatorio. Ingrese JSON con detalles para que los miembros se actualicen. |
|
Obligatorio Id. del contrato actual de la cuenta. Valida que los planes de cada miembro formen parte del contrato. |
|
Booleano Si es verdadero, los nuevos miembros sin entradas en |
|
Opcional Lista de campos para la generación de Campos predeterminados en la lista: |
| Entrada | Salida de servicio |
|---|---|
No censusId |
El servicio devuelve un error: Specify a censusId. |
JSON sin entrada de censo |
El servicio devuelve un error: |
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. |
Sin contractId o contractId no válido |
El servicio no actualiza ningún plan de miembro. |
ContractGroupPlanId no válido para el contrato especificado |
El servicio no crea ningún plan de miembro. Si
|
ContractGroupPlanId no válido para el miembro (debido a la anulación de suscripción) |
El plan de miembro no está creado Si
|
| El miembro principal anula la suscripción a un tipo de producto | La
Si el miembro principal anula la suscripción a un tipo de producto, los dependientes también anulan la suscripción a ese tipo de producto. |
| Miembro dependiente anula la suscripción a un tipo de producto | La
Si el miembro principal anula la suscripción a un tipo de producto, los dependientes también anulan la suscripción a ese tipo de producto. Si |
JSON de entrada
Este es el aspecto del formato para el JSON de entrada:
{
"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"
}
]
}
}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. -
memberPlanIds: La lista deGroupCensusMemberPlanIdsinsertadas correctamente.
{
"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"
}