Передача идентификатора клиента

Если клиент авторизуется на сайте или в мобильном приложении, где используется виджет 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>

Также по теме