API Пьедестала
Методы API:
Общее
Информация о лицензии: groupStatusGet
Рейтинг
Изменение рейтинга пользователя: ratingUserChange
Получение рейтинга пользователей: ratingUserGet
Получение топ-100 рейтинга: ratingUserTopGet
Магазин
Получение баланса пользователей: marketUserBalanceGet
Изменение баланса пользователя: marketUserBalanceChange
Массовое изменение баланса пользователей: marketUserBalanceChangeAll
ОшибкиПозднее появится метод редактирования баллов текущего периода. Пишите нам, каких методов еще не хватает.
Описание API
Каждый метод работает с GET и POST. Ответ от сервера в формате JSON.
Ограничение: 10 запросов в секунду с ip-адреса. Для популярных сервисов, где от многих пользователей запросы идут с 1 ip-адреса, лимит значительно увеличен.
Генерация ключа и права доступа:
Ключ создаётся на вкладке «настройки → администратору → API»:

Всего можно создать 6 ключей на каждую группу. У ключей есть разграничение по правам:
Только чтение — ключу будут доступны только методы получения данных. Использовать метод изменения данных, например, изменение баланса пользователя, не получится. Создайте такой ключ, если знаете, что в сервисе, в котором будете его использовать, не понадобятся права на изменение данных.
Чтение и изменение — доступны все методы.
Методы API
Информация о лицензии
Метод: groupStatusGet
GET/POST https://pedestal.aiva-studio.ru/apiv1/groupStatusGet.php?access_token=Ключ_доступа
Пример ответа сервера:
{"response":
{
"is_exist_group_token":"1", // Наличие токена группы ВК
"period_start_date":"1584316800", // Начало периода в формате Unixtime
"period_stop_date":"1584921600", // Окончание периода в формате Unixtime
"widget_autoupdate_date_last":"1584605131", // Дата последнего обновление виджета
"widget_autoupdate_date_next":"1584619531", // Дата следующего обновление виджета
"group_pay_rating_date_end":"1684347144", // Дата окончания лицензии рейтинга
"group_pay_covers_date_end":"1684347144", // Дата окончания лицензии обложек
"last_error_widget_update":"0" // Код последней ошибки обновления виджета
}
}
Изменение рейтинга пользователя
Метод: ratingUserChange
Важно: изменение рейтинга по API с точки зрения влияния на рейтинг не отличается от ручного изменения баллов через интерфейс, поэтому рекомендуем ознакомиться с нюансами изменения баллов рейтинга у пользователя.
Принимает:
- user_id — id пользователя ВКонтакте, которому нужно отредактировать баллы рейтинга;
- change — на какое кол-во баллов изменяем рейтинг. Если нужно списать баллы, то число со знаком минус.
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/ratingUserChange.php?access_token=Ключ_доступа&user_id=27196517&change=100
Пример ответа сервера:
{"status":"ok"}
Получение рейтинга пользователей
Возвращает неотсортированный массив объектов с информацией о рейтинге пользователей текущего периода.
Метод: ratingUserGet
Принимает:
- user_ids — массив id пользователей ВКонтакте, по которым надо получить кол-во баллов из рейтинга (максимум 2000). Если не указан, возвращаются данные по всем пользователям, с ограничением count;
- details — если равен 1, то в ответе будет информация о количестве учтённых лайков, комментариев, голосований и постов (по умолчанию 0). Учтёнными активностями считаются те активности, за которые начислены баллы. Если комментарий не прошёл по кол-ву символов, то это не учтённый комментарий;
- offset — смещение;
- count — максимальное количество результатов (1000 по умолчанию, максимум 2000).
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/ratingUserGet.php?access_token=Ключ_доступа&user_ids=1,2&details=1
Пример ответа сервера:
{
"response":[
{
"id_user_vk":"1", // id пользователя Вконтакте
"rating":"10", // Кол-во баллов в рейтинге
"count_likes":"2", // Кол-во учтённых лайков
"count_comments":"36", // Кол-во учтённых комментариев
"count_polls":"0", // Кол-во учтённых голосов
"count_walls":"10" // Кол-во постов (с предложки или на стене)
},
{
"id_user_vk":"2",
"rating":"10",
"count_likes":"2",
"count_comments":"0",
"count_polls":"3",
"count_walls":"1"
}
]
}
Получение топ-100 рейтинга
Возвращает топ-100 пользователей из рейтинга текущего периода в сортировке по количеству баллов.
Метод: ratingUserTopGet
Принимает:
- details — если равен 1, то в ответе будет информация о количестве учтённых лайков, комментариев, голосований и постов (по умолчанию 0);
- count — максимальное количество результатов (по умолчанию 10, максимум 100).
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/ratingUserTopGet.php?access_token=Ключ_доступа&count=3
Пример ответа сервера:
{
"response":[
{
"id_user_vk":"16238909",
"rating":"15"
},
{
"id_user_vk":"30134515",
"rating":"15"
},
{
"id_user_vk":"84674297",
"rating":"15"
}
]
}
Получение баланса пользователей
Возвращает неотсортированный массив пользователей с балансом «мгагазина»
Метод: marketUserBalanceGet
Принимает:
- user_ids — массив id пользователей ВКонтакте, баланс которых надо получить (максимум 5000). Если не указан, возвращаются все пользователи с ограничением count;
- offset — начальное смещение;
- count — максимальное количество результатов (по умолчанию 1000, максимум 5000).
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/marketUserBalanceGet.php?access_token=Ключ_доступа&user_ids=1,2
Пример ответа сервера:
{
"response":[
{
"id_user_vk":"1",
"balance":"59"
},
{
"id_user_vk":"2",
"balance":"0"
}
]
}
Изменение баланса пользователя
Изменяет баланс указанного пользователя на указанную величину. Добавляет / списывает, а не задаёт новое точное значение. Операция добавления / списания попадает в историю операций.
Метод: marketUserBalanceChange
Принимает:
- user_id — id пользователя ВКонтакте, баланс которого надо изменить;
- coins — величина изменения. Может быть как положительной, так и отрицательной.
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/marketUserBalanceChange.php?access_token=Ключ_доступа&user_id=1&coins=5
Пример ответа сервера:
{"status":"ok"}
Массовое изменение баланса пользователей
Изменяет баланс по заданному списку или у всех пользователей.
Метод: marketUserBalanceChange
Принимает:
- goal — «balance_positive» — баланс изменится у тех пользователей, у кого он больше нуля, «from_list» — если нужно изменить баланс пользователям из списка. (Обязательный параметр);
- from_list — список идентификаторов пользователей, которым будет изменён баланс (только для goal=from_list);
- coins — величина изменения. Может быть как положительной, так и отрицательной.
Пример запроса:
GET/POST https://pedestal.aiva-studio.ru/apiv1/marketUserBalanceChangeAll.php?access_token=Ключ_доступа&goal=balance_positive&coins=-3
Пример ответа сервера:
{"status":"ok"}
Ошибки
В случае ошибки возвращается объект с кодом ошибки error_code и описанием error.
Возможные error_code:
- 208 — метод нельзя вызывать так часто;
- 400 — некорректный запрос;
- 402 — требуется оплата приложения;
- 403 — в доступе отказано;
- 404 — ключ группы не найден;
- 429 — слишком много запросов;
- 500 — внутренняя ошибка сервера.
Пример ответа с ошибкой:
{
"error_code":404,
"error":"group or token not found"
}