Loading
Seguro
InsCensusServiceStd:addMembers

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 ).

  1. El servicio analiza los datos del miembro.

    1. 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.

    2. Separa miembros principales y miembros dependientes basándose en RelationshipToPrimaryMember. Si la lista de miembros contiene miembros principales y dependientes, la entrada debe tener SourceSystemIdentifier para todos los miembros. Todos los miembros deben tener SourceSystemIdentifier exclusivos. Además, todos los dependientes deben tener PrimaryMemberSource o PrimaryGroupCensusMemberId (si el miembro principal ya está presente en el censo).

    3. Generates MemberKey.

    4. Procesa nuevos GroupClass. Si se da GroupClass.Name al servicio en vez de GroupClassId, el servicio obtiene GroupClass con el nombre y crea un nuevo GroupClass con el mismo nombre si no se encuentra. El encabezado para GroupClass.Name es {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Si el GroupClass.Name concreto no es válido, se devuelve un error. El servicio toma un nuevo quoteEffectiveDate de parámetro para validar GroupClass. El GroupClass se considera válido si:

      Nota
      Nota Si se proporciona GroupClass.Name, incluya también AccountId en los datos de los miembros.
      • GroupClass está vinculado a la cuenta de grupo del miembro.

      • La quoteEffectiveDate se encuentra entre StartDate de GroupClass y EndDate. Si no se proporciona quoteEffectiveDate como parámetro para el servicio, se omite esta validación.

    5. Procesa PrimaryMemberSource para dependientes con PrimaryGroupCensusMemberId. Si tanto PrimaryMemberSource como PrimaryGroupCensusMemberId se proporcionan en datos de miembros, el servicio consume PrimaryGroupCensusMemberId como origen y actualiza PrimaryMemberSource de dependiente para contener SourceSystemIdentifier de principal.

  2. Guarda todos los miembros principales. El servicio utiliza MemberKey para identificar duplicados. Si hay un miembro duplicado, el servicio actualiza los campos de ese miembro preexistente. El MemberKey debe ser una combinación exclusiva de cadenas.

  3. Analiza dependientes para identificar dependientes huérfanos (Dependientes sin PrimaryMemberSource).

  4. Guarda todos los dependientes válidos. El servicio utiliza MemberKey para 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.

  5. Actualiza la DependentCount de 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

censusId

Obligatorio.

Id. del censo de grupo al que agregar miembros.

census

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 MemberKey e identificar duplicados. Si no se proporciona ningún valor, los campos predeterminados incluidos en la lista son: FirstName, Lastname, Email, GroupCensusId.

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 de GroupCensusMemberIds de 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 el DependentCount por servicio.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Número de miembros principales para los que la actualización de DependentCount devuelve errores.

  • relatedFieldsUpdateErrors: La lista de errores devueltos al actualizar DependentCount de 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"
}
 
Cargando
Salesforce Help | Article