Зачем? Для кого? Плюсы, минусы? Подводные камни?
Возможно вы параноик, контрол-фрик или просто супер ответственный админ, и не привыкли полагаться на чужие сервера. Поэтому сторонние решения для систем комментирования всегда вызывали у вас скептическую улыбку.
- А что будет, если вы завтра забросите свой стартап?
- А если у вас электричество вырубят?
- А как же хранение данных пользователя (а комментарии несомненно данные пользователя) на серверах в России?
- А что насчет индексирования поисковиками?
Специально для вас мы обзавелись 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. В общем виде процесс синхронизации выглядит так:
- Необходимо создать таблицы для хранения комментариев
- Добавить контроллер, которые будет получал комментарии через определенный интервал времени
- Вывести комментарии из локальной базы данных на страницу
Вопросы принимаются в чате.