Viber | Planfix
Материал из Planfix
Перейти к: навигация, поиск
Вы можете подключить в ПланФикс один или несколько специальных аккаунтов Viber и обрабатывать сообщения, приходящие по этим каналам, средствами ПланФикса. В качестве такого аккаунта могут выступать:
- public-аккаунты Viber (временно не регистрируются Viber)
- бот-аккаунты Viber (можно создать по ссылке)
Сообщения пользователей в диалогах с такими аккаунтами, становятся задачами в ПланФиксе. Пользователь может обмениваться с вами текстами, изображениями, контактами и другой информацией — все отправленные им сообщения будут добавляться новыми действиями в созданную задачу-общение. Вы можете обрабатывать такие сообщения всеми доступными в ПланФиксе средствами, а ваши комментарии, изображения и файлы других типов, добавленные новыми действиями с уведомлением этого пользователя, будут отправлены ему в Viber.
Содержание
- 1 Общая информация
- 2 Создание бот-аккаунта Viber
- 3 Подключение бот- или публичного аккаунта Viber в ПланФикс
- 4 Работа в ПланФиксе с обращениями пользователей Viber
- 5 Дополнительные настройки интеграции
- 6 Дополнительно
- 7 Перейти
Общая информация
Чтобы написать вашему бот-аккаунту Viber пользователь должен перейти по специальной ссылке:
viber://pa?chatURI={botname}
Где вместо {botname} будет имя вашего бота. Вот так, например, выглядит ссылка на бот нашей службы поддержки:
viber://pa?chatURI=planfix
Вы можете разместить её у себя на сайте или в соц. сетях, пример можно посмотреть на нашем сайте
Если у клиента установлен десктоп-приложение Viber или клиент заходит с мобильного телефона, то при клике на такую ссылку произойдет подключение бота в контакт-лист Viber и далее можно будет общаться с ним через ПланФикс подключив бота к нему.
Если у клиента не установлено десктоп-приложение Viber (что чаще всего бывает), то при при клике на такую ссылку в браузере ничего не произойдет 🙁. В таком случае, можно только рекомендовать зайти на неё с мобильного устройства или установить десктоп-приложение Viber.
Viber не передает номер телефона клиента при общении в чате, т.е получить номер телефона через Viber можно, только если сам клиент укажет его в диалоге.
Создание бот-аккаунта Viber
Создать бот-аккаунт можно по [ссылке].
После создания бот-аккаунта вы получите ключ API, который понадобятся для подключения его в ПланФикс:
Подключение бот- или публичного аккаунта Viber в ПланФикс
Шаг 1: Скопируйте ключ API вашего public- или бот-аккаунта в приложении Viber.
Шаг 2: В ПланФиксе перейдите в раздел Управление аккаунтом / Интеграции / Мессенджеры (доступен администраторам аккаунта). Нажмите на Viber:
В открывшейся панели нажмите на кнопку
После добавления ключа ваш аккаунт будет подключен в ПланФикс.
Работа в ПланФиксе с обращениями пользователей Viber
Первое сообщение от пользователя. Когда пользователь Viber впервые напишет личное сообщение в вашем аккаунте, в ПланФиксе:
- Будет создана карточка контакта этого пользователя с его именем и аватаром из Viber
- Будет создана новая задача, в которой пользователь становится постановщиком, а текст его сообщения — текстом задачи. Исполнителем становится сотрудник, указанный в шаблоне, по которому создаются задачи по интеграции. Если исполнителем не указан никто, система назначит им владельца аккаунта или сотрудника, который настраивал интеграцию.
В настройках интеграции вы можете выбрать шаблоны, по которым будут создаваться контакты и задачи в этом случае. А также указать, кого из сотрудников необходимо дополнительно подключать к общению в качестве исполнителей:
Каждое последующее сообщение от пользователя будет добавлено в его задачу новым действием. Добавляется любое содержимое сообщения: текст, приложенные фотографии, геометки, отправленные контакты, дудлы (dooddles).
Ваши ответы в ПланФиксе, в которых пользователь будет выделен в блоке «Уведомить об этом», будут отправлены ему в Viber. Помимо текста сообщения, будут отправлены приложенные к сообщению файлы, в том числе изображения.
Дополнительные настройки интеграции
- Создавать новую задачу, если нет активных задач общения с этим контактом
Активация этой настройки приведет к созданию новой задачи, если нет активных (то есть в любом активном статусе) задач по обращениям от клиента:
По умолчанию чекбокс включен. При активном чекбоксе новая задача будет создаваться, если предыдущая задача данного клиента удалена, завершена или находится в неактивном статусе.
При этом ссылка на предыдущую задачу-общение автоматически добавляется в описание созданной задачи:
При неактивном чекбоксе все сообщения клиента будут попадать в одну задачу, независимо от ее текущего статуса.
- Отправлять сообщения от лица сотрудника
По умолчанию, клиент получает сообщения в Viber от лица вашего паблик-аккаунта. Если активировать этот признак, клиент будет получать уведомления персонально от лица сотрудника, написавшего его в ПланФиксе.
Дополнительно
- В переписке с клиентами для ответа на типовые вопросы вы можете использовать механизм быстрых ответов.
Перейти
- Интеграции
Viber, WhatsApp, Telegram
Viber, WhatsApp, Telegram
Error get alias
Я за то, чтобы не складывать яйца в одну корзину. И использовать несколько каналов работы с клиентами, несколько «точек касания».
И если контекстная реклама, сайты, СМИ и партнёрский маркетинг — это хорошо, но долго и дорого. То мессенджеры — быстро и почти бесплатно.
Вот у кого нет ни одного мессенджера? Вайбер и воцап есть даже у наших мам и бабушек.
Вообще-то, эти штуки куда популярнее инстаграма.
И да, в отличие от инста, уведомления в мессенджерах просматривают гораздо чаще.
Мессенджеры ЕЖЕДНЕВНО хотя бы один раз открывают 68% пользователей смартфонов.
Средний пользователь WhatsApp общается там 200 минут в неделю (~полчаса в день). Мессенджеры в несколько раз ОПЕРЕЖАЮТ соцсети по числу активных пользователей.
После таких аргументов хочется спросить, вы всё ещё кипятите?
Окей, вы, вероятно, осознали силу мессенджеров и захотели освоить сразу все каналы.
Но будем трезво смотреть на вещи. Быть сразу и во всех мессенджерах вы не сможете.
Да и не надо. Надо быть в тех, которыми пользуется ваша аудитория и которые отвечают вашим задачам.
Говорить будем о трёх самых популярных в русскоязычном пространстве мессенджерах — WhatsApp, Viber, Telegram.
WHATSAPP
___________
Самый популярный и самый неприспособленный для маркетинга.
Конечно, можно вести индивидуальное общение, принимать заказы и т.п. + если у вас меньше 250ти клиентов, можно создать чат.
Меня лично раздражают массовые чаты для техподдержки вместо решения вопросов тет-а-тет. Так же как и чаты-болталки на всевозможных курсах, если в них больше 15 человек.
Но я это я и мой субъективизм.
Если для ваших задач и вашей аудитории чаты работают — надо брать.
VIBER
___________
Хотя лично я вообще не фанат вайбера, должна признать: белорусский брат воцапа обскакал его по маркетинговым параметрам.
Что тут есть.
1. Паблик-чаты.
Публичный аккаунт, который выглядит как лента в соцсети.
Ваши подписчики могут ставить там лайки, общаться с официальным представителем компании.
Здесь же анонсируются скидки, розыгрыши, рекламные кампании.
В чате могут быть ваши сотрудники, в подписчиках — ваши клиенты.
2. Паблик-аккаунт.
Не путать с паблик-чатом. Это штука для «серьезных организаций». Подтвержденный аккаунт компании, их часто используют банки и крупные компании.
3. Рассылка.
Аналог смс-рассылки, но с медиа-возможностями: картинка, ссылка, кнопка. Умоляю, не путайте со спамом. Речь только о тех, кто:
а) Добровольно захотел получать ваши сообщения.
б) Добровольно выбрал именно этот канал связи.
TELEGRAM
___________
Мессенджер, бьющий все рекорды по числу упоминаний в разделах «тренды», «убийца соцсетей». Даже появились курсы по маркетингу в Телеграм. И не надо смеяться, над курсами по маркетингу в Инста тоже когда-то подшучивали 🙂
Так вот, не претендую на курс по использованию Телеграма. Но расскажу азы.
Это САМЫЙ НЕПОПУЛЯРНЫЙ МЕССЕНДЖЕР.
В котором, тем не менее САМАЯ ПЛАТЕЖЕСПОСОБНАЯ АУДИТОРИЯ.
Ядро пользователей этого мессенджера — молодые обеспеченные жители Москвы и городов-миллионников. То есть то, что вы обычно пишите в портрете целевой аудитории 🙂
Про телеграм есть отдельная статья. Потому что лично у меня это фаворит для бизнес-задач.
Error get alias
Error get alias
Error get alias
Понравилась статья? Поделись с друзьями с помощью кнопок ниже.
Еще больше полезных постов на моей страничке в Instagram.
За полное или частичное копирование (без ссылки на автора) у вас 7 лет не будет продаж. Дерзайте!
Как подключить Viber к приложениям в качестве места назначения данных
Главная страница • Справка
15.11.2022
•
157
Интеграция позволит отправлять сообщения в Viber в ответ на действие в других системах. Например, если в Google Таблицах появилась новая строка, лид в CRM перешел на другой этап воронки или при появлении нового лида на вашем сайте сообщение будет автоматически отправлено в Viber. Это позволит вам эффективно автоматизировать рабочие процессы и сэкономить много времени.
Навигация :
1. Что даст интеграция с Viber?
2. Как подключить аккаунт Viber к ApiX-Drive?
3. Как настроить для выбранного действия передачу данных в Viber?
4. Пример данных, которые будут отправлены на ваш Viber.
5. Автообновление и интервал обновления.
Ответы на часто задаваемые вопросы:
1. Нет тестового сообщения или ответа об успешном подключении бота.
После того, как вы настроили систему источника данных, такую как Google Таблицы, вы можете настроить Viber в качестве места назначения данных.
Для этого нажмите «Начать настройку приемника данных».
Выберите систему в качестве места назначения данных. В этом случае необходимо указать Viber.
Далее необходимо указать действие « Отправить СООБЩЕНИЕ «.
Следующим шагом является выбор учетной записи Viber, из которой будут получены данные.
Если к системе не подключены учетные записи, нажмите «Подключить учетную запись».
В появившемся окне нажмите «Продолжить».
Далее вы увидите новое окно настроек, в котором вы хотите:
— скопировать данные в поле «Строка для подключения бота Viber»
— нажать на бота @apixdrivebot с устройства, откроется приложение Viber и запустится наш аккаунт Public.
— для активации аккаунта Public вставьте скопированные настройки в сообщение и нажмите «Отправить». В ответ вы должны получить сообщение о том, что бот Viber подключен.
После этого закройте окно настроек и перезапустите страницу.
Когда подключенная учетная запись отобразится в списке, выберите ее и нажмите «Продолжить».
Теперь вам нужно создать сообщение из данных, которое будет отправлено на Публичный аккаунт.
Для того, чтобы добавить переменную, нажмите на поле «Сообщение» и выберите нужную переменную из выпадающего списка. При необходимости вы можете записать данные вручную.
Когда сообщение сгенерировано, нажмите «Продолжить».
Теперь вы можете увидеть тестовые данные того, как будет выглядеть ваше сообщение.
Чтобы проверить правильность настроек — нажмите «Отправить тестовые данные в Viber» и зайдите в свой Viber, чтобы проверить результат.
Если вас что-то не устраивает — нажмите «Редактировать» и вернитесь на один шаг назад.
Если вас все устраивает, нажмите «Далее» для дальнейших настроек.
На этом настройка системы назначения данных завершена!
Внимание! Если тестовое сообщение не приходит:
— проверьте, с какими настройками вы запустили аккаунт Public (Доступы — Мессенджеры — Viber), и какой аккаунт Viber (если их несколько) выбран на этапе Доступа
— проверьте, не пришло ли вам в ответ сообщение о подключении паблик-аккаунта, и если нет, то следуйте следующему алгоритму:
- Вам необходимо отключить наш Паблик аккаунт, очистить всю историю и полностью удалить диалог с ним.
Для этого в диалоге с Паблик-аккаунтом нажмите «Выйти и удалить».
- В нашей системе заходим в раздел Доступ — Мессенджеры — Viber и удаляем все созданные аккаунты.
- Перейдите к своему соединению в пункте назначения данных на этапе доступа и создайте новую учетную запись.
- Согласно хелпу, заново настройте Viber и отправьте тестовые данные в аккаунт Public.
Теперь можно приступать к выбору интервала обновления и включению автообновления.
Для этого нажмите «Включить обновление».
На главном экране нажмите на значок шестеренки, чтобы выбрать необходимый интервал обновления или настроить запуск по расписанию. Для запуска соединения по времени выберите запуск по расписанию и укажите желаемое время, когда будет запущено обновление соединения, либо добавьте сразу несколько вариантов, когда вам нужно, чтобы соединение было запущено.
Внимание! Чтобы запуск по расписанию сработал в указанное время, интервал между текущим временем и указанным временем должен быть более 5 минут. Например, вы выбираете время 12:10, а текущее время 12:08 — в этом случае автоматическое обновление соединения произойдет в 12:10 следующего дня. Если выбрать время 12:20 и текущее время 12:13 — автообновление соединения будет работать сегодня и далее каждый день в 12:20.
Чтобы текущее соединение передавало данные только после другого соединения, установите флажок «Обновлять соединение только после запуска другого соединения» и укажите соединение, после которого будет запущено текущее соединение.
Чтобы включить автообновление, переведите ползунок в положение, как показано на рисунке.
Чтобы выполнить однократную передачу данных, щелкните значок стрелки.
На этом настройка Viber в качестве пункта назначения данных завершена! Видишь, как легко!?
Не волнуйтесь, ApiX-Drive все сделает сам!
aioviberbot · PyPI
Это асинхронная версия пакета viberbot. Полностью совместим с версией пакета синхронизации.
Используйте эту библиотеку для разработки бота для платформы Viber.
Библиотека доступна на GitHub, а также в виде пакета на PyPI.
Этот пакет можно импортировать с помощью pip, добавив следующее в ваш requirements.txt
:
aioviberbot == 0.4.0
Лицензия
Эта библиотека выпущена в соответствии с условиями лицензии Apache 2.0. См. Лицензия для получения дополнительной информации.
Требования к библиотеке
- python >= 3.7.0
- Активная учетная запись Viber на платформе, поддерживающей общедоступные учетные записи/ботов (iOS/Android). Эта учетная запись будет автоматически установлена в качестве администратора учетной записи в процессе создания учетной записи.
- Активная общедоступная учетная запись/бот. Создайте учетную запись здесь.
- Токен аутентификации учетной записи — уникальный идентификатор учетной записи, используемый для проверки вашей учетной записи во всех запросах API.
Как только ваша учетная запись будет создана, ваш токен аутентификации появится на экране «редактировать информацию» учетной записи (только для администраторов). Каждый запрос, отправленный в Viber учетной записью, должен содержать токен.
- Веб-перехватчик. Используйте URL-адрес конечной точки сервера, поддерживающий HTTPS. Если вы выполняете развертывание на своем собственном сервере, вам потребуется доверенный (ca.pem) сертификат, а не самоподписанный. Прочитайте статью в нашем блоге о том, как протестировать бота локально.
Участие
Если вы считаете, что это ошибка или что-то еще нужно изменить, и вы хотите изменить это самостоятельно, вы всегда можете создать новый запрос на извлечение.
Убедитесь, что ваши изменения ничего не ломают и все модульные тесты пройдены.
Также убедитесь, что текущие тесты охватывают ваше изменение, если нет, добавьте тесты.
Мы используем pytest, поэтому, если вы хотите запустить тесты из командной строки, просто выполните соответствующие шаги после клонирования репозитория и создания ветки:
# установка зависимостей: python setup.py разработка # запускаем модульные тесты pytest тесты/
Начнем!
Установка
Создать базового бота Viber очень просто:
- Установить библиотеку с помощью pip
pip install aioviberbot
- Импорт
библиотеки aioviberbot.api
в ваш проект - Создайте публичную учетную запись или бота и используйте ключ API с https://developers.viber.com
- Настройте бота, как описано в документации ниже
- Запустите свой веб-сервер
- Вызов
set_webhook(url)
с URL-адресом вашего веб-сервера
Простой Echo Bot
Во-первых, давайте импортируем и настроим нашего бота
из aioviberbot import Api
из aioviberbot.api.bot_configuration импортировать BotConfiguration
bot_configuration = Конфигурация бота(
имя = 'PythonSampleBot',
аватар='http://viber.com/avatar.jpg',
auth_token = 'ВАШ_AUTH_TOKEN_ЗДЕСЬ',
)
viber = API(bot_configuration)
Создание HTTPS-сервера
Следующее, что вам нужно сделать, это запустить https-сервер. и да, как мы сказали в предварительных условиях, это должен быть https-сервер. Создайте сервер по своему усмотрению, например, с
aiohttp
:
из сети импорта aiohttp
async def webhook (запрос: web.Request) -> web.Response:
request_data = ждать request.read()
logger.debug('Получен запрос. Данные публикации: %s', request_data)
# обрабатываем запрос здесь
вернуть web.json_response({'ok': True})
если __name__ == '__main__':
приложение = веб.Приложение()
app.router.add_route('POST', '/webhook', веб-перехватчик),
web.run_app(приложение)
Установка веб-перехватчика
После запуска сервера вы можете установить веб-перехватчик. Viber будет отправлять сообщения, отправленные на этот URL. веб-сервер должен быть подключен к Интернету.
ожидание viber.set_webhook('https://mybotwebserver.com:443/')
Ведение журнала
В этой библиотеке используется стандартный регистратор Python. Если вы хотите видеть его журналы, вы можете настроить регистратор:
logger = logging.getLogger('aioviberbot')
logger.setLevel(регистрация.DEBUG)
обработчик = ведение журнала.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
обработчик.setFormatter(форматер)
logger.addHandler(обработчик)
Предоставляете ли вы основные типы сообщений?
Ну смешно спросите вы. Да. Все типы сообщений находятся в пакете aioviberbot.api.messages
. Вот несколько примеров:
из импорта aioviberbot.api.messages (
Текстовое сообщение,
КонтактСообщение,
ИзображениеСообщение,
видеосообщение,
)
из aioviberbot.api.messages.data_types.contact импортировать контакт
# создание текстового сообщения
text_message = TextMessage(text='пример текстового сообщения!')
# создание контактного сообщения
contact = Contact(name='Пользователь Viber', phone_number='0123456789')
contact_message = ContactMessage (контакт = контакт)
# создание графического сообщения
picture_message = PictureMessage(text='Проверьте это', media='http://site.
com/img.jpg')
# создание видео сообщения
video_message = VideoMessage(media='http://mediaserver.com/video.mp4', размер=4324)
Вы заметили, как мы создали TextMessage
? Существует множество типов сообщений, с которыми вам следует ознакомиться.
- Текстовое сообщение
- URL-адрес сообщения
- Контактное сообщение
- Графическое сообщение
- Видеосообщение
- Сообщение о местоположении
- Наклейка Сообщение
- Мультимедийное сообщение
- Сообщение клавиатуры
Создавать их легко! Каждый объект сообщения имеет свой собственный уникальный конструктор, соответствующий его реализации API, нажмите на него, чтобы увидеть! Ознакомьтесь с полной документацией по API для более продвинутого использования.
Давайте сложим все это и ответим сообщением!
из сети импорта aiohttp
из aioviberbot импортировать API
из aioviberbot.api.bot_configuration импортировать BotConfiguration
из aioviberbot.
api.messages.text_message импортировать TextMessage
из aioviberbot.api.viber_requests импортировать ViberConversationStartedRequest
из aioviberbot.api.viber_requests импортировать ViberMessageRequest
из aioviberbot.api.viber_requests импортировать ViberSubscribedRequest
viber = API(Конфигурация бота(
имя = 'PythonSampleBot',
аватар='http://viber.com/avatar.jpg',
auth_token='ВАШ_AUTH_TOKEN_ЗДЕСЬ'
))
async def webhook (запрос: web.Request) -> web.Response:
request_data = ждать request.read()
подпись = request.headers.get('X-Viber-Content-Signature')
если нет viber.verify_signature(request_data, подпись):
поднять web.HTTPForbidden
viber_request = viber.parse_request(запрос_данных)
если isinstance(viber_request, ViberMessageRequest):
# эхо-сообщение
жду viber.send_messages(
viber_request.sender.id,
[viber_request.сообщение],
)
elif isinstance (viber_request, ViberSubscribedRequest):
жду viber.
send_messages(
viber_request.user.id,
[TextMessage(text='Спасибо за подписку!')],
)
elif isinstance (viber_request, ViberConversationStartedRequest):
жду viber.send_messages(
viber_request.user.id,
[TextMessage(text='Спасибо за начало разговора!')],
)
вернуть web.json_response({'ok': True})
асинхронное определение set_webhook_signal (приложение: web.Application):
ожидание viber.set_webhook('https://mybotwebserver.com/webhhok')
если __name__ == '__main__':
приложение = веб.Приложение()
app.on_startup.append (set_webhook_signal)
app.router.add_route('POST', '/webhook', веб-перехватчик),
web.run_app(приложение)
Как видите, существует множество типов Request
, вот их список.
API Viber
Класс API
из API импорта aioviberbot
- API
- инициализация (bot_configuration, client_session)
- .set_webhook(url, webhook_events) ⇒
Список зарегистрированных типов событий
- .
unset_webhook() ⇒
Нет
- .get_account_info() ⇒
объект
- .verify_signature(данные_запроса, подпись) ⇒ 9.0147 логическое значение
- .parse_request(request_data) ⇒
ViberRequest
- .send_messages(to, messages) ⇒
список отправленных токенов сообщений
- .broadcast_messages(broadcast_list, messages) ⇒
список отправленных токенов сообщений
- .get_online(viber_user_ids) ⇒
словарь статусов пользователей
- .get_user_details(viber_user_id) ⇒
словарь данных пользователя
- .post_messages_to_public_account(кому, сообщения) ⇒ 9.0147 список отправленных токенов сообщений
Новый API()
Параметр | Тип | Описание |
---|---|---|
bot_configuration | объект | Конфигурация бота |
клиент_сеанс | объект | Необязательный aiohttp. , если вы хотите использовать свой собственный сеанс для запросов API |
Api.set_webhook(url)
Параметр | Тип | Описание |
---|---|---|
адрес | струна | URL вашего веб-сервера |
webhook_events | список | необязательный список подписанных событий |
Возвращает Список зарегистрированных типов_событий
.
event_types = await viber.set_webhook('https://example.com/webhook')
Api.unset_webhook()
Возвращает Нет
.
ожидание viber.unset_webhook()
Api.get_account_info()
Возвращает объект
со следующим JSON.
account_info = ожидание viber.get_account_info()
Api.verify_signature(запрос_данные, подпись)
Параметр | Тип | Описание |
---|---|---|
запрос_данные | строка | данные поста из запроса |
подпись | струна | отправлено как заголовок X-Viber-Content-Signature |
Возвращает логическое значение
, предлагающее, действительна ли подпись.
если не viber.verify_signature(wait request.read(), request.headers.get('X-Viber-Content-Signature')):
поднять web.HTTPForbidden
API.parse_request(request_data)
Параметр | Тип | Описание |
---|---|---|
запрос_данные | струна | данные поста из запроса |
Возвращает объект ViberRequest
.
Есть список объектов ViberRequest
viber_request = viber.parse_request(await request.read())
Api.send_messages (кому, сообщения)
Параметр | Тип | Описание |
---|---|---|
до | струна | Идентификатор пользователя Viber |
сообщения | список | список сообщений объектов |
Возвращает список
токенов сообщений отправленных сообщений.
токенов = ожидание viber.send_messages(
to=viber_request.sender.id,
сообщения = [TextMessage (текст = 'пример сообщения')],
)
Api.broadcast_messages(broadcast_list, сообщения)
Параметр | Тип | Описание |
---|---|---|
список_вещания | список | список идентификаторов пользователей Viber |
сообщения | список | список сообщений объектов |
Возвращает список
токенов сообщений отправленных сообщений.
токенов = ожидание viber.broadcast_messages(
широковещательный_список = [
"ABB102akPCRKFaqxWnafEIA==",
"ABB102akPCRKFaqxWna111==",
"ABB102akPCRKFaqxWnaf222==",
],
сообщения = [TextMessage (текст = 'пример сообщения')],
)
Api.post_messages_to_public_account(кому, сообщения)
Параметр | Тип | Описание |
---|---|---|
отправитель | струна | Идентификатор пользователя Viber |
сообщения | список | список сообщений объектов |
Возвращает список
токенов сообщений отправленных сообщений.
токенов = ожидание viber.post_messages_to_public_account(
отправитель=viber_request.sender.id,
сообщения = [TextMessage (текст = 'пример сообщения')],
)
Api.get_online(viber_user_ids)
Параметр | Тип | Описание |
---|---|---|
viber_user_ids | массив строк | Массив идентификаторов пользователей Viber |
Возвращает словарь пользователей
.
пользователей = ожидание viber.get_online(['user1id', 'user2id'])
Api.get_user_details(viber_user_id)
Параметр | Тип | Описание |
---|---|---|
viber_user_ids | струна | Идентификатор пользователя Viber |
Функция get_user_details
будет получать сведения о конкретном пользователе Viber на основе его уникального идентификатора пользователя. Идентификатор пользователя можно получить из обратных вызовов, отправленных в учетную запись относительно действий пользователя. Этот запрос можно отправить дважды в течение 12 часов для каждого идентификатора пользователя.
user_data = ожидание viber.get_user_details('userId')
Объект запроса
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | в соответствии с EventTypes enum |
метка времени | длинный | Эпоха времени запроса |
- ViberRequest
- .event_type ⇒
строка
- .timestamp ⇒
длинное
- .event_type ⇒
Объект ViberConversationStartedRequest
Унаследовано от ViberRequest
Событие начала беседы срабатывает, когда пользователь открывает беседу с публичной учетной записью/ботом с помощью кнопки «сообщение» (находится на информационном экране учетной записи) или с помощью прямой ссылки.
Это событие , а не считается событием подписки и не позволяет учетной записи отправлять сообщения пользователю; однако это позволит отправить пользователю одно «приветственное сообщение». См. отправку приветственного сообщения ниже для получения дополнительной информации.
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда равно значению EventType.CONVERSATION_STARTED |
сообщение_токен | струна | Уникальный идентификатор сообщения |
тип | струна | Конкретный тип chat_started событие. |
контекст | струна | Любые дополнительные параметры, добавленные к ссылке на контент, используемой для доступа к диалогу, переданному в виде строки |
пользователь | Профиль пользователя | пользователь начал беседу UserProfile |
подписался | логическое значение | Указывает, подписан ли уже пользователь |
- ViberConversationStartedRequest
- message_token ⇒
строка
Тип - ⇒
строка
- контекст ⇒
строка
- пользователь ⇒
Профиль пользователя
- message_token ⇒
Объект ViberDeliveredRequest
Унаследован от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда соответствует значению EventType. |
сообщение_токен | струна | Уникальный идентификатор сообщения |
идентификатор_пользователя | струна | Уникальный идентификатор пользователя Viber |
- ViberDeliveredRequest
- message_token ⇒
строка
- user_id ⇒
строка
- message_token ⇒
Объект ViberFailedRequest
Наследуется от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда соответствует значению EventType.FAILED |
сообщение_токен | струна | Уникальный идентификатор сообщения |
идентификатор_пользователя | струна | Уникальный идентификатор пользователя Viber |
по убыванию | струна | Описание отказа |
- ViberFailedRequest
- message_token ⇒
строка
- user_id ⇒
строка
- по убыванию ⇒
строка
- message_token ⇒
Объект ViberMessageRequest
Наследуется от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда соответствует значению EventType. |
сообщение_токен | струна | Уникальный идентификатор сообщения |
сообщение | Сообщение | Сообщение Объект |
отправитель | Профиль пользователя | пользователь начал беседу UserProfile |
- ViberMessageRequest
- message_token ⇒
строка
Сообщение - ⇒ Сообщение
- отправитель ⇒
Профиль пользователя
- message_token ⇒
Объект ViberSeenRequest
Наследуется от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда равно значению EventType.SEEN |
сообщение_токен | струна | Уникальный идентификатор сообщения |
идентификатор_пользователя | струна | Уникальный идентификатор пользователя Viber |
- ViberSeenRequest
- message_token ⇒
строка
- user_id ⇒
строка
- message_token ⇒
Объект ViberSubscribedRequest
Унаследован от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда соответствует значению EventType. |
пользователь | Профиль пользователя | пользователь начал беседу UserProfile |
- ViberSubscribedRequest
- пользователь ⇒
Профиль пользователя
- пользователь ⇒
Объект ViberUnsubscribedRequest
Унаследован от ViberRequest
Параметр | Тип | Примечания |
---|---|---|
тип_события | струна | всегда соответствует значению EventType.UNSUBSCRIBED |
идентификатор_пользователя | струна | Уникальный идентификатор пользователя Viber |
- ViberОтписатьсяЗапрос
- get_user_id() ⇒
строка
- get_user_id() ⇒
Объект UserProfile
Параметр | Тип | Примечания |
---|---|---|
идентификатор | струна | — |
имя | струна | — |
аватар | струна | URL-адрес аватара |
страна | строка | в настоящее время установлено в CONVERSATION_STARTED только событие |
язык | струна | в настоящее время установлено в CONVERSATION_STARTED только событие |
Объект сообщения
Общие члены для Интерфейс сообщения
:
Параметр | Тип | Описание |
---|---|---|
метка времени | длинный | Эпоха |
клавиатура | JSON | клавиатура JSON |
данные отслеживания | JSON | Данные отслеживания JSON от клиента Viber |
Общие аргументы конструктора Сообщение
интерфейс :
Параметр | Тип | Описание |
---|---|---|
дополнительноКлавиатура | JSON | Написание пользовательских клавиатур |
дополнительные данные отслеживания | JSON | Данные должны сохраняться на клиентском устройстве Viber и отправляться обратно каждый раз при получении сообщения |
Объект TextMessage
Участник | Тип |
---|---|
текст | строка |
сообщение = TextMessage (текст = 'мое текстовое сообщение')
Объект URLMessage
Участник | Тип | Описание |
---|---|---|
СМИ | струна | Строка URL |
сообщение = URLMessage(media='http://my.
siteurl.com')
Объект ContactMessage
Участник | Тип |
---|---|
контакт | Контактный телефон |
из aioviberbot.api.messages.data_types.contact импорт Контакт
contact = Contact(name='Пользователь Viber', phone_number='+0015648979', avatar='http://link.to.avatar')
contact_message = ContactMessage (контакт = контакт)
Объект PictureMessage
Участник | Тип | Описание |
---|---|---|
СМИ | струна | URL сообщения (только jpeg) |
текст | струна | |
эскиз | струна |
message = PictureMessage(media='http://www.thehindubusinessline.com/multimedia/dynamic/01458/viber_logo_JPG_1458024f.
jpg', text='Viber logo')
Объект VideoMessage
Участник | Тип | Описание |
---|---|---|
СМИ | струна | адрес видео |
размер | внутр. | |
эскиз | струна | |
длительность | внутр. |
сообщение = VideoMessage(media='http://site.com/video.mp4', size=21499)
Объект LocationMessage
Участник | Тип |
---|---|
местоположение | Местоположение |
из aioviberbot.api.messages.data_types.location import Местоположение
местоположение = местоположение (широта = 0,0, долгота = 0,0)
location_message = LocationMessage (местоположение = местоположение)
Объект StickerMessage
Участник | Тип |
---|---|
sticker_id | инт |
сообщение = StickerMessage(sticker_id=40100)
Объект FileMessage
Участник | Тип |
---|---|
СМИ | струна |
размер | длинный |
имя_файла | струна |
message = FileMessage(media=url, size=size_in_bytes, file_name=file_name)
Объект RichMediaMessage
Участник | Тип |
---|---|
богатые_медиа | строка (JSON) |
SAMPLE_RICH_MEDIA = """{
"BgColor": "#69C48A",
"Кнопки": [
{
«Колонны»: 6,
«Ряды»: 1,
"BgColor": "# 454545",
"BgMediaType": "gif",
"БгМедиа": "http://www.
url.by/test.gif",
"BgLoop": правда,
"ActionType": "открыть URL",
«Тихий»: правда,
«ActionBody»: «www.tut.by»,
«Изображение»: «www.tut.by/img.jpg»,
"TextVAlign": "средний",
«TextHAlign»: «слева»,
"Текст": "Кнопка пример",
«Непрозрачность текста»: 10,
"TextSize": "обычный"
}
]
}"""
SAMPLE_ALT_TEXT = 'обновите сейчас!'
сообщение = RichMediaMessage (rich_media = SAMPLE_RICH_MEDIA, alt_text = SAMPLE_ALT_TEXT)
Объект KeyboardMessage
Участник | Тип |
---|---|
клавиатура | JSON |
tracking_data | JSON |
сообщение = KeyboardMessage (данные_отслеживания = данные_отслеживания, клавиатура = клавиатура)
Отправка приветственного сообщения
Viber API позволяет отправлять сообщения пользователям только после того, как они подпишутся на аккаунт. Однако Viber позволит учетной записи отправить пользователю одно «приветственное сообщение», когда пользователь открывает разговор, прежде чем пользователь подпишется.
Приветственное сообщение будет отправлено в ответ на обратный вызов chat_started
, который будет получен от Viber, как только пользователь откроет диалог с учетной записью. Чтобы узнать больше об этом событии и о том, когда оно запускается, см. Разговор начат
в разделе обратных вызовов.
Поток приветственного сообщения
Отправка приветственного сообщения будет осуществляться в соответствии со следующим потоком:
- Пользователь открывает беседу 1-на-1 с учетной записью.
- Сервер Viber отправляет
chat_started
даже на вебхук PA. - Учетная запись получает
chat_started
и отвечает HTTP-ответом, который включает приветственное сообщение в качестве тела ответа.
Приветственное сообщение будет представлять собой JSON, созданный в соответствии со структурой запросов send_message, но без параметра получателя
.