Передача идентификатора клиента
- База знаний
- Виджет
- Передача идентификатора клиента
Если клиент авторизуется на сайте или в мобильном приложении, где используется виджет Chat2Desk или SDK, то при первом его обращении в онлайн-чате сайт может получить и передать идентификатор сессии clientKey, который позволяет определить, что диалог ведется с конкретным клиентом. Аналогично можно передать информацию о клиенте в его карточку в Chat2Desk.
Получение и сохранение идентификатора поможет определять клиента в будущем, и система не будет создавать отдельный чат при его обращении. Однако при повторном обращении понадобится повторная передача идентификатора. Благодаря этому также будет проще сохранять историю переписки в одном чате.
Обратите внимание, что каждый раз идентификатор передавать не требуется: Chat2Desk создаст новый чат только в случае, если у клиента сбросятся cookie на сайте или при переустановке мобильного приложения.
Какие данные могут передаваться:
- ID;
- имя;
- телефон;
- комментарий;
- кастомные поля.
Чтобы эта информация передавалась, в код виджета или SDK нужно вставить соответствующий код на страницу.
Получение clientKey
Благодаря clientKey можно сохранить идентификатор сессии клиента, что позволит продолжать переписку в том же диалоге:
<script>
document.addEventListener('initialize_widget', (event) => {
console.log('clientKey:', event.detail.clientKey)
})
</script>
Передача clientKey в онлайн-чат
<script>
document.addEventListener('before_initialize_widget', () => {
const chat24 = document.querySelector('#chat24-root chat-24')
chat24.setClientKey("clientKey")
})
</script>
Получение списка кастомных полей
<script>
document.addEventListener('initialize_widget', () => {
const chat24 = document.querySelector('#chat24-root chat-24')
console.log('CustomFields', chat24.getCustomFields())
})
</script>
Передача данных клиента через API онлайн-чата
<script>
document.addEventListener('initialize_widget', () => {
const chat24 = document.querySelector('#chat24-root chat-24')
/**
*
* @param name: string | undefined Имя клиента
* @param phone: string| undefined Телефон клиента
* @param customFields: {[key: number]: string} Список значения для кастомных полей формата
* ключ: значение, где ключ - ID кастомного поля
*/
chat24.sendClientInfo({
name: 'Client name',
phone: 'Client phone',
customFields: {
[fieldId]: fieldValue
}
})
})
</script>