ВКонтакте API, Direct

Создание канала в AutoFAQ

Для создания каналов необходимо зайти под пользователем с ролью Администратор и перейти в Настройки → Каналы, нажать кнопку “Новый канал”.

Создание нового канала в AutoFAQ

 

  • укажите название для создаваемого канала

  • выберите один из двух типов канала для ВКонтакте:

    • ВКонтакте API - для обработки поступающих сообщений со стены сообщества/группы

    • ВКонтакте Direct - для обработки поступающих личных сообщений в сообщество/группу

Страница созданного канала будет выглядеть одинаково для обоих типов:

Новый канал ВКонтакте API

Вам нужно заполнить следующие обязательные поля:

  • Группы: выбрать те группы нашей системы, в которые нужно подключить канал

  • Параметры для подключения:

    • ownerId

    • shortGroupName

    • groupAccessToken

Замечание: если Вы подключаете только один канал, соответственно только для него и нужно заполнить параметры подключения. Если вы подключаете два канала (и API, и Direct) для одной группы/сообщества ВКонтакте, то настройки подключения для обоих каналов будут одинаковыми (т.е. при заполнении вы копируете их сразу в оба канала).

Заполнение параметров подключения и настройка сообщества/группы ВКонтакте

Подключить к нашей системе можно группу или сообщество ВКонтакте. Для этих групп и сообществ Вам необходимо быть администратором в ВК.

1.Включить файлы в настройках группы ВК

Для группы в настройках нужно включить необходимые типы файлов (Фотографии, Видео, Аудиозаписи, Файлы), чтобы оператор мог отправлять их от имени этой группы. Зайти в Управление → Настройки → Разделы → Включить нужные( перевести в Открытые) → Сохранить.

Если этого не сделать, то пользователь будет получать только текст сообщения, без отправленного оператором файла. Для сообщества дополнительно включать ничего не надо.

2. Включить личные сообщения для группы/сообщества ВК

Страница группы/сообщества - Управление - Сообщения и “Сообщения сообщества” = Включены:

 

3. Заполнить параметры подключения каналов в AutoFAQ

Название параметра подключение канала

Способ получения параметра из ВК

shortGroupName

Скопировать из настроек группы в ВК адрес страницы (Управление - Настройки - Основная информация), он указан в виде https://vk.com/ваш_адрес. Вставить его в поле shortGroupName.

groupAccessToken

  1. В настройках группы ВК в разделе Управление -> Работа с API -> "Ключи доступа" создайте ключ доступа со следующими правами "сообщения сообщества, фотографии, документы, стена". Скопируйте его в AutoFAQ в поле groupAccessToken

 

 

2. Сделать дополнительные настройки в ВК.

В настройках группы ВК в разделе "Управление -> Работа с API -> Callback API" выбрать версию API 5.103 и указать адрес:

https://chat.autofaq.ai/vk-adapter/api/vk/webhooks?direct=<ID_channel_1>&api=<ID_channel_2>&code=<строка_которую_должен_вернуть_сервер>

где

вместо chat.autofaq.ai необходимо указать адрес вашего сервиса,

<ID_channel_1> = ID из адресной строки в AutoFAQ "Настройки" - “Каналы” - “ваш ВК Direct”,

<ID_channel_2> = ID из адресной строки в AutoFAQ "Настройки" - “Каналы” - “ваш ВК API”,

<строка_которую_должен_вернуть_сервер> так и называется из раздела группы ВК "Управление" -> "Работа с API" -> "Callback API".

 

 

Нажать кнопку "Подтвердить" - должна появиться зеленая галочка, это значит всё ок.

 

  1. Настроить типы событий, на которые ВК будет вызывать наш сервис.

Перейти в "Управление" -> "Работа с API" -> "Callback API" -> "Типы событий" и включить следующие события:

  • Сообщения: Входящее сообщение, Действие с сообщением, Редактирование сообщения

  • Комментарии на стене: Добавление, Редактирование, Удаление, Восстановление

 

ownerId

Перейти по ссылке utils.resolveScreenName | VK для разработчиков в раздел "Пример запроса". В поле access_token вставить groupAccessToken, а в поле screen_name вставить shortGroupName, затем нажать “Выполнить”. 

Поле object_id скопировать и вставить в поле ownerId настроек AutoFAQ.

 

4.Включить возможности ботов в настройках группы/сообщества ВК

Для работы кнопок в личных сообщениях необходимо включить бота в настройках страницы/группы. Для этого перейти в Управление - Сообщения - Настройки для бота и в Возможности ботов выбрать “Включены”:

 

Подключение только ВКонтакте API или только ВКонтакте Direct

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

Если у вас уже что-то было подключено и сервер создан, то в ВК нужно нажать на кнопку “Добавить сервер” и далее выполнять пункт 1-2 для нового сервера.

1.В настройках группы ВК в разделе "Управление -> Работа с API -> Callback API" выбрать версию API 5.103 и указать адрес:

подключаем только API (комментарии)

https://chat.autofaq.ai/vk-adapter/api/vk/webhooks?api=<ID_channel_2>&code=<строка_которую_должен_вернуть_сервер>

подключаем только API (комментарии)

https://chat.autofaq.ai/vk-adapter/api/vk/webhooks?api=<ID_channel_2>&code=<строка_которую_должен_вернуть_сервер>

подключаем только Direct (личные сообщения)

https://chat.autofaq.ai/vk-adapter/api/vk/webhooks?direct=<ID_channel_1>&code=<строка_которую_должен_вернуть_сервер>

где

вместо chat.autofaq.ai необходимо указать адрес вашего сервиса,

<ID_channel_1> = ID из адресной строки в AutoFAQ "Настройки" - “Каналы” - “ваш ВК Direct”,

<ID_channel_2> = ID из адресной строки в AutoFAQ "Настройки" - “Каналы” - “ваш ВК API”,

<строка_которую_должен_вернуть_сервер> так и называется из раздела группы ВК "Управление" -> "Работа с API" -> "Callback API".

2.Далее выбираем типы событий в зависимости от типа подключаемого канала.

подключаем только API (комментарии)

  • Комментарии на стене: Добавление, Редактирование, Удаление, Восстановление

подключаем только API (комментарии)

  • Комментарии на стене: Добавление, Редактирование, Удаление, Восстановление

подключаем только Direct (личные сообщения)

  • Сообщения: Входящее сообщение, Исходящее сообщение, Редактирование сообщения

ВК Комментарии для разных типов записей

Если нужно, чтобы система обрабатывала комментарии, которые пользователи оставили под:

  • фотографиями сообщества/группы

  • видеозаписями сообщества/группы

  • обсуждениями сообщества/группы

  • товарами сообщества/группы

тогда нужно включить соответствующие галочки для интересующих типов событий в "Управление" -> "Работа с API" -> "Callback API" -> "Типы событий":

Помимо этого, для настройки канала в AutoFAQ требуется дополнительно заполнить поле standaloneAccessToken. Для этого нужно (1) перейти по ссылке standaloneAppTokenLink и из адресной строки скопировать значение access_token. Например, вся ссылка может выглядеть вот так:

https://oauth.vk.com/blank.html#access_token=vk1.a.1vC9Gv....31f1GqQtyA&expires_in=0&user_id=********

Нужно скопировать всё после access_token= и до &expires_in . Затем в настройках канала нажать (2) кнопку “Установить новый токен” и в окошко вставить скопированное значение. Сохранить изменения.

 

Текущие ограничения

На данный момент ВКонтакте не поддерживает отправку файлов в комментарии на стену для сообществ. Если у Вас сообщество и Вы хотите обмениваться файлами в комментариях на стене/товаров и других местах, то Вам нужно перевести сообщество в группу.

В правом меню выбрать Еще → Перевести в группу → Подтвердить перевод.