наверх
SSO
Технология единого входа (SSO)

Система SiteHeart позволяет передавать в чат информацию о пользователе. Это означает, что авторизированные пользователи Вашего сайта могут общаться в чате от своего имени.

Для этого необходимо:

  1. В административном разделе "Настройка API" ввести "Секретный ключ".
  2. Изменить или указать серетный ключ можно здесь.
  3. В код вставки виджета добавить параметр auth (см.подробнее)
Формирование значения параметра auth

Параметр auth формируется из 3-х частей:

  1. Информация о пользователе
  2. Время unixtime по UTC
  3. Сигнатура (цифровая подпись)

Эти параметры строки auth должны быть разделены _. Итоговая строка должна иметь вид:

eyJpZCI6IjEyMyIsIm5pY2siOiJEaW1hIn0=_1373454609_0a76ca05a51ee9da5053b5fe 
//"USERINFO_TIME_SIGNATURE"
Формирование массива данных о пользователе (USERINFO)

Для того чтобы передать в чат данные о клиенте необходимо сформировать JSON строку

{
  nick   : 'Dmitry',
  id     : '18', 
  avatar : 'http://graph.facebook.com/412831238798731/picture',
  email  : 'usermail@mail.com',
  data   : {
  	key1 : 'val1',
  	key2 : 'val3'
  },
  verify : {
  	key1 : 'val1',
  	key2 : 'val3'
  }
}
Все параметры являются не обязательными.
Параметр Описание
nick Ник клиента, используется для отображения в чате
id Уникальный идентификатор клиента на вашем сайте. Используется для аутентификации клиента и хранения истории переписки с этим клиентом.
avatar Аватар клиента, отображается в чате.
email E-mail клиент.
data Любая дополнительная информация о клиенте, которую вам нужно передать операторам в чат. Эти данные смогут видеть только операторы при подключении к диалогу
verify Любые верифицированные данные о клиенте. Эти данные будут передаваться по API форм и могут служить для верификации клиента.

Далее необходимо кодировать эту JSON строку используя алгоритм Base64.

base64_encode($json)
Формирование сигнатуры (SIGNATURE)

Сигнатура формируется как md5 хэш от склеенной строки "Секретный ключ"+"Информация о пользователе"+"Время":

md5(SECRETKEY+USERINFO+TIME)
Пример формирования значения параметра auth на PHP

Формирование строки auth:

$time        = time();
$secret      = "SECRETKEY"; // Секретный ключ,
который Вы ввели в административной панели сайта.
$user_base64 = base64_encode( json_encode($json) );
$sign        = md5($secret . $user_base64 . $time);
$auth        = $user_base64 . "_" . $time . "_" . $sign;

Передаем значение параметра auth в код вставки виджета:

_shcp.push({widget_id : 1, auth : '<?php echo $auth;?>'});

Если вы открываете чат по ссылке то парамет auth можно передать в виде GET параметра.