Loading
Страхование
InsCensusServiceStd:updateMembers

InsCensusServiceStd:updateMembers

Используйте эту службу для обновления значений существующих участников переписи.

Класс: InsCensusServiceStd​​

Метод: updateMembers

Принцип работы

  1. Эта служба извлекает участников из вводного JSON и обновляет перепись (в соответствии с заданными censusId) новыми данными.

  2. JSON переписи состоит из двух списков - headers и members.

    1. headers - это список метаданных полей, включающий fieldId, type, label и name. Здесь имя является API-именем поля (с пространством имен для управляемого пакета и настраиваемых полей).

    2. members - это список участников, подлежащих обновлению в ходе переписи.

  3. Служба ищет поле updateById. Это логическое поле, которое определяет порядок действий службы. Участники могут быть обновлены двумя способами:

    1. updateMembers по MemberKey

      Этот параметр применяется, если updateById ложь. Данные участников должны иметь ключ участника.

    2. updateMembers по GroupCensusMemberкоду

      Этот параметр применим, если updateById истинна. Данные участников должны иметь код участника переписи группы.

updateMembers по MemberKey

  1. Служба анализирует данные участников с полями, предоставленными в headers. headers должны содержать все метаданные полей, используемые в списке участников.

  2. Служба разделяет основных и зависимых участников на основе RelationshipToPrimaryMember.

    1. Если список участников содержит основных участников и зависимых, ввод должен иметь SourceSystemIdentifier для всех участников. Все участники должны иметь уникальный SourceSystemIdentifier. Кроме того, все иждивенцы должны иметь PrimaryMemberSource или PrimaryGroupCensusMemberId (если основной член уже присутствует в переписи).

    2. Если список является сочетанием основных и зависимых участников, убедитесь в наличии каждого зависимого участника и основного участника в списке участников.

  3. Служба обрабатывает новые GroupClass. Если служба использует GroupClass.Name вместо GroupClassId, она извлекает GroupClass с именем и создает новое GroupClass с таким же именем, если оно не найдено.

    1. Если у службы есть GroupClass.Name, добавьте также AccountId в данные участников.
    2. header дляGroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

    3. Если указанное GroupClass.Name недопустимо, возвращается ошибка. Служба использует новый quoteEffectiveDate параметров для проверки GroupClass. GroupClass считается действительным, если:

      • GroupClass связан с организацией группы участника.

      • quoteEffectiveDate лежит между GroupClass StartDate и EndDate. Если quoteEffectiveDate не предоставлен в качестве параметра службы, эта проверка пропускается.

  4. Службы обрабатывают PrimaryMemberSource для зависимых с PrimaryGroupCensusMemberId.

    1. Если у службы есть и PrimaryMemberSource, и PrimaryGroupCensusMemberId, служба учитывает PrimaryGroupCensusMemberId в качестве источника и обновляет PrimaryMemberSource зависимых, чтобы содержать SourceSystemIdentifier основных.

  5. Сначала служба сохраняет всех основных участников.

  6. Он анализирует иждивенцев для идентификации иждивенцев-сирот (зависимых без PrimaryMemberSource).

  7. Сохраняются все действительные зависимости.

  8. Служба обновляет DependentCount всех основных участников списка.

updateMembers по коду

  1. Служба анализирует данные участников с полями, предоставленными в headers. headers должны содержать все метаданные полей, используемые в списке участников.

  2. Данные members должны иметь код. Если код не найден в данных участников, служба выдает ошибку.

  3. Служба обрабатывает новые GroupClass. Если служба использует GroupClass.Name вместо GroupClassId, она извлекает GroupClass с именем и создает новое GroupClass с таким же именем, если оно не найдено.

    1. Если у службы есть GroupClass.Name, добавьте также AccountId в данные участников.
    2. header дляGroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.

  4. Служба обрабатывает PrimaryGroupCensusMemberId для зависимых с PrimaryMemberSource.

    1. Если вы предоставляете PrimaryMemberSource, служба также обновляет PrimaryGroupCensusMemberId.
  5. Службы обрабатывают PrimaryMemberSource для зависимых с PrimaryGroupCensusMemberId.

    1. Если у службы есть и PrimaryMemberSource, и PrimaryGroupCensusMemberId, служба учитывает PrimaryGroupCensusMemberId в качестве источника и обновляет PrimaryMemberSource зависимых, чтобы содержать SourceSystemIdentifier основных.

  6. Служба сохраняет всех участников, включая зависимых.

  7. Служба не определяет зависимых детей-сирот.

  8. Служба обновляет DependentCount всех основных участников списка.

Удаленные параметры

Параметр

Описание

censusId

Обязательно.

Код переписи с участниками для обновления.

census

Обязательно.

Ввод JSON со сведениями для участников для обновления.

updateById

Дополнительно

Если установлено true, служба следует updateMembers по потоку кода.

Значение по умолчанию — false.

Алгоритм обслуживания

Понимание влияния разных вводных данных на результаты обслуживания.

Ввод updateById Вывод обслуживания
Нет censusId true или false

Служба возвращает ошибку: Specify a censusId.

Нет вводных данных переписи JSON true или false Служба возвращает ошибку: The census input is missing.
Значение PrimaryMemberSource, предоставленного основному участнику false Служба возвращает ошибку: The PrimaryMemberSource must be null for primary members.
headers отсутствует в переписи ввода true или false Служба возвращает ошибку: The header node is missing in the census input.
members отсутствует в переписи ввода true или false Служба возвращает ошибку: The members node is missing in the census input.
Для иждивенцев-сирот (Иждивенцы без PrimaryMemberSource или PrimaryGroupCensusMemberId) false Служба возвращает ошибку: Dependent has no primary member.
Код отсутствует в данных участников true Служба возвращает ошибку: Specify Id of the census member.

JSON ввода

JSON ввода содержит headers, в котором перечислены обновляемые поля; и members, в котором перечислены участники с соответствующими парами поля-значение, включая fieldId.

Пример JSON ввода (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 ввода (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

Служба возвращает сообщение об успешном завершении потока, в противном случае возвращает ошибку в случае любых исключений.

  • censusMemberIds: Список GroupCensusMemberIds сохраненных участников.

  • ошибки: Список участников с ошибками. Каждый элемент списка состоит из данных участника ввода и ошибки.

  • ​ ​ ​ relatedFieldsUpdateSuccessCount: Количество основных участников, для которых DependentCount обновляется службой.

  • ​ ​ ​ relatedFieldsUpdateErrorCount: Количество основных участников, для которых обновление DependentCount возвращает ошибки.

  • relatedFieldsUpdateErrors: Список ошибок, возвращенных при обновлении DependentCount основных участников.

Пример выводного JSON (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 - (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"
}
 
Загрузка
Salesforce Help | Article