Callback API для разработчиков

Что это такое?

Если вы хоть немного разбираетесь в программировании, вы скорее всего уже знаете ответ. Яркий пример такого API — Callback API VK для сообществ. Если же это вам ничего не говорит, вам следует закрыть статью — она не для вас.

Как начать использовать Callback API Чат-менеджера?

Для начала нужно зайти на сайт менеджера и там авторизоваться через ВК.

Окно авторизации всплывает автоматически при первом входе на сайт.
Окно авторизации всплывает автоматически при первом входе на сайт.

После этого нужно сделать запрос на API менеджера — https://api.chatmanager.ovh. Чтобы получить данные для дальнейшей авторизации, используется метод account.getToken. Итак, переходим по ссылке.

Callback API для разработчиков, image #2

Поле «token» и есть токен доступа к API Чат-менеджера, который вы будете использовать в дальнейшем.

Установка Вебхука для Callback API

Вам понадобится собственный веб-сервер, способный обрабатывать HTTP запросы. Вот инструкция-пример по установке хука, работающего на PHP.

Для начала нам нужно создать скрипт, который будет обрабатывать запросы от Callback сервера. Пример на PHP можно найти по этой ссылке.

Теперь пройдемся по настройкам, которые там используются.

'id' => 71110013, - ID вашей страницы ВК.
'token' => '...', - токен от API менеджера, который мы получили выше.
'access_token' => '...' - токен от API VK, который вы должны получить самостоятельно по ссылке. О том, что такое access_token подробно написано в документации ВК.

После установки всех этих параметров сделаем запрос на API Чат-менеджера для установки вебхука.
Метод — account.setWebHook, параметры — ваш token менеджера и url вебхука. В нашем случае это будет:
https://api.chatmanager.ovh/?method=account.setWebHook&token=cc3a…b21&url=https://chatmanager.ovh/webhook.php

Callback API для разработчиков, image #3

Отлично, это основные настройки именно скрипта. Осталось настроить список бесед — скрипт должен знать, в какую беседу будет пытаться возвращать пользователя. Callback-запрос с информацией об окончании бана выглядит так:

Callback API для разработчиков, image #4

Видно, что id пользователя передается в прямом виде, а вот чат — в виде его UID (!справка). Для всех бесед, в которых мы будем использовать скрипт, мы должны записать в массив $chats его id на нашей странице.

Callback API для разработчиков, image #5

Итак, на моей странице UID чата «aeCa» соответствует моему локальному id чата 191. В примере кода на PHP это уже внесено в список, а вы замените данные на свои.

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

Что-то не работает. Как проверить?

Если события почему-то не доходят, вы всегда можете посмотреть информацию о вебхуке при помощи метода account.getWebHookInfo. Он вернет информацию о последнем успешном и неудачном времени запроса, и HTTP-код последнего ответа вашего сервера.

Callback API для разработчиков, image #6

Как удалить установленный Вебхук?

Сделайте запрос на API менеджера с методом account.removeWebHook. Это удалит текущий вебхук.

Ответ на запрос.
Ответ на запрос.

Можно ли сбросить ключ для API Чат-менеджера?

Конечно же. Если вы дали ключ кому-то нехорошему, вы всегда можете отправить запрос на API менеджера с методом account.getToken и параметром reset=true. В ответ вам вернется уже новый token.
Пример запроса: https://api.chatmanager.ovh/?method=account.getToken&reset=true

Когда смог разобраться с Callback API
Когда смог разобраться с Callback API
49761 views·213 shares