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

InsCensusServiceStd:addMembers

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

Класс: InsCensusServiceStd​​

Метод: addMembers

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

Служба берет участников в JSON ввода переписи и добавляет их к заданным censusId​​. Данная функция возвращает список кодов добавленных участников ( censusMemberIds ).

  1. Служба анализирует данные участников.

    1. Анализ данных участников с полями, предоставленными в заголовках. Заголовки должны содержать все метаданные полей, используемые в списке участников.

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

    3. Создает MemberKey.

    4. Обрабатывает новые GroupClass. Если GroupClass.Name предоставлен службе вместо GroupClassId, служба извлекает GroupClass с именем и создает новое GroupClass с таким же именем, если оно не найдено. Заголовок GroupClass.Name: {"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. Если указанный GroupClass.Name недействителен, возвращается ошибка. Служба использует новый quoteEffectiveDate параметров для проверки GroupClass. GroupClass считается действительным, если:

      Примечание
      Примечание При наличии GroupClass.Name добавьте также AccountId в данные участников.
      • GroupClass связан с организацией группы участника.

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

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

  2. Сохраняет всех основных участников. Служба использует MemberKey для определения повторов. При наличии повторяющегося участника служба обновляет поля этого ранее существовавшего участника. MemberKey должна быть уникальным сочетанием строк.

  3. Анализ зависимостей для идентификации зависимых сирот (зависимых без PrimaryMemberSource).

  4. Сохраняет все действительные зависимости. Служба использует MemberKey для определения повторов. При наличии повторяющейся записи участника служба обновляет поля ранее существовавшего участника вместо создания новой записи.

  5. Обновляет DependentCount всех основных участников списка.

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

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

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

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

Параметр

Описание

censusId

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

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

census

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

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

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

duplicateKey

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

Список полей для создания MemberKey и определения повторов. Если значение не указано, в список будут включены поля по умолчанию: FirstName, Lastname, Email, GroupCensusId.

JSON ввода

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

{
    "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

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

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

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

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

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

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

{
  "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"
}
 
Загрузка
Salesforce Help | Article