Проверка репоста через VK API
Для полноценной настройки нам понадобится пройти всего несколько шагов:
- Создание сервисного ключа
- Сохранение сервисного ключа
- Ограничения ВКонтакте
- Настройка схемы
Создание сервисного ключа
Для создания сервисного ключа переходим по ссылке выбираем «Standalone». Указываем свой сайт, получаем сервисный ключ и сохраняем его в блокнот.



Сохранение сервисного ключа
Для сохранения сервисного ключа открываем ваш проект -> Автоматизация -> Глобальные переменные. Записываем сервисный ключ в текстовое поле.

Скопировали название, отлично, идем настраивать схему!
Ограничения ВКонтакте
Важно! Метод wall.get имеет свои ограничения — 5000 вызовов в сутки. Будьте внимательны.
Метод wall.search имеет свои ограничения — 1000 вызовов в сутки. Будьте внимательны.Также имейте в виду, что иногда эти методы могут вести себя некорректно, и, например, не сразу увидеть удаленный репост.
Пример ответа на данные методы:
{"response":{"count":111,"items":[{"id":1970,"from_id":408053834,"owner_id":408053834,"date":1643406060,"post_type":"post","text":"#Автопилот и далее текст
Настраиваем блок-схему
- Создаем событие «Репост поста»
- Создаем условие «Бот или Интеграция, запустившие событие» где выбираем сообщество, для которого настраиваем схему.
- Создаем действие «Отправить сообщение пользователю» с текстом, что репост будет проверен.
- Создаем действие «Отменить таймеры и ожидание событий» с уникальным названием, например, названием сообщества и ID поста, пример: club223597529_respost_{var:object.id}
- Создаем действие «Запустить таймер» с нужной задержкой и уникальным названием, например, названием сообщества и ID поста (оно должно совпадать с блоком отмены таймера), пример: club223597529_respost_{var:object.id}
- Создаем действие «Задать пакет временных переменных»
-
Переменная access_token cо значением:
{global:forpost.text}
-
Переменная query cо значением, которое будем искать в посте:
#Автопилот
-
Переменная v cо значением:
5.131
- Создаем действие «Отправить запрос на внешний сайт»
- Вставляем нужный метод. Например, этот.
- Метод отправки выбираем «PHP POST»
- Формат результата выбираем «JSON»
- Нажимаем галочку «Добавить параметры запроса» и добавляем нужные параметры из примеров ниже.
- При необходимости, или для тестирования, ставим галочку «Сохранить результат в переменную» и указываем свою переменную. Например
response
- Для сохранения количества найденных постов рекомендуется сохранять ее в переменную, например, {var:count} со значением:
{var:response.response.count}
Параметры запроса:
owner_id - Идентификатор пользователя или сообщества. В примере: {var:platform.user.id}
query - Поисковой запрос. Для точного результата запрос необходимо передавать в двойных кавычках. Макс. длина = 9000. В примере: {var:query}
count - Количество записей, которые необходимо вернуть. Положительное число, по умолчанию — 20, максимальное значение 100. В примере: 100
access_token - сервисный ключ доступа для запросов. В примере: {var:access_token}
v - Версия VKAPI для запросов. В примере: {var:v}
Формат передачи данных: JSON



1) Для того, чтобы проверить есть ли репост на месте, достаточно проверить через условие, что переменная {var:count} больше 0
2) Если {var:count} больше 0, то репост присутствует на странице пользователя, поэтому отправляем текст:
{user:first_name}, спасибо за репост
3) Если нет, то отправляем сообщение :
{user:first_name}, нет репоста
Рекомендуется выводить результат проверки в служебный чат для проверки менеджерами, т.к. методы работают нестабильно.
Для нетерпеливых схема.