Главное

Хранение комментариев Tolstoy Comments в собственной базе

Зачем? Для кого? Плюсы, минусы? Подводные камни?

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

  • А что будет, если вы завтра забросите свой стартап?
  • А если у вас электричество вырубят?
  • А как же хранение данных пользователя (а комментарии несомненно данные пользователя) на серверах в России?
  • А что насчет индексирования поисковиками?
Специально для вас мы обзавелись API экспорта комментариев.

Слово предоставляется, CTO Tolstoy Comments, Сергею Алексееву:

– Для выгрузки комментариев с сайта tolstoycomments.com необходимо получить ключ доступа к API в разделе "Код" панели администрирования. 

Там же копируем SITE_ID.

API получения списка комментариев

Все запросы к API нужно формировать на домен https://api.tolstoycomments.com Для получения списка комментариев нужно сделать GET запрос:

/api/export/[API_KEY]/site/[SITE_ID]/comment

- вернет 100 последних комментариев с сайта.

Для получения следующих 100 комментариев нужно подставить значение из поля comment_last_id в новый запрос к API:

/api/export/[API_KEY]/site/[SITE_ID]/comment/[COMMENT_LAST_ID]

- вернет 100 последних комментариев с сайта которые были написаны раньше комментария COMMENT_LAST_ID

Выполняя запросы к API циклично, можно получить все комментарии, написанные за все время на вашем сайте.

Структура ответа сервера:

/// json
{
"query": {
"site_id": 0, // переданный в заголовке ваш id сайта
"skip": null // переданное значение параметра COMMENT_LAST_ID
},
"data": {
"count": 41, // кол-во комментариев в выгрузке
"comment_last_id": null, // id последнего комментария для выгрузки следующей страницы, если null то значит это последняя страница
"comments": [
{
"id": 186, // id комментария (формат - число)
"message": "Текст сообщения", // текст сообщения (формат - текст)
"ip": "", // ip адрес автора комментария  (формат - текст)
"datеtime": "2017-11-27T10:06:08+00:00", // дата написания (формат - текст)
"rating": 1, // значение рейтинга (формат - число)
"attaches": [], // прикрепленный материал (формат - json)
"visible": true, // true - комментарий опубликован на сайте, false - скрыт/удален/помечен как спам (формат - bool)
"user": {
"id": 0, // id пользователя (формат - число)
"nick": "help", // ник (формат - текст)
"name": "help", // имя на сайте (формат - текст)
"email": "help@tolstoycomments.com", // email (формат - текст)
"phone": "", // телефон (формат - текст)
"avatar": null // ссылка на аватар (формат - текст)
},
"chat": {
"id": 0, // id чата (формат - число)
"url": "https://tolstoycomments.com/", // ссылка на страницу чата (формат - текст)
"title": "Tolstoy comments - современные чаты на твоем сайте" // title чата (формат - текст)
}
}
]
}
}

Для индексации комментариев поисковиками, они должны находиться в вашей локальной базе данных и отрисовываться на html страницах с помощью вашего сайта, без использования виджета Tolstoy Comments. В общем виде процесс синхронизации выглядит так:

  1. Необходимо создать таблицы для хранения комментариев
  2. Добавить контроллер, которые будет получал комментарии через определенный интервал времени
  3. Вывести комментарии из локальной базы данных на страницу
Вопросы принимаются в чате.

Комментарии

нейромодерация вкл