Метод устанавливает пользователю значения дополнительных полей
import { setUserCustomFields } from '@getcourse/sdk'
async function setUserCustomFields(
ctx: app.Ctx,
params: SetUserCustomFieldsParams
): Promise<SetUserCustomFieldsResult[]>
type gcBoolean = 1 | 0
/** format: '05.09.2023' */
type dateStr = string
/** format: 'https://fs.getcourse.ru/fileservice/file/download/a/163699/sc/311/h/e1c6087ed86ac73a1e4895df6df80f9b.png' */
type fileUrl = string
type userIdOrEmail = { userId: number } | { email: string }
type SetUserCustomFieldsParams = userIdOrEmail & {
fields: { [fieldId: string]: string | number | gcBoolean | string[] | dateStr }
}
interface SetUserCustomFieldsResult {
[fieldId: string]: {
name: UserCustomFields['title'],
value: SetUserCustomFieldsParams['fields'][string] | fileUrl,
type: UserCustomFields['type'],
units: UserCustomFields['units']
}
}
Ключи объекта – идентификаторы дополнительных полей. Каждое дополнительное поле содержит следующую информацию
Параметр | Тип | Описание |
---|---|---|
name | string | Название поля |
type | string | Тип поля |
units | string или null | Единица измерения. Может быть пустым |
value | number, string или Array | Значение поля. Array – для multi_select |
Не важно, какие поля были изменены, в результате вернутся значения всех дополнительных полей пользователя.
import { setUserCustomFields } from '@getcourse/sdk'
let userCustomFields = await setUserCustomFields(ctx, {
email: 'denis@chatium.io',
fields: {
'1528736': 'new str val', // string
'1528738': 1, // bool
'1528739': 'variant 1', // select
'1528740': ['variant 1', 'variant 3'], // multi_select
}
})
import { setUserCustomFields } from '@getcourse/sdk'
let userCustomFields = await setUserCustomFields(ctx, {
userId: 123456,
fields: {
'1528736': 'new str val', // string
'1528738': 1, // bool
'1528739': 'variant 1', // select
'1528740': ['variant 1', 'variant 3'], // multi_select
}
})
Получить список всех дополнительных полей с их идентификаторами можно с помощью метода getUserCustomFields