Skip to main content

Как онлайн-чат Teletype идентифицирует пользователя и сохраняет историю

После того как пользователь впервые отправляет сообщение через онлайн-чат Teletype, в localStorage браузера сохраняются два параметра:

  • teletype-[ID виджета]-person_id — идентификатор пользователя (персоны);
  • teletype-[ID виджета]-appeal_id — идентификатор его текущего обращения (диалога).

Например:
teletype-FfE1id7F0ZhDet-TBxXWJk3LwzfrHSY9OoR0jjOLk-zOlZ3PN4d81hAAmL8TYuiW-person_id

teletype-FfE1id7F0ZhDet-TBxXWJk3LwzfrHSY9OoR0jjOLk-zOlZ3PN4d81hAAmL8TYuiW-appeal_id

Эти идентификаторы позволяют Teletype при следующем открытии сайта определить пользователя и загрузить соответствующую ему историю переписки.
Важно учитывать, что значения хранятся именно в браузере, а не привязаны к учетной записи пользователя на вашем сайте. Поэтому если несколько авторизованных пользователей поочередно работают на сайте из одного браузера и одного профиля браузера, Teletype по умолчанию будет использовать сохраненные там идентификаторы. В результате следующий пользователь может увидеть историю предыдущего.

Если на сайте предусмотрена собственная авторизация пользователей, необходимо со стороны сайта управлять этими значениями при смене пользователя:

  • либо очищать person_id и appeal_id при выходе/смене пользователя — тогда для следующего пользователя будет создан новый диалог;
  • либо хранить соответствующие person_id и appeal_id отдельно для каждого пользователя и при его авторизации подставлять его собственные значения.

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

Оглавление