TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Создайте полноценного бота Viber Chat за 6 простых шагов

9 970

Чат Bot очень популярен в наши дни. С Chat Bot вы можете подключаться к своим клиентам с помощью Deeper Interactions и развивать свой бизнес.

В этой статье я расскажу, как разработать Viber Chat Bot за 6 простых шагов с использованием PHP.

1. Создать публичный аккаунт в Viber

Чтобы начать, прежде всего, вы должны иметь учетную запись Viber Public. Если у вас нет публичной учетной записи, подайте заявку на публичную учетную запись на странице публичных учетных записей Viber .
Как только ваша заявка будет одобрена, вам будет отправлено сообщение с приглашением, чтобы начать создание вашей публичной учетной записи. Чтобы создать учетную запись, вам необходимо:
• Перезагрузить устройство.
• Войдите на главный экран Публичных счетов. Вы увидите кнопку Создать публичные аккаунты .
• Нажмите на кнопку, и начните!

2. Получить токен аутентификации

Токен аутентификации генерируется при создании публичной учетной записи и может быть просмотрен администратором учетной записи на экране «Изменить информацию» публичной учетной записи.

Пример токена : 455a0f2c05b4fe54-cb4e33d3200fbbae-95f29ebc06af09a8

Viber изменить данные аккаунта

Пример страницы детализации аккаунта для редактирования Viber

3. Настройте webhook

Как только токен будет получен, вы сможете настроить webhook своей учетной записи . Этот веб-крючок будет использоваться для получения обратных вызовов и пользовательских сообщений от Viber.

Настройка webhook будет выполнена путем вызова API set_webhook с действительным и сертифицированным URL.

После отправки запроса set_webhook Viber отправит обратный вызов в webhook, чтобы проверить его доступность и вернет ответ пользователю.

Примечание . Перед отправкой запроса в API set_webhook нам необходимо иметь код для обработки обратного вызова из Viber по нашему URL-адресу webhook. Пример кода PHP приведен в этой статье.

Вызовите запрос POST к этому API:
https://chatapi.viber.com/pa/set_webhook
Параметры публикации:

{ "auth_token": "455a0f2c05b4fe54-cb4e33d3200fbbae-95f29ebc06af09a8", "url": "https://mysite.com/webhook_page", "event_types": ["delivered", "seen"] }

auth_token = Строка токена, предоставленная Viber при создании PA.
url = URL веб-крючка PA для получения обратных вызовов и сообщений от пользователей (должен использовать SSL, например, https)
event_type = (необязательно) Указывает типы событий Viber, о которых владелец PA хотел бы получать уведомления. Значения по умолчанию: [«доставлено», «увидено»]

Чтобы сделать запрос POST к API set_webhook , мы можем использовать cURL или такие инструменты, как POSTMAN. Вот пример кода PHP:

После того, как мы вызовем set_webhook api, Viber отправит обратный вызов на URL-адрес webhook, чтобы подтвердить его доступность, т.е. https://mysite.com/webhook_page в приведенном выше примере. Формат данных обратного вызова следующий:

{ "event":"webhook", "timestamp":1457764197627, "message_token":4912661846655238145 }

событие = тип обратного вызова – какое событие вызвало обратный вызов. Возможное значение – webhook.
timestamp = время события, которое вызвало обратный вызов
message_token = уникальный идентификатор сообщения

Теперь нам нужно дать ответ как

{ "status": 0, "status_message": "ok", "event_types": ["delivered", "seen"] //Not yet implemented }

status = результат действия (0 для успеха, номер ошибки для ошибок)
status_message = Ok или причина
ошибки event_types = доставлено или замечено (еще не реализовано)

Это установит URL-адрес webhook . Теперь, когда происходит событие, связанное с публичной учетной записью, обратный вызов отправляется на URL-адрес webhook, и нам нужно обрабатывать события в URL-адресе webhook, которые обсуждаются ниже.

Код для URL веб-крючка:

4. Получить сообщение

Всякий раз, когда пользователь отправляет сообщение в общедоступную учетную запись в чате 1-к-1, в URL-адрес webhook отправляются следующие данные обратного вызова.

{ "event": "message", "timestamp": 1457764197627, "message_token": 4912661846655238145, "sender": { "id": "01234567890A=", "name": "yarden", "avatar": "http://avatar_url" }, "message": { "type": "text", "text": "a message to the service", "media": "http://download_url", "location": { "lat": 50.76891, "lon": 6.11499}, "tracking_data": "tracking data" } } }

событие = в случае сообщения, отправленного пользователем, значением события будет
отметка времени сообщения = время события, вызвавшего обратный вызов
message_token = уникальный идентификатор
отправителя сообщения = сведения об отправителе (идентификатор, имя, аватар)
сообщение = подробности сообщения, такие как текст, медиа ( если есть) и так далее

Таким образом, мы можем получить сообщение от пользователя и соответствующее сообщение может быть отправлено пользователю, что будет обсуждаться ниже.

5. Отправить сообщение

Чтобы отправить сообщение пользователю, нам нужно вызвать запрос Post на send_message api, как показано ниже:

Отправка текстового сообщения:
URL: https://chatapi.viber.com/pa/send_message
Параметры публикации:

{ "auth_token": "455a0f2c05b4fe54-cb4e33d3200fbbae-95f29ebc06af09a8", "receiver": "01234567890A=", "type": "text", "text": "a message from pa" }

auth_token = Строка токена, предоставленная Viber при создании публичной учетной записи.
получатель = уникальный идентификатор пользователя viber, которому отправляется сообщение.
тип = тип сообщения («текст» для текстовых сообщений)
текст = текстовое сообщение для отправки

Отправка изображений:
URL: https://chatapi.viber.com/pa/send_message

{ "auth_token": "455a0f2c05b4fe54-cb4e33d3200fbbae-95f29ebc06af09a8", "receiver": "01234567890A=", "type": "picture", "text": "Photo description", "media": "http://www.images.com/img.jpg", "thumbnail": "http://www.images.com/thumb.jpg" }

auth_token = Строка токена, предоставленная Viber при создании публичной учетной записи.
получатель = уникальный идентификатор пользователя viber, которому отправляется сообщение
тип = тип сообщения («картинка» для изображения)
текст = описание фотографии (может быть нулевым, если не требуется)
media = URL-адрес изображения (поддерживается только JPEG)
thumbnail = уменьшенное изображение URL (поддерживается только JPEG)

Точно так же мы также можем отправлять файловые сообщения.

6. Отправить клавиатуру (Меню)

API общедоступной учетной записи позволяет отправлять пользовательскую клавиатуру с помощью API send_message, чтобы предоставить пользователю набор предопределенных ответов или действий. Клавиатура может быть прикреплена к любому типу сообщения или отправлена ​​на него. После получения клавиатура будет отображаться пользователю вместо родной клавиатуры устройства.

К сообщению можно прикрепить клавиатуру следующим образом:
URL: https://chatapi.viber.com/pa/send_message
Параметры публикации:

Изображение для клавиатуры может быть:

Изображение для клавиатуры (меню)

Пример меню чата Viber

Все параметры такие же, как и при отправке обычного текстового сообщения, за исключением клавиатуры param .
Массив кнопок содержит массив кнопок согласно требованию.

Общие параметры клавиатуры:
– Тип : Обязательный. Тип отображения клавиатуры (в настоящее время доступна только «клавиатура»).
– Кнопки : обязательно. Это массив, содержащий все кнопки клавиатуры по порядку.
– BgColor : необязательно. Цвет фона клавиатуры должен быть задан шестнадцатеричным значением.
– DefaultHeight : необязательно. Возможные значения: true или false.
Параметры массива кнопок
Следующие параметры могут быть определены для каждой кнопки в массиве «кнопок» отдельно. Каждая кнопка должна содержать хотя бы один из следующих необязательных параметров: текст, BgMedia, изображение, BgColor.
– Столбцы: ширина кнопки в столбцах. возможные значения 1-6.
– Rows: высота кнопки в строках. возможные значения 1 и 2.
– BgColor: цвет фона для предоставления шестнадцатеричного значения.
– BgMediaType: тип фонового носителя. Возможные значения: картинка или гифка.
– BgMedia: URL-адрес для фонового мультимедиа (изображение или рисунок)
– BgLoop: возможные значения: true или false.
– ActionType: тип действия при нажатии на кнопку. Возможные значения: reply или open-url. reply отправит ответ как обычное сообщение, а open-url откроет ссылку.
– ActionBody: текст для ответа, если ActionType является ответом, и ссылка для открытия, если ActionType имеет открытый URL-адрес.
– Изображение: URL-адрес изображения для размещения поверх фона.
– Текст: текст для отображения в кнопке.
– TextVAlign: вертикальное выравнивание текста. Возможные значения: верх или середина, или снизу.
– TextHAlign: горизонтальное выравнивание текста. Возможные значения: слева или по центру или справа.
– TextOpacity: непрозрачность текста. Возможные значения 1-100.
– TextSize: размер текста. Возможные значения: маленький или обычный или большой.

Текст кнопки может поддерживать некоторые теги HTML:

Получение информации об общедоступной учетной записи
Чтобы получить информацию об общедоступной учетной записи, вам нужно вызвать get_account_info api следующим образом:
url: https://chatapi.viber.com/pa/get_account_info
Параметры публикации:

{ "auth_token": "455a0f2c05b4fe54-cb4e33d3200fbbae-95f29ebc06af09a8" }

где auth_token – строка токена, предоставленная Viber при создании публичной учетной записи.

Таким образом, вы можете разработать простой чат-бот для Viber, используя PHP. Более того, это отправная точка для построения сложных ботов. Вы должны попытаться реализовать свои собственные ответы на различные сообщения.

Обновления . Получив множество запросов от читателей, мы расширили чат-бота Viber, добавив в него такие структурные сообщения, как меню клавиатуры, изображения, ссылки и так далее. Пожалуйста, просмотрите статью ниже, чтобы найти живой пример.

Отправка структурированного сообщения и меню клавиатуры в чат-бот Viber

Источник записи: https://thedebuggers.com

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