sonyps4.ru

Подключение callback api вконтакте инструкция. Отслеживание активности сообщества вконтакте

Чтобы включить интеграцию на Вашем аккаунте Webim , выполните следующие шаги:

  1. Зайдите в Личный кабинет сервиса Webim и проверьте номер своей версии сервиса. Номер версии отображается слева внизу каждой страницы ЛК:
  2. Если у Вас Webim старее версии 8.14, обратитесь, пожалуйста, в для обновления сервиса.

  3. Отправьте в запрос на активацию функции интеграции с сообществами ВКонтакте.
  4. После того как версия Webim обновлена, войдите в сеть ВКонтакте и откройте страницу сообщества, которое хотите связать с учётной записью Webim.
  5. Нажмите кнопку Управление сообществом (Manage community):


    Откроется страница Настройки выбранного сообщества.

  6. Вам нужно использовать для входа такую учётную запись ВКонтакте, которая имеет статус Владелец , Администратор или Редактор в этом сообществе.Чтобы увидеть статус аккаунтов руководства сообществом, выберите вкладку Участники (Members), на ней Руководители (Management):


  7. Убедитесь, что в этом сообществе включен сервис сообщений. Для этого перейдите на страницу Сообщения выбранного сообщества:

  8. Найдите опцию Сообщения сообщества (выделена красным на иллюстрации выше). Если сообщения выключены, включите их.
  9. На странице настроек сообщества перейдите к разделу Работа с API . Там выберите вкладку Ключи доступа и нажмите кнопку Создать ключ :

    Вкладка работы с API сообщества ВКонтакте:

    Откроется форма Создание ключа доступа .

  10. В этой форме выберите пункт Разрешить приложению доступ к сообщения сообщества и нажмите кнопку Создать :

    Форма создания ключа доступа:

    Откроется форма Подтверждение действия .

  11. Вид и функциональность этой формы зависят от персональных настроек аккаунта и мобильного устройства. Если система предлагает выбор, то выберите удобный и доступный способ подтверждения, например, через SMS:

    Форма подтверждения действия:

  12. Дождитесь короткого сообщения на телефон с кодом подтверждения:

  13. Введите его в поле Код подтверждения и нажмите кнопку Отправить код :

    Ввод кода подтверждения:

    В случае ввода правильного кода Вы вернётесь на страницу Работа с API .

  14. На этой странице обратите внимание на появление сведений о только что созданном ключе. Выделите этот ключ доступа и скопируйте его в буфер обмена:


  15. Не закрывая вкладки браузера с открытой страницей сообщества ВКонтакте, откройте новую вкладку браузера с сервиса Webim , страница , раздел Каналы общения :


  16. В блоке настроек каналов ВКонтакте нажмите кнопку Добавить сообщество . Откроется форма Добавление сообщества ВКонтакте :

  17. Найдите поле Название сообщества и введите там наименование, под которым этот канал будет отображаться в Личном кабинете оператора.
  18. Найдите поле Ключ доступа и вставьте в него ключ из буфера обмена:


  19. Далее, найдите в той же форме поле Адрес сервера


  20. Не закрывая вкладки браузера с открытой страницей ЛК Webim, перейдите обратно к странице настроек API сообщества ВКонтакте и выберите вкладку Callback API / Настройки .
  21. Найдите поле Адрес Вашего сервера и вставьте в него адрес сервера из буфера обмена, не нажимая кнопку "Подтвердить" :


  22. Ниже на странице настроек найдите поле Строка, которую должен вернуть сервер и скопируйте её в буфер обмена:


  23. Вернитесь на вкладку ЛК Webim, найдите поле Код подтверждения и вставьте в него содержимое буфера обмена:


  24. Ниже на странице настроек Webim найдите поле Секретный ключ и скопируйте его содержимое в буфер обмена:


  25. Вернитесь на страницу настроек сообщества ВКонтакте, найдите поле Секретный ключ , вставьте в него содержимое буфера обмена и нажмите Сохранить :


  26. Переключитесь на страницу ЛК Webim. В нижней части формы выберите отдел из выпадающего списка, если пользователи данного канала должны попадать только на специалистов одного отдела, или оставьте значение Без отдела :


  27. В самом низу формы Webim нажмите кнопку Сохранить (см. иллюстрацию выше). Введённые значения полей будут проверены и сохранены. В случае успешной проверки и сохранения настроек форма закроется, на экране снова появится страница настроек каналов общения, на которой в списке появится только что созданный канал.
  28. Переключитесь на страницу настроек сообщества ВКонтакте и нажмите кнопку Подтвердить (если настройки вводятся повторно, кнопка будет называться Обновить ). После этого данные проверяются, и в случае успеха настройки сохранятся, а ниже появится надпись Адрес сервера успешно сохранён :


    В ином случае на этом же месте появится сообщение об ошибке:


  29. Выберите вкладку Callback API / Типы событий . На ней в разделе Сообщения отметьте флажок в поле Входящее сообщение , чтобы сервер Webim начал получать от сети ВКонтакте уведомления о новых личных сообщениях в Вашем сообществе:


  30. На этом настройка интеграции между сервисами Webim и ВКонтакте завершена.

Писать будем используя Сallback api(отправляет каждое действие в сообществе по отдельности на сервер). Поэтому его тоже следует настроить. Переходим в
«Управление сообществом» →»Работа с API». Для работы бота нужно зарегистрировать ключ доступа. Нажимаете «Создать ключ» и выбираете необходимые права доступа, для этого бота нужны только права на сообщения. Подтверждаем номер телефона и сохраняем куда нибудь ключ доступа. Теперь переходим во вкладку Callback API. Ставим свое название сервера и выбираем последнюю версию API(на данный момент она 5.80, и именно с ней ниже представленный бот будет работать 100%) . Во вкладке «Типы запросов» выбираем только входящие сообщения.

Настройка сервера

Теперь вам понадобится сервер для хостинга своего бота. Вы можете использовать бесплатные хостинги, например 000webhost.

Если вы будете использовать дешевые/бесплатные хостинги, то вероятнее всего на них будет отключен cURL(вы не сможете отправлять ботом медиа файлы, только текст), и его нельзя включить. У 000webhost все с этим нормально, можете использовать. Если у вас свой сервер или хороший купленный, то вам надо подключить cURL для полноценной работы бота из нашего примера.

Как работает Callback API и keyboard

Проведу краткий экскурс как все работает. Сallback API отсылает на ваш сервер любое событие, которое происходит в группе виде JSON. Полный список событий можно посмотреть во вкладке «Сallback API» → «Типы событий». Вот так выглядит JSON запрос когда пользователь отправляет сообщение, в данном случае он нажал на кнопку:

{"type":"message_new","object":{"date":1529668584,"from_id":89846036,"id":1522,"out":1,"peer_id":89846036,"text":"Золотая рыбка","conversation_message_id":305,"fwd_messages":,"important":false,"random_id":0,"attachments":,"payload":"{\"animals\":\"Goldfish\"}","is_hidden":false},"group_id":101461081}

{ "type" : "message_new" , "object" : { "date" : 1529668584 , "from_id" : 89846036 , "id" : 1522 , "out" : 1 , "peer_id" : 89846036 , "text" : "Золотая рыбка" , "conversation_message_id" : 305 , "fwd_messages" : , "important" : false , "random_id" : 0 , "attachments" : , "payload" : "{\"animals\":\"Goldfish\"}" , "is_hidden" : false } , "group_id" : 101461081 }

Тут есть несколько интересных полей, которые можно обработать: id пользователя, текст сообщения(text), полезная нагрузка кнопки(payload).

Отправка сообщений пользователю происходит с помощью метода messages.send . Если вы отправляете клавиатуру, то после всех стандартных параметров вы добавляете параметр keyboard, который содержит json кнопок, вот как он выглядит:

Keyboard: { "one_time": false, "buttons": [ [{ "action": { "type": "text", "payload": "{\"button\": \"1\"}", "label": "Red" }, "color": "negative" }, { "action": { "type": "text", "payload": "{\"button\": \"2\"}", "label": "Green" }, "color": "positive" }]

keyboard : {

"one_time" : false ,

"buttons" : [

"action" : {

"type" : "text" ,

"payload" : "{\"button\": \"1\"}" ,

"label" : "Red"

"color" : "negative"

"action" : {

"type" : "text" ,

"payload" : "{\"button\": \"2\"}" ,

"label" : "Green"

"color" : "positive"

Работа с библиотекой

Для работы бота мы используем самописную библиотеку на PHP. (Если ссылка не работает, то вот архив)вы можете найти документацию к библиотеке и скачать саму библиотеку. Вот короткий листинг готовых функций для написания бота, подробнее ищите по ссылке выше. Если вы хотите узнавать об изменениях в библиотеке, то напишите хотя бы одно сообщение нашему боту в ВК , через него мы будет вас оповещать об изменениях.

$vk = new vk_api(vk_key, version_api) — инициализация бота. Параметры: ключ сообщества(vk_key), версия API(version_api).

sendMessage(id, text) — функция отправки сообщений юзеру. Параметры: id пользователя(id), текст сообщения(text).

sendImage(id, patch) — функция отправки изображений. Параметры: id пользователя(id), путь до изображения(patch).

sendButton(id, text, buttons, one_time) — функция отправки сообщения с кнопками. Параметры: id пользователя(id), текст сообщения(не может быть пустым)(text), массив с кнопками(buttons), не обязательный параметр one_time, по дефолту false, если поставить true, то после нажатия на любую кнопку клавиатура скроется.

request(method, array_arguments) — универсальная функция работы с методами. Параметры: method — название метода из официального api, array_arguments — массив параметров.

sendOK() — Бета функция. Используется вместо echo «ok», помогает в тех случаях, когда время работы скрипта долгое, и бот начинает повторять сообщения по несколько раз.
ВАЖНО: есть использовать эту функцию, то у вас не будет отображаться вывод ошибок. Во время дебага заменяйте на echo «ok»

Полный код бота на PHP

Теперь перейдем собственно к коду, где прокомментирована почти каждая строка.
Данный код поддерживается на PHP 5.6+
В блоке CONFIG укажите свой ключ доступа сообщества, ключ для подтверждения сервера а так же выбранную вами версию API.

Полный код бота

"Fish"], "А какие бывают?", "blue"]; //Код кнопки "Fish" const BTN_BACK = [["command" => "start"], "<< Назад", "red"]; // Код кнопки "<< Назад" const BTN_SALMON = [["animals" => "Pink_salmon"], "Горбуша", "white"]; // Код кнопки "Горбуша" const BTN_GOLDFISH = [["animals" => "Goldfish"], "Золотая рыбка", "blue"]; // Код кнопки "Золотая рыбка" const BTN_PLOTVA = [["animals" => "Plotva"], "Плотва", "green"]; // Код кнопки "Плотва" $vk = new vk_api(VK_KEY, VERSION); // создание экземпляра класса работы с api, принимает ключ и версию api $data = json_decode(file_get_contents("php://input")); //Получает и декодирует JSON пришедший из ВК if ($data->type == "confirmation") { //Если vk запрашивает ключ exit(ACCESS_KEY); //Завершаем скрипт отправкой ключа } $vk->sendOK(); //Говорим vk, что мы приняли callback if (isset($data->type) and $data->type == "message_new") { //Проверяем, если это сообщение от пользователя $id = $data->object->from_id; //Получаем id пользователя, который написал сообщение $message = $data->object->text; if (isset($data->object->peer_id)) $peer_id = $data->object->peer_id; // Получаем peer_id чата, откуда прилитело сообщение else $peer_id = $id; if (isset($data->object->payload)){ //получаем payload $payload = json_decode($data->object->payload, True); } else { $payload = null; } if (isset($payload["command"]) or mb_strtolower($message) == "начать") { //Если нажата кнопка начать или << назад $vk->sendButton($peer_id, "Хочешь посмотреть на рыбок?", []); //Отправляем кнопку пользователю } else { if ($payload != null) { // если payload существует switch ($payload["animals"]) { //Смотрим что в payload кнопках case "Fish": //Если это Fish $vk->sendButton($peer_id, "Вот такие, выбирай", [ //Отправляем кнопки пользователю , ]); break; case "Pink_salmon": //Если это Горбуша $vk->sendMessage($peer_id, "Держи свою горбушу!"); //отправляем сообщение $vk->sendImage($peer_id, "img/pink_salmon.jpg"); //отправляем картинку break; case "Goldfish": //Если это Золотая рыбка $vk->sendMessage($peer_id, "Она исполнит твои желания..."); $vk->sendImage($peer_id, "img/goldfish.jpg"); break; case "Plotva": //Если это Плотва $vk->sendMessage($peer_id, "Ой, похоже картинку перепутали)"); $vk->sendImage($peer_id, "img/plotva.jpg"); break; default: break; } } } } ?>

include "vk_api.php" ; //Подключаем библиотеку для работы с api vk

//**********CONFIG**************

const VK_KEY = "your_key" ; //тот самый длинный ключ доступа сообщества

const ACCESS_KEY = "your_key" ; //например c40b9566, введите свой

const VERSION = "5.80" ; //ваша версия используемого api

//******************************

const BTN_FISH = [ [ "animals" = > "Fish" ] , "А какие бывают?" , "blue" ] ; //Код кнопки "Fish"

const BTN_BACK = [ [ "command" = > "start" ] , "<< Назад" , "red" ] ; // Код кнопки "<< Назад"

const BTN_SALMON = [ [ "animals" = > "Pink_salmon" ] , "Горбуша" , "white" ] ; // Код кнопки "Горбуша"

const BTN_GOLDFISH = [ [ "animals" = > "Goldfish" ] , "Золотая рыбка" , "blue" ] ; // Код кнопки "Золотая рыбка"

const BTN_PLOTVA = [ [ "animals" = > "Plotva" ] , "Плотва" , "green" ] ; // Код кнопки "Плотва"

$vk = new vk_api (VK_KEY , VERSION ) ; // создание экземпляра класса работы с api, принимает ключ и версию api

$data = json_decode (file_get_contents ("php://input" ) ) ; //Получает и декодирует JSON пришедший из ВК

if ($data -> type == "confirmation" ) { //Если vk запрашивает ключ

exit (ACCESS_KEY ) ; //Завершаем скрипт отправкой ключа

$vk -> sendOK () ; //Говорим vk, что мы приняли callback

if (isset ($data -> type ) and $data -> type == "message_new" ) { //Проверяем, если это сообщение от пользователя

$id = $data -> object -> from_id ; //Получаем id пользователя, который написал сообщение

$message = $data -> object -> text ;

if (isset ($data -> object -> peer_id ) )

$peer_id = $data -> object -> peer_id ; // Получаем peer_id чата, откуда прилитело сообщение

else

$peer_id = $id ;

if (isset ($data -> object -> payload ) ) { //получаем payload

$payload = json_decode ($data -> object -> payload , True ) ;

} else {

$payload = null ;

if (isset ($payload [ "command" ] ) or mb_strtolower ($message ) == "начать" ) { //Если нажата кнопка начать или << назад

Здравствуйте дорогие мои читатели блога. Сегодняшнюю статью я хотел бы посвятить получению Api id номера от ВКонтакте. Может кто то спросит, а зачем он вообще нам нужен и чем он полезен блогу?

План сегодняшней статьи не большой

Для чего нужен api id блогу?

Как его получить?

Для чего нужен api id Вконтакте блогу на WordPress.

Api id номер может понадобиться для социальных плагинов. Люди оставляя лайки и комментарии, через кнопки и виджеты вконтакте, должны связаться с сервером, чтобы VK.COM знал, на каком сайте оставляют комментарии или лайки его зарегистрированные пользователи.

Так же этот номер нужен, чтобы людям не требовалось вводить свои данные. Но основа этого номера- это работа социальных плагинов на сайте под управлением WordPress

Как его получить?

Вот и подошли к главному. Как же получить api id Вконтакте?

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

Адресом будет — http://mysite.ru

Базовый домен — mysite.ru

mysite — адрес вашего сайта



После подтверждения номера телефона вы попадёте на страницу с информацией о вашем приложении, нужно нажать вкладку настройки и попадаем на страницу, где и лежит наш api id ВКонтакте.


Пользуйтесь на здоровье. Надеюсь вы получили для себя полезную информацию. До скорых встреч дорогие читатели.

Подписывайтесь на обновления блога, чтобы не пропустить выход новых статей.

С уважением С.Васильев

Сообщества Вконтакте уже давно стали не просто способами развлечений, но и отличным инструментом для бизнеса и продаж. Команда разработчиков Вконтакте сделала для сообществ отличную функцию CallBack API смысл которой в отправке событий происходящих в Вашем сообществе.

Мы сделали в U-CRM инструмент отслеживания происходящих событий в Ваших сообществах. Все уведомления о комментариях, новых постах, сообщениях сообщества и прочего приходят в систему и удобно распределены по разделам, которые можно оперативно просматривать.

Чем это Вам поможет?

Если у вас есть сообщество, которое вы используете как бизнес инструмент для взаимодействия с вашей ЦА, которая находится Вконтакте, то эта функция просто необходима вам! И вот почему...

1. Вы всегда будете в курсе любого события вашего сообщества комментарий, отзыв или новый пост не будет пропущен.

2. Мгновенная реакция ваших менеджеров на любой вопрос ваших клиентов заданный в сообществе.

3. Увеличение продаж за счет быстрой реакции на вопросы участников сообщества.

4. Контроль нежелательных комментариев которые портят имидж вашей компании (происки конкурентов).

Настройка отслеживания сообщества

Настройка отслеживания очень проста и займет у вас не больше 5 минут. Мы постарались сделать все достаточно удобно и понятно.

Добавление сообщества в U-CRM


1 - скопируйте адрес вашего сообщества, id или короткое имя, например: http://vk.com/ucrmru короткое имя выделено жирным. И вставьте в поле добавления сообщества.

2 - нажмите добавить сообщество, после чего система попросит вас перейти в настройки.

После успешного добавления группы, вы перейдете в раздел настройки группы, здесь очень важно все делать по порядку и следовать данной инструкции.


1 - Скопируйте URL-адрес показанный в поле "Адрес Вашего сервера", после чего вставьте его в Настройках сообщества >> работа с API >> Callback API в поле "Адрес Вашего сервера" .

2 - в этом поле нужно указать Код указанный в Настройках сообщества >> работа с API >> Callback API в поле "Строка, которую должен вернуть сервер" .

Настройки в сообществе

Теперь вам надо сделать настройки в самом сообществе вконтакте, для этого перейдите в сообщество и зайдите в "Управление сообществом"


Сразу после этого идем в правом меню в раздел "Работа с API"



1 - Заходим в Callback API.

2 - В поле "Адрес Вашего сервера" вставляем URL-адрес, который выдала система U-CRM после добавления сообщества (было описано выше).

3 - Копируем Код указанный "Строка, которую должен вернуть сервер" и вставляем его в одноименное поле в U-CRM.

После сохранения настроек в U-CRM возвращаемся к настройкам сообщества Вконтакте и нажимаем во вкладке CallBack API кнопку "Обновить"<.b>, после чего должно получится что-то такое:


Если у вас все получилось,то все что осталось сделать настроить какие Типы событий будет отсылать Вконтакте в U-CRM. Для этого переходим в вкладку "Типы событий" , отмечаем все галочки (чтобы не париться)


Вы можете настроить уведомления о событиях в сообществе через VK Bot (удобнее) или через Telegram Bot. Уведомления будут приходить вам в личные сообщения.


Настроить интеграцию с Vk Bot или Telegram Bot вы можете в Личном профиле >> Настройки уведомлений .

На этом все настройки завершены уведомления должны приходить, потестируйте, если у вас не получилось, пишите в чат справа в углу - поможем!

Сервисы для отслеживания событий в своем сообществе ВК

Сервисы, которые работают через call back api ВК и имеют примерно схожую функциональность: отслеживание комментариев, сообщений в ЛС сообщества, записей на стене сообщества и т.п.

1. Callback Api Bot https://vk.com/cbbot . Пользуюсь им порядка полугода. Бот радует стабильностью, есть возможность подключения менеджеров. Из минусов - все оповещения валятся в одну и ту же личку, если сообществ много - в ней свалка.

2. Модератор - https://vk.com/app5474492 . Приложение удобно сортирует все события по типам, есть настройки разных видов оповещений о событиях, возможность подключения менеджеров. По функциональности это лучшее из имеющихся приложений. Из минусов - это та же команда разработчиков, что и сервис Sexy. Который начал свой вход на рынок с того, что использовал аккаунты своих пользователей без их ведома и согласия. Поэтому отдавать им доступ от ЛС своих сообществ - лично мне как-то стремно.

3. pushall.ru - Это комплексный сервис оповещений, в т.ч. в нем есть и ВК. Есть оповещения на почту и в телеграм, уведомления в браузере на ПК, приложения Андроид и iOS. Хоть и все в кучу, но правилами почты и ботами телеграм их можно разруливать как угодно. Из уникальных фич - сервис может пересылать полученные ответы от ВК другому серверу. Т.е. вы можете подключить несколько приложений, которые используют call back api. При бесплатном использовании можно подключить только 2 сервера.

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

4. https://vk.com/callback_api_lite - сервис примечателен тем, что в нем есть подключение сообщества в одну кнопку, т.е. все настройки серверов в сообществе внесутся за вас. Также оповещения от каждого сообщества отправляются вам отдельно - через ЛС этого сообщества. Т.е. у вас в личке будет несколько чатов с вашими сообществами, куда вы будете получать уведомления. Эти 2 фичи делают сервис удобным для владельцев кучи сообществ, когда даже просто подключить call back api им всем - хочется повеситься. Правда, отдельно придется отправить хоть 1 сообщение в ЛС каждого своего сообщества, чтобы дать ему разрешение отправлять вам сообщения. Поддержка и доработка сервиса ведется достаточно активно и очень оперативно - в течение 1-2 дней вносятся доработки. Однако сервис однозначно заявлен как бесплатный, поэтому крутые фичи не планируются.

Из минусов: 1) привязка сообщества к одному аккаунту, с которого вы первым зашли в сервис. Менеджеров подключить не получится. 2) Для подключения в одну кнопку сервис берет доступ к управлению сообществом. 3) Необходимы включенные сообщения сообщества. У меня вот сейчас в работе 63 сообщества по одному из проектов, и эти сообщества почти ежедневно заваливаются спамом в ЛС, причем обязательно все разом и преимущественно поздно вечером - когда работать уже в лом, но оповещения еще не отключены. Не реагировать на спам в ЛС = будет расти срок ответа, который показывается клиентам. Закрыть ЛС = заново подключать все сообщества к другому сервису. Оставить все как есть = вешалка.

5. Гамаюн: https://gmun.pro . Сообщества подключаются в один клик, но в некоторых случаях не с первой попытки - выдается ошибка "нет токена сообщества". Все оповещения валятся в личный кабинет в сервисе в одну кучу. Есть выгрузка статистики в csv - у единственного сервиса из всех - но тоже все в одну кучу по всем сообществам. Есть телеграм и email уведомления. Как и callback api lite - сервис берет доступ к управлению всем сообществом, а не только для оповещений.

6. http://vk-notify.ru . Кто захочет писать свой сервис - вот у них самый удобный интерфейс отображения оповещений. К сожалению, сервис похоже умер. Во всяком случае оповещения не приходят, есть ли у сервиса поддержка - неизвестно.



Загрузка...