Вы находитесь здесь:
InsCensusServiceStd:updateMembers
Используйте эту службу для обновления значений существующих участников переписи.
Класс: InsCensusServiceStd
Метод: updateMembers
Принцип работы
-
Эта служба извлекает участников из вводного JSON и обновляет перепись (в соответствии с заданными
censusId) новыми данными. -
JSON переписи состоит из двух списков -
headersиmembers.-
headers- это список метаданных полей, включающийfieldId,type,labelиname. Здесь имя является API-именем поля (с пространством имен для управляемого пакета и настраиваемых полей). -
members- это список участников, подлежащих обновлению в ходе переписи.
-
-
Служба ищет поле
updateById. Это логическое поле, которое определяет порядок действий службы. Участники могут быть обновлены двумя способами:-
updateMembersпоMemberKeyЭтот параметр применяется, если
updateByIdложь. Данные участников должны иметь ключ участника. -
updateMembersпоGroupCensusMemberкодуЭтот параметр применим, если
updateByIdистинна. Данные участников должны иметь код участника переписи группы.
-
updateMembers по MemberKey
-
Служба анализирует данные участников с полями, предоставленными в
headers.headersдолжны содержать все метаданные полей, используемые в списке участников. -
Служба разделяет основных и зависимых участников на основе
RelationshipToPrimaryMember.-
Если список участников содержит основных участников и зависимых, ввод должен иметь
SourceSystemIdentifierдля всех участников. Все участники должны иметь уникальныйSourceSystemIdentifier. Кроме того, все иждивенцы должны иметьPrimaryMemberSourceилиPrimaryGroupCensusMemberId(если основной член уже присутствует в переписи). -
Если список является сочетанием основных и зависимых участников, убедитесь в наличии каждого зависимого участника и основного участника в списке участников.
-
-
Служба обрабатывает новые
GroupClass. Если служба используетGroupClass.NameвместоGroupClassId, она извлекаетGroupClassс именем и создает новоеGroupClassс таким же именем, если оно не найдено.- Если у службы есть
GroupClass.Name, добавьте такжеAccountIdв данные участников. -
headerдляGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}. -
Если указанное
GroupClass.Nameнедопустимо, возвращается ошибка. Служба использует новыйquoteEffectiveDateпараметров для проверкиGroupClass.GroupClassсчитается действительным, если:-
GroupClassсвязан с организацией группы участника. -
quoteEffectiveDateлежит междуGroupClassStartDateиEndDate. ЕслиquoteEffectiveDateне предоставлен в качестве параметра службы, эта проверка пропускается.
-
- Если у службы есть
-
Службы обрабатывают
PrimaryMemberSourceдля зависимых сPrimaryGroupCensusMemberId.-
Если у службы есть и
PrimaryMemberSource, иPrimaryGroupCensusMemberId, служба учитываетPrimaryGroupCensusMemberIdв качестве источника и обновляетPrimaryMemberSourceзависимых, чтобы содержатьSourceSystemIdentifierосновных.
-
-
Сначала служба сохраняет всех основных участников.
-
Он анализирует иждивенцев для идентификации иждивенцев-сирот (зависимых без
PrimaryMemberSource). -
Сохраняются все действительные зависимости.
-
Служба обновляет
DependentCountвсех основных участников списка.
updateMembers по коду
-
Служба анализирует данные участников с полями, предоставленными в
headers.headersдолжны содержать все метаданные полей, используемые в списке участников. -
Данные
membersдолжны иметь код. Если код не найден в данных участников, служба выдает ошибку. -
Служба обрабатывает новые
GroupClass. Если служба используетGroupClass.NameвместоGroupClassId, она извлекаетGroupClassс именем и создает новоеGroupClassс таким же именем, если оно не найдено.- Если у службы есть
GroupClass.Name, добавьте такжеAccountIdв данные участников. -
headerдляGroupClass.Name:{"type":"STRING","label":"Group Class Name","fieldId":"","name":"GroupClass.Name"}.
- Если у службы есть
-
Служба обрабатывает
PrimaryGroupCensusMemberIdдля зависимых сPrimaryMemberSource.- Если вы предоставляете
PrimaryMemberSource, служба также обновляетPrimaryGroupCensusMemberId.
- Если вы предоставляете
-
Службы обрабатывают
PrimaryMemberSourceдля зависимых сPrimaryGroupCensusMemberId.-
Если у службы есть и
PrimaryMemberSource, иPrimaryGroupCensusMemberId, служба учитываетPrimaryGroupCensusMemberIdв качестве источника и обновляетPrimaryMemberSourceзависимых, чтобы содержатьSourceSystemIdentifierосновных.
-
-
Служба сохраняет всех участников, включая зависимых.
-
Служба не определяет зависимых детей-сирот.
-
Служба обновляет
DependentCountвсех основных участников списка.
Удаленные параметры
Параметр |
Описание |
|---|---|
|
Обязательно. Код переписи с участниками для обновления. |
|
Обязательно. Ввод JSON со сведениями для участников для обновления. |
updateById
|
Дополнительно Если установлено true, служба следует Значение по умолчанию — false. |
Алгоритм обслуживания
Понимание влияния разных вводных данных на результаты обслуживания.
| Ввод | updateById | Вывод обслуживания |
|---|---|---|
Нет censusId |
true или false | Служба возвращает ошибку: |
| Нет вводных данных переписи 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"
}