Loading
Seguro
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

Utilice este servicio para actualizar los valores de miembros existentes en un censo.

Clase: InsCensusServiceStd​​

Método: updateMembers

Funcionamiento

  1. Este servicio toma los miembros de un JSON de entrada y actualiza el censo (según el censusId especificado) con los nuevos datos.

  2. JSON de censo consta de dos listas: headers y members.

    1. headers es la lista de metadatos de campos que incluye fieldId, type, label y name. Aquí el nombre es el Nombre de API del campo (con el espacio de nombres para paquetes gestionados y campos personalizados).

    2. members es la lista de miembros que se actualizarán en el censo.

  3. El servicio busca el campo updateById. Es un campo booleano que decide el curso de acción para el servicio. Los miembros se pueden actualizar de dos formas:

    1. updateMembers por MemberKey

      Esta opción es aplicable cuando updateById es falsa. Los datos de miembros deben tener una clave de miembro.

    2. updateMembers por Id. de GroupCensusMember

      Esta opción es aplicable cuando la updateById es verdadera. Los datos de miembros deben tener un Id. de miembro del censo de grupo.

updateMembers por MemberKey

  1. El servicio analiza los datos de los miembros con los campos proporcionados en headers. Los headers deben contener todos los metadatos de los campos utilizados en la lista de miembros.

  2. El servicio separa miembros principales y miembros dependientes basándose en RelationshipToPrimaryMember.

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

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

  3. El servicio procesa nuevos GroupClass. Si el servicio tiene GroupClass.Name en vez de GroupClassId, obtiene GroupClass con el nombre y crea una nueva GroupClass con el mismo nombre si no se encuentra.

    1. Si el servicio tiene GroupClass.Name, incluya también AccountId en los datos de los miembros.
    2. header paraGroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Si el GroupClass.Name especificado no es válido, se devuelve un error. El servicio toma un nuevo parámetro quoteEffectiveDate para validar GroupClass. El GroupClass se considera válido si:

      • GroupClass está vinculado a la cuenta de grupo del miembro.

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

  4. Los servicios procesan PrimaryMemberSource para dependientes con PrimaryGroupCensusMemberId.

    1. Si el servicio tiene PrimaryMemberSource y PrimaryGroupCensusMemberId, el servicio considera PrimaryGroupCensusMemberId como origen y actualiza PrimaryMemberSource de dependiente para incluir SourceSystemIdentifier de principal.

  5. El servicio guarda todos los miembros principales primero.

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

  7. Guarda todos los dependientes válidos.

  8. El servicio actualiza los DependentCount de todos los miembros principales de la lista de miembros.

updateMiembros por Id.

  1. El servicio analiza los datos de los miembros con los campos proporcionados en headers. Los headers deben contener todos los metadatos de los campos utilizados en la lista de miembros.

  2. Los datos de members deben tener Id. Si el Id. no se encuentra en los datos de miembros, el servicio arroja un error.

  3. El servicio procesa nuevos GroupClass. Si el servicio tiene GroupClass.Name en vez de GroupClassId, obtiene GroupClass con el nombre y crea una nueva GroupClass con el mismo nombre si no se encuentra.

    1. Si el servicio tiene GroupClass.Name, incluya también AccountId en los datos de los miembros.
    2. header paraGroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

  4. El servicio procesa PrimaryGroupCensusMemberId para dependientes con PrimaryMemberSource.

    1. Si proporciona PrimaryMemberSource, el servicio también actualiza PrimaryGroupCensusMemberId.
  5. Los servicios procesan PrimaryMemberSource para dependientes con PrimaryGroupCensusMemberId.

    1. Si el servicio tiene PrimaryMemberSource y PrimaryGroupCensusMemberId, el servicio considera PrimaryGroupCensusMemberId como origen y actualiza PrimaryMemberSource de dependiente para incluir SourceSystemIdentifier de principal.

  6. El servicio guarda todos los miembros incluyendo dependientes.

  7. El servicio no identifica dependientes huérfanos.

  8. El servicio actualiza los DependentCount de todos los miembros principales de la lista de miembros.

Opciones remotas

Opción

Descripción

censusId

Obligatorio.

Id. del censo con miembros para actualizar.

census

Obligatorio.

JSON de entrada con detalles para los miembros que se actualizarán.

updateById

Opcional

Si se establece true, el servicio sigue el flujo updateMembers por Id.

El valor predeterminado es falso.

Comportamiento de servicio

Comprenda cómo afectan las diferentes entradas a los resultados del servicio.

Entrada updateById Salida de servicio
No censusId verdadero o falso

El servicio devuelve un error: Specify a censusId.

Sin JSON de entrada de censo verdadero o falso El servicio devuelve un error: The census input is missing.
El valor de PrimaryMemberSource proporcionado al miembro principal false El servicio devuelve un error: The PrimaryMemberSource must be null for primary members.
Falta headers en censo de entrada verdadero o falso El servicio devuelve un error: The header node is missing in the census input.
Falta members en censo de entrada verdadero o falso El servicio devuelve un error: The members node is missing in the census input.
Para dependientes huérfanos (Los dependientes sin PrimaryMemberSource o PrimaryGroupCensusMemberId) false El servicio devuelve un error: Dependent has no primary member.
Falta el Id. en los datos de los miembros true El servicio devuelve un error: Specify Id of the census member.

JSON de entrada

El JSON de entrada incluye headers, que enumera los campos que se van a actualizar; y members, que enumera miembros con sus pares campo-valor correspondientes, incluyendo fieldId.

JSON de entrada de ejemplo (updateMembers By MemberKey)

{
  "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": [
      {
        "MemberKey": "cd64a62573825ee11b87ce91110aa576",
        "Lastname": "KoffinsUpdated",
        "FirstName": "RajUpdated",
        "FullTimeEquivalent": 1,
        "Gender": "Male",
        "Birthdate": "1965-10-13",
        "SourceSystemIdentifier": "1.primary",
        "PrimaryMemberSource": null,
        "Email": "testrajUpdated@mail.com"
      },
      {
        "MemberKey": "f2f8735bbb66b3f7d7b2bae794c00650",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdated",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "SourceSystemIdentifier": "1.child",
        "PrimaryMemberSource": "1.primary",
        "Email": "testkrisUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "5a5bc4e3c05cf461a65a2d7fdc0ab8e0",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "SourceSystemIdentifier": "2.primary",
        "PrimaryMemberSource": null,
        "Email": "testchristopherUpdated@mail.com"
      },
      {
        "Lastname": "WarnerUpdated",
        "MemberKey": "157b2052fc732d8261984c2922a3261b",
        "FirstName": "Steph",
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "RelationshipToPrimaryMember": "Spouse",
        "SourceSystemIdentifier": "2.spouse",
        "PrimaryMemberSource": "2.primary",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

JSON de entrada de ejemplo (updateMembers By Id)

{
  "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": [
      {
        "Id":"0r6RO00000005pZYAQ",
        "Lastname": "KoffinsUpdatedById",
        "FirstName": "RajUpdatedById",
        "Birthdate": "1965-10-13",
        "Email": "testrajUpdated@mail.com"
      },
      {
        "Id":"0r6RO00000005pbYAA",
        "Lastname": "Koffins",
        "FirstName": "KrisUpdatedById",
        "Gender": "Male",
        "Birthdate": "2010-05-13",
        "RelationshipToPrimaryMember": "Child",
        "Email": "testkrisUpdatedById@mail.com"
      },
      {
        "Id":"0r6RO00000005paYAA",
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Christopher",
        "FullTimeEquivalent": 0.75,
        "Gender": "Male",
        "Birthdate": "1985-10-13",
        "Email": "testchristopherUpdatedById@mail.com"
      },
      {
        "Lastname": "WarnerUpdatedById",
        "FirstName": "Steph",
        "Birthdate": "1985-10-13",
        "Email": "teststephUpdated.com"
      }
    ]
  }
}

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.

JSON de salida de ejemplo (updateMembers By MemberKey)

{
  "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"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005paYAA",
    "0r6RO00000005pbYAA"
  ],
  "deletedCensusMemberIds": [],
  "errorCode": "INVOKE-200",
  "error": "OK"
}

JSON de salida de ejemplo - (updateMembers By Id)

{
  "result": "success",
  "relatedFieldsUpdateErrors": [],
  "relatedFieldsUpdateErrorCount": 0,
  "relatedFieldsUpdateSuccessCount": 2,
  "errors": [
    {
      "error": "Specify Id of the census member.",
      "Birthdate": "1985-10-13",
      "Lastname": "WarnerUpdatedById",
      "FirstName": "Steph",
      "Email": "teststephUpdated.com"
    }
  ],
  "censusMemberIds": [
    "0r6RO00000005pZYAQ",
    "0r6RO00000005pbYAA",
    "0r6RO00000005paYAA"
  ],
  "errorCode": "INVOKE-200",
  "error": "OK"
}
 
Cargando
Salesforce Help | Article