Информация о посетителе

Внимание! Данный функционал является экспериментальным.

GoTalk имеет уникальную возможность экспортировать любую информацию о посетителе оператору. Буквально - если посетитель "узнан" вашим сайтом, то всю информацию, которую может получить сайт, можно передать на сервис GoTalk и продемонстрировать оператору.

Принцип работы

На страницы сайта устанавливается идентификатор посетителя - текстовый идентификатор, однозначно определяющий посетителя на сайте. В случае, когда сервису GoTalk требуется представить оператору информацию о посетителе (например когда посетитель зашёл в чат), сервис запросит указанный в настройках акаунта URL. Запрос осуществляется методом POST, в запросе будут указан идентификатор посетителя. Скрипт, установленный на сайте, должен выдать информацию о посетителе в определённом виде.

Примеры использования

Данный механизм может быть эффективно использован при интеграции с любыми сайтами, так или иначе получающими сведения о своих посетителях. К примеру, интернет-магазин может передавать оператору информацию о последних заказах посетителя, его телефон, адрес доставки и т.д. Сайт провайдера может информировать оператора о балансе счёта посетителя, тарифном плане, дополнительных услугах.

Как подключить услугу

На данный момент включить данный механизм вы можете только обратившись к нам. Услуга предоставляется бесплатно. Мы готовы оказать помощь в установке и настройке услуги.

Идентификатор

Для того, чтобы указать идентификатор посетителя, достаточно сгенерировать код вида:

<script language="javascript">
var dtalk_local_visitor_id ='1:3ea45fdcec8e4add84adfbc2d00d5083';
</script>

Здесь dtalk_local_visitor_id может быть любой строковой переменной, позволяющей сайту определить посетителя. Однако настоятельно рекомендуется защищать его от подделки, к примеру не указывать идентификатор пользователя явно, а "заворачивать" его в md5-хэш с некоторой парольной фразой:

// Пример на PHP
define ("GOTALK_PASSPHRASE", "gotalkpassphrase");
$dtalk_local_visitor_id = $user_id.":".(md5 ($user_id.GOTALK_PASSPHRASE));

Обработка запросов сервиса

Запрос на получение параметров отправляется сайту по указанному в настройках URL методом POST. Единственным аргументом является POST-параметр xmlrequest, содержащий xml-документ. Ответом сайта должен быть также xml-документ.

Пример запроса:
<?xml version="1.0"?>
<root>
<request type="visitor_info" visitor_id="1:3ea45fdcec8e4add84adfbc2d00d5083"/>
</root>

В этом запросе visitor_id - это идентификатор посетителя, описанный выше.

Пример ответа:
<?xml version="1.0"?>
<root>
<response type="visitor_info" visitor_id="1:3ea45fdcec8e4add84adfbc2d00d5083">
<info name="account_id" display_name="Логин пользователя на сайте" value="shandor"/>
<info name="account_name" display_name="Количество покупок за всё время" value="15"/>
<info name="account_username" display_name="Товаров в корзине" value="5"/>
<info name="account_email" display_name="Баланс счёта" value="15"/>
<info name="account_url" display_name="ФИО" value="Вася"/>
<info name="account_balance" display_name="Адрес доставки" value="Скотопрогонный проезд, д. 17"/>
</response>
</root>

В ответе должен быть указан тип и идентификатор посетителя (visitor_id) - как и в запросе. Ответ может содержать любое кол-во блоков info, в каждом из которых присутствуют следующие атрибуты:

  • name - идентификационное название поле (латинскими буквами и цифрами)
  • display_name - название поле, демонстрируемое оператору
  • value - значение поле, демонстрируемое оператору

Безопасность

Мы настоятельно рекомендуем хэшировать или иным образом защищать от возможной подделки идентификатор посетителя. Желательно также ограничить доступ к URL, по которому выдаются запросы, например, разрешив доступ только с сервиса gotalk.ru (по ip-адресу).

Примеры кода

За основу вы можете взять пример кода для php5: скачать.