Как получить токен (token) Viber для чат-бота

13 авг в 2019 63K

Поговорим о создании простого чат-бота Viber для пересылки сообщения. 

Термины и определения

Чат-бот Viber – программа Viber, реализованная через паблик-аккаунт, с которой пользователь может взаимодействовать для достижения какой-либо цели.

Паблик-аккаунты – специально созданные публичные аккаунты для общения и взаимодействия с клиентами (в том числе с помощью чат-ботов). Частным случаем паблик-аккаунтов являются паблик-чаты, где общается какая-либо группа людей.

Viber-ссылка – специальная ссылка для открытия контакта, чат-бота или другого ресурса в приложении Viber. Начинается с особого префикса viber://. Например: viber://pa?chatURI=hello2bot.

Создадим самого простого чат-бота для Viber. Почему самого простого? Потому что у новичков обычно возникает уйма вопросов. Естественно, такой простой чат-бот нужен для проверки того, что все работает. Тем более функционал простого бота можно расширять дальше по своему усмотрению.

Цель: бот будет пересылать обратно наше сообщение.

По сути, площадка для размещения чат-бота – это обычный web-хостинг. А сам бот в нашем случае – один PHP-файл.

Если вы сами хотите развернуть хостинг, то можно использовать связку: Apache + PHP + MySQL, но лучше воспользоваться услугами хостинг-провайдера, где установлено все необходимое, например, Timeweb.

Технология работы бота проста:

  • Мы пишем в чат сообщение, оно уходит на сервер Viber.
  • Viber обращается к нашему серверу (скрипту) через HTTP-запрос.
  • На это наш сервер (скрипт) предоставляет ответ, который уходит обратно на сервер Viber.
  • Ответ приходит в чат.

А теперь пошаговый процесс создания (из 13 шагов):

1. Переходим на сайт разработки. Предварительно у вас на смартфоне должно быть установлено приложение Viber.

2. Вводим номер телефона и авторизуемся.

3. Viber пришлет код подтверждения – вводим его и нажимаем «Дальше».

4. Нажимаем кнопку «Создать бот» и заполняем необходимые поля:

  • Account Image – загрузите картинку 400×400, которая будет отображаться в профиле паблик-аккаунта и как значок в сообщениях.
  • Account Name – имя, которое будет отображаться в заголовке у бота.
  • URI – придумайте идентификатор, по которому можно будет найти бота.
  • Category – выберите одну из 7 основных категорий.
  • Subcategory – выберите из списка подкатегорию, в которой будет функционировать ваш бот.
  • Language – выберите основной язык.
  • Account Description – подробнее опишите создаваемого бота.
  • Website Address – по желанию укажите адрес вашего сайта.
  • Email Address – адрес электронной почты.
  • Location – локация, местоположение.

5. Ставим галочку о принятии соглашения и нажимаем «Create».

6. После этого вы получите токен для аутентификации Viber. Скопируйте и сохраните его.

7. Теперь загрузите к себе на компьютер заготовку для чат-бота: github.com/the-lans/bots/tree/master/Viberbot

Прямая ссылка на скачивание всего архива: github.com/the-lans/bots/archive/master.zip

8. Распакуйте и откройте файлы index.php и php из папки Viberbot.

9. В этих файлах необходимо изменить некоторые параметры.

В файле index.php необходимо изменить: 

  • AUTH_TOKEN на токен вашего паблик-аккаунта Viber.
  • HelloBot на имя вашего бота, под которым он будет вам отвечать.

В файле set_webhook.php необходимо изменить: 

  • AUTH_TOKEN на токен вашего паблик-аккаунта Viber.
  • WEBHOOK_URL на URL вашего вебхука, т.е. URL нахождения файла index.php на вашем хостинге.

10. По требованию Viber на вашем сайте должен быть установлен сертификат SSL. Такой сертификат можно заказать как платно (например, Sectigo Positive SSL), так и бесплатно (SSL Let’s Encrypt). Подробнее о SSL-сертификатах читайте в Справочном центре.

11. Когда SSL-сертификат станет активным, заходим в панель хостинга Timeweb через файловый менеджер:

  • Заходим к себе на сайт.
  • Создаем новую папку для бота.
  • Загружаем два файла.

12. Установим вебхук для нашего бота в Viber. Заходим в браузер и запускаем файл set_webhook.php. Если все хорошо, выдается следующее сообщение (см. ниже). Если у вас не получилось установить вебхук, внимательно проверьте URL-адрес (соблюдение регистра букв) или корректность PHP-файла.

13. Заходим в Viber на смартфоне. Последовательно нажимаем в меню: Еще –> Паблик аккаунты –> HelloBot.

Если паблик-аккаунт скрыт, нажимаем «Показать».

Проверяем результат

В паблик-аккаунте нажимаем кнопку «Сообщение» и начинаем взаимодействие с ботом. Пишем любую фразу, бот должен нам ответить тем же. Если бот отказывается отвечать, проверьте корректность PHP-файла, наличие SSL-сертификата и пр.

Нами был успешно создан и запущен чат-бот для Viber. Теперь можно подумать о расширении его функционала. Документацию Viber REST API можно прочитать на официальном сайте мессенджера.

Здесь мы рассмотрели создание бота на PHP. Бота под Viber можно создать также на Python и Node.JS.

Илья +5С 26 сентября 2017 года сильно упростился способ получения токенов для чат-ботов в Viber. Ранее для этого необходимо было создать паблик аккаунт и только к нему можно было сделать привязку чат-бота. Примерно до января-февраля 2017 года все было достаточно просто — заполняешь простую форму — появляется возможность регистрации паблик аккаунта. Примерно весной форма усложнилась, всем подряд не давали такой возможности. Давали добро, в основном, крупным, известным брендам. 26 сентября все упростили. В этот день паблик чаты и боты стали двумя отдельными каналами в Viber. Теперь можно управлять ими через Панель администратора Viber (https://partners.viber.com/). Что означает разделение Ботов и Паблик Чатов?

  • Боты больше не будут привязаны к Паблик Чатам, а интерфейс будет скорректирован соответствующим образом.
  • Боты по-прежнему будут доступны в рамках Паблик Аккаунтов.
  • Функции поиска и отображения в списке на Discover Screen останутся прежними.

Что такое Панель администратора Viber?

  • Панель администратора Viber позволяет владельцам Паблик Аккаунтов и Ботов управлять своими кампаниями, видеть статистику и все данные Паблик аккаунта.
  • Кроме того, Панель администратора Viber теперь позволит пользователям создавать бот напрямую через Панель администратора Viber.

Создание бота будет доступно для всех. Тем не менее, возможность отображения в поиске и в списке на Discover Screen будет рассматриваться командой Viber. Первичная регистрацияpartners.viber.com → Create an account Регистрируемся. Вводим номер телефона, получаем код в viber для проверки и прочие поля. Создание бота (получение токена) Авторизуемся partners.viber.com → Create Bot Account Заполняем форму (самое сложное это картинку подобрать) После заполнения получаем токен. Все. С документацией у viber есть проблемы. Часто она не актуальная. Всегда надо проверять то, что делаешь.developers.viber.com/docs/api/rest-bot-apidevelopers.viber.com/docs/api/python-bot-apidevelopers.viber.com/docs

Перед тем, как привязать webhook, надо подумать, какие дополнительные события нужны будут нашему боту, и добавить их в наш запрос. Это могут быть следующие события:

Обязательные события, например, ”message”, придут в любом случае, на них специально подписываться не надо.

1. Ссылка сверху — одинаковая для всех ботов, есть в документации Viber. 2. Ваш токен

Во вкладке Body вставляем ссылку на бота.

Если мы сделали всё правильно (а так оно и есть) — получаем статус-сообщение ОК.

В случае, если вы не пользуетесь Postman, а пишете код в PHP, привязка webhook будет выглядеть так:

Теперь сообщения, которые будут приходить на вашего бота, будут попадать на этот webhook в виде JSON объектов.

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

Теперь пропишем функцию отправки сообщения в Viber — обычный POST запрос.

После того как пользователь откроет диалог с нашим ботом в Viber — наш бот получит JSON с информацией о пользователе и типом события conversation_started.

Что с ним пока нельзя делать — это создать глубокую ссылку на него (с использованием URI аккаунта, как мы писали выше) и найти его во вкладке с ботами Viber (discover screen) – ни среди ботов, представленных в подборках, ни при помощи поиска. Для того, чтобы ваше детище появилось там, нужно получить эппрув от Viber, заполнив «форму публикации бота» (есть в документации). У Viber целая куча предрассудков требований, которым бот должен удовлетворять для утверждения и публикации, включая «уникальную ценность» и хотя бы минимальное понимание свободного ввода пользователя. Подробнее о публикации бота расскажем в будущем.

Авторы статьи:

Роман Брязгалов, php-разработчик, специалист по диалоговым системам Singularika

Валерия Маляренко, копирайтер Singularika

class=”post_content” itemprop=”articleBody”> –>

Весь процесс, при наличии контента занимает около 10 минут.

1. Перейдите и авторизуйтесь на сайте: https://partners.viber.com/ через мобильный телефон.

2. После регистрацииавторизации в левом меню найдите кнопку «Create Bot Account»

3. Заполните все поля формы

4. После успешного создания найдите в конце страницы поле «Token», скопируйте и теперь вставляйте куда нужно, например нашим менеджерам в сообщение ?

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

Используемые источники:

  • https://timeweb.com/ru/community/articles/kak-sozdat-chat-bota-dlya-viber-1
  • https://habr.com/ru/post/338970/
  • https://singularika.com/ru/chatbots/how-to-create-a-viber-chatbot/
  • https://boto.agency/blog/kak-polychit-api-token-viber/

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий