Данный метод синхронизации позволяет сохранять отзывы Cackle в базу данных вашего локального сервера для хранения и индексации поисковыми системами, а также обновлять статусы и сообщения отзывов
include_once(dirname(__FILE__) . '/cackle_review.php');
$product_id = 12; //идентификатор страницы с отзывом
$a = new CackleReview(true,$product_id);
Мы крайне рекоммендуем при интеграции смотреть на код реализованные в Общем решении на PHP указанный выше. Тем не менее, ниже будет описан общий алгоритм синхронизации.
{
"id":18874,
"siteId":28333,
"star":5,
"pros":"Pros test",
"cons":"Cons test",
"comment":"Comment test",
"media":"http://media.cackle.me/ba45c8f60456a672e003a875e469d0eb.jpg",
"up":0,
"down":0,
"created":1417596224333,
"status":"approved",
"details":[],
  "author": { "id":72343,
    "email":"email@gmail.com",
    "name":"Author name",
    "www":"https://plus.google.com/link_to_google",
    "provider":"googleplus",
    "openId":"https://plus.google.com/openId"
  }
},
"chan": {
  "id":12024,
  "channel":"13",
  "url":"http://localhost/cackle_review/cackle/page.php",
  "title":""},
  "ip":"91.202.45.183",
  "modified":"1417596224333"
}}
Для сохранения Cackle отзывов в локальную базу данных, необходима таблица со следующими полями:
После того как таблица, в которую вы будете сохранять отзывы готова, можно приступить к реализации процесса синхронизации отзывов. Первое, что вам нужно сделать - это контроллер, который бы запрашивал Cackle отзывы раз в 5 минут. Отзывы доступны по следующему адресу API:
Где siteId (siteId), siteApiKey (Site API Key) и accountApiKey (Account API Key) можно получить в панели администратора на вкладке "Установить", снизу выбрав WordPress плагин, как показано на рисунках ниже:
|  |  | 
Необязательный параметр modified - время последнего изменения. То есть, данный запрос вернет все отзывы modified которых больше чем modified в запросе. Все возвращаемые отзывы упорядочены по review_id.
Необязательный параметр size - возвращает опр.кол-во отзывов
Необязательный параметр page - возвращает отзывы с определенной (page) страницы. Это необходимо если кол-во отзывов превышает size.
Итак у нас есть контроллер, который раз в 5 минут запрашивает отзывы, отсортированные по id. После каждого такого запроса, необходимо либо сохранить отзывы в базу данных либо обновить статус сообщений. Далее необходимо сохранить максимальный review_id и modified. Далее, в следующем запросе, передать максимальный modified в modified параметре API запроса.
Алгоритм:
$since = "SELECT MAX(modified) FROM reviews"&modified={$since}$sinceНаконец, после того как Cackle отзывы оказались в вашей локальной базе данных, вы можем вывести их на HTML страницу для поисковой индексации, в следующем виде:
<div id="mc-review">
    [... отрисуйте отзывы из локальной базы данных тут ...]
</div>
<script>
    document.getElementById('mc-review').innerHTML = '';
    [... Cackle код виджета отзывов ...]
</script>