setUserCustomFields

Метод устанавливает пользователю значения дополнительных полей

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']
  }
}

Описание объекта SetUserCustomFieldsResult

Ключи объекта – идентификаторы дополнительных полей. Каждое дополнительное поле содержит следующую информацию

Параметр Тип Описание
name string Название поля
type string Тип поля
units string или null Единица измерения. Может быть пустым
value number, string или Array Значение поля. Array – для multi_select

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

Примеры

Изменить значения дополнительных полей пользователя по его email

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

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании