Интеграция 1С и Viber с помощью API

16.07.21

Интеграция - Мессенджеры и боты

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Расширение для интеграции 1С и Viber с помощью API
.cfe 18,21Kb ver:0.1
47
47 Скачать (1 SM) Купить за 1 850 руб.
Обработка для интеграция 1С и Viber с помощью API
.epf 13,18Kb ver:0.1
483
483 Скачать бесплатно

1. Чтобы начать работать с API, необходимо зарегистрировать приложение. Переходим по ссылке и заполняем параметры приложения:

Картинку, название, категорию, email и др., нажимаем "Create", чтобы создать приложение.

2. На странице приложения будет показан токен - уникальный ключ, для работы с ботом, он нам пригодится.

3. Далее будет немного сложно: необходимо опубликовать свой http-сервис в 1С, чтобы мы могли получать уведомления о событиях от Viber. Cервер, где будет выполнена публикация обязательно должен работать через https с действительным SSL сертификатом.

Для упрощения, я подготовил расширение, в котом есть всё необходимое: http-сервис и регистр сведений, куда будут записаны все вызовы от Viber. Публикуем сервис, проверяем в браузере, если по адресу https://localhost/<имя_базы>/hs/viber/webhook отображается {"result": "ok"}, значит, можно переходить к следующему пункту.

4. Регистрируем webhook в Viber. Заходим в 1С, открываем обработку "Интеграция Viber" и заполняем параметры интеграции:

Токен приложения, который мы получили в п.2.
Имя бота, которое будет отображаться в переписке.
Webhook - адрес вашего http-сервиса.

Нажимаем кнопку "Установить", если все настройки выполнены правильно, то ответ от сервера будет, как на скриншоте ("status_message": "ok").

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

6. По адресу веб-хука от Viber придет уведомление. Смотрим записи в регистре сведений "Журнал запросов (Viber)".

По сути, нам из него нужно только значение "sender" - "id", чтобы начать отправлять сообщения от имени бота собеседнику.

7. Вписываем значение sender-id в параметры обработки "Интеграция Viber" в поле "Канал". На этом подготовительная часть закончена. На самом деле, после выполненных настроек работать с API совсем не сложно. Чтобы отправлять сообщения нам нужно вызывать только один метод send_message с различными параметрами.

Заполняем параметры, нажимаем кнопку "Отправить", смотрим результат в Viber.

 

Платформа 8.3.14. Конфигурация - любая. Описание всех методов API - https://developers.viber.com/docs/api/rest-bot-api/#get-started

Обработка Интеграция Viber Вибер Вайбер API Бот

См. также

Мессенджеры и боты Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

15600 руб.

23.06.2023    9483    58    12    

34

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 1С:Конвертация данных Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    38198    108    161    

201

SALE! 25%

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 11250 руб.

18.06.2021    65564    312    272    

369

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    30270    35    49    

71

Мессенджеры и боты Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Данное расширение представляет собой интерфейс взаимодействия 1С с сервисом Wazzup. Данный сервис позволяет вести беседу с использованием номера телефона, привязанного к Whatsapp. Почитать о сервисе и его условиях использования можно по ссылке https://wazzup24.com/. На данный момент расширение поддерживает почти все доступные через API функции. Обновление от 19.05.2023, версия 2.1!

14400 руб.

30.11.2020    13594    8    13    

15

Мессенджеры и боты SMS рассылки Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.

7800 руб.

15.05.2024    1544    3    6    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bulpi 217 17.07.21 13:30 Сейчас в теме
Когда-то Вайбер разрешал интеграцию только крупным клиентам, с пакетом от N сотен тысяч сообщений в месяц. С тех пор что-то изменилось ?
2. elcoan 1044 17.07.21 14:59 Сейчас в теме
(1) Да, сейчас аккаунт разработчика можно получить бесплатно и очень оперативно.
3. чингачгук 24 05.08.21 12:46 Сейчас в теме
Добрый день.
Подскажите куда зайти чтобы "4. Регистрируем webhook в Viber."?
4. elcoan 1044 05.08.21 15:12 Сейчас в теме
(3) Добрый день! Это просто название пункта) Нужно открыть обработку, заполнить токен, имя, webhook и нажать кнопку справа "Установить" - веб-хук будет установлен. (При этом будет сделан вызов https://developers.viber.com/docs/api/rest-bot-api/#setting-a-webhook
5. чингачгук 24 05.08.21 19:07 Сейчас в теме
6. чингачгук 24 05.08.21 19:43 Сейчас в теме
Может еще подскажите? Я вебхук настроил в базе 1с с паролем. Через браузер ссылка открывается, затем идет аутентификация
Но при попытке установить, выдается ошибка, т.к. аутентификация из ссылки не устанавливается. Как-то можно в ссылке сразу указать логин и пароль, или в процедуре обращения его указать?
Не нашел в коде куда можно вставить логин и пароль
7. elcoan 1044 05.08.21 20:19 Сейчас в теме
(6) Возможно ли в Вашем случае отключить аутентификацию? Можно создать специального пользователя в 1С, которому запретить интерактивный вход в базу и установить для него аутентификацию Windows, от имени пользователя, под которым работает IIS.
Как другой вариант, можно попробовать в адресе web-hook указать логин и пароль типа такого https://user:pass@www.example.com/webhook (не проверял этот вариант).
8. чингачгук 24 06.08.21 00:19 Сейчас в теме
(7) Пока с аутентификацией не разобрался "https://user:pass@www.example.com/webhook (не проверял этот вариант)." - так не работает.
Пока сделал отдельную базу без аутентификации, далее что-то придумаю
Так же не плохо заработало со сторонним сервисом вебхука (https://webhook.site)
Вот что не могу добиться - это прочитать сообщения которые пользователь пишет боту. На вебхуке они все висят, а вот как это список дернуть в 1с, не знаю.

нашел другой метод подключения, там впринипе можно указать логин и пароль (но они у меня сейчас пустые, поэтому не использую)


Процедура ОтправитьСообщение(Текст ="") Экспорт
Структура = Новый Структура();
Структура.Вставить("receiver", ИДПользователя);
sender = Новый Соответствие();
sender.Вставить("name", "Чат-бот");

Структура.Вставить("sender", sender);
Структура.Вставить("type", "text");
Структура.Вставить("text", ?(Текст = "", "Добрый день!", Текст));

ОтправитьЗапросНаСерверВайбера("send_message", Структура);

КонецПроцедуры

Функция ОтправитьЗапросНаСерверВайбера(ИмяКоманды, СтруктураПараметров = Неопределено)

Сервер = "chatapi.viber.com";
ТелоЗапроса = ПолучитьСтруктуруСообщения(СтруктураПараметров);
Адрес = ПолучитьТекстЗапросаВайбер(ИмяКоманды);
Соединение = Новый HTTPСоединение(Сервер,,,,,, Новый ЗащищенноеСоединениеOpenSSL); //Новый HTTPСоединение(Сервер,,Логин,Пароль,,, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос(Адрес);

Токен = Токен();
Если ПустаяСтрока(Токен) Тогда
Сообщить("Укажите токен");
Возврат Неопределено;
КонецЕсли;

Если ТелоЗапроса <> Неопределено Тогда
Запрос.Заголовки.Вставить("Content-Type","application/json");
Запрос.Заголовки.Вставить("X-Viber-Auth-Token",Токен());
Если СтрДлина(ТелоЗапроса) > 4 тогда
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса,"UTF-8", ИспользованиеByteOrderMark.НеИспользовать);
КонецЕсли;
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Иначе
Ответ = Соединение.Получить(Запрос);
КонецЕсли;

Чтение = Новый ЧтениеJSON;
ОтветСтрокой = Ответ.ПолучитьТелоКакСтроку();
Чтение.УстановитьСтроку(ОтветСтрокой);
Результат = ПрочитатьJSON(Чтение);

Возврат Результат;

КонецФункции

Функция ПолучитьТекстЗапросаВайбер(ИмяКоманды)

Адрес = "/pa/";
Адрес = Адрес + ИмяКоманды;
Возврат Адрес;

КонецФункции

Функция ПолучитьСтруктуруСообщения(СтруктураПараметров = Неопределено)

СтруктураНастроек = Новый Структура();

Если СтруктураПараметров <> Неопределено Тогда
Для Каждого стрПараметр Из СтруктураПараметров Цикл
СтруктураНастроек.Вставить(стрПараметр.Ключ, стрПараметр.Значение);
КонецЦикла;
КонецЕсли;

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СтруктураНастроек);
Возврат ЗаписьJSON.Закрыть();

КонецФункции

Показать
9. elcoan 1044 20.08.21 00:16 Сейчас в теме
(8) Не совсем понял проблему с получением сообщений. Сообщения получаются web-hook'ом, в моем примере, они сохраняются в регистр сведений "viber_ЖурналЗапросов", где их в последствии можно обрабатывать.
10. чингачгук 24 20.08.21 09:43 Сейчас в теме
(9) Да все верно, я разобрался, только забыл отписаться. У меня просто не сразу поднялся вебхук, я сначала через внешний тестировал.
11. ClickUp 722 28.01.22 11:13 Сейчас в теме
(4) Подскажите как получить вебхук ?
12. elcoan 1044 31.01.22 09:47 Сейчас в теме
(11) Добрый день, можно подключить к базе расширение "Расширение для интеграции 1С и Viber с помощью API" и опубликовать базу на http-сервере.
13. user687938_mds_88 5 09.02.22 07:32 Сейчас в теме
Добрый день.
У меня база 1С с пользователями (т.е. для входа нужны логин и пароль).
Создал http-сервис с методом GET... (шаблон без параметров).
Веб хук получился такой: https://mydomen.ru/MY_BASE/hs/ExchangeMessengers/viber

При обращении в браузере к этому ресурсу, браузер запрашивает логин и пароль пользователя базы 1С. После ввода запрос проходит.

При регистрации вебхука в viber возвращается ошибка status 1 (недоступный url). Предполагаю это связано с авторизацией в 1С.

Может кто знает как при регистрации вебхука указать логин и пароль пользователя 1С или есть другой метод?
18. DENSKR 16 31.10.22 12:20 Сейчас в теме
(13)Вы разобрались с этой задачей? У меня такая же проблема.
22. FUXEARA 08.12.22 12:28 Сейчас в теме
(18)
сообщение 21!
Ошибку со status 1 , в веб клиенте не смог решить. Она возникает в следствии внесения данных о пользователе и пароле в default и после этого 1с теряет публикацию на веб сервере, хотя все при этом работает. Если удалить из default эти данные 1с снова видит публикацию, но тогда не пашет http сервис. Писал разрабам, посмотрим что ответят.
Решилась проблема , созданием чистой базы без пользователей и паролей и настройкой обмена между этой базой и основной.
14. sokir 2 14.02.22 22:41 Сейчас в теме
Когда нажимаю кнопку Установить - вываливается ошибка:
Ошибка при обработке метода API viber: {ВнешняяОбработка.ИнтеграцияViber.Форма.Форма.Форма(125)}: Сервер вернул ошибку:
{"status":1,"chat_hostname":"SN-CHAT-02_"}

В чем может быть причина?
Прикрепленные файлы:
21. FUXEARA 08.12.22 12:23 Сейчас в теме
(14) В этом фрагменте
Если ТипЗнч(ТекстЗапроса) = Тип("Строка") Тогда
	Запрос.УстановитьТелоИзСтроки(ТекстЗапроса);
ИначеЕсли ТипЗнч(ТекстЗапроса) = Тип("ДвоичныеДанные") Тогда
	Запрос.УстановитьТелоИзДвоичныхДанных(ТекстЗапроса);
КонецЕсли;

Соединение 	= Новый HTTPСоединение("chatapi.viber.com", , , , , , Новый ЗащищенноеСоединениеOpenSSL());

Показать

я написал
Если ТипЗнч(ТекстЗапроса) = Тип("Строка") Тогда
	Запрос.УстановитьТелоИзСтроки(ТекстЗапроса,"UTF-8",ИспользованиеByteOrderMark.Авто);
ИначеЕсли ТипЗнч(ТекстЗапроса) = Тип("ДвоичныеДанные") Тогда
	Запрос.УстановитьТелоИзДвоичныхДанных(ТекстЗапроса);
КонецЕсли;
Соединение 	= Новый HTTPСоединение("chatapi.viber.com", , , , , , Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows,Новый СертификатыУдостоверяющихЦентровWindows());

Так заработало из тонкого клиента
15. sokir 2 14.02.22 23:35 Сейчас в теме
Может быть это из-за того что установлен самоподписной сертификат?
Я его ставил когда телегу настраивал - с ним заработало.
16. Andre_vas 25.04.22 18:55 Сейчас в теме
Подскажите пожалуйста, как включить веб хук, есть url полученный в ngrok для тестов, при попытке включить в постман ошибка с кодом 4, в чем может быть проблема?
17. Mikeware 9 14.06.22 10:21 Сейчас в теме
Добрый день. а в вайберовскую группу бот может отправлять сообщения?
19. request4t 09.11.22 18:56 Сейчас в теме
здравствуйте. спасибо за публикацию. разобрался как подключить и отправить. но скажите: можно ли получать сообщения?
20. elcoan 1044 21.11.22 09:09 Сейчас в теме
(19) Добрый день! В обработке есть пример получения сообщений:
https://i.imgur.com/vNGm4LD.png
23. FUXEARA 08.12.22 19:52 Сейчас в теме
(19) (20) код не дописан, там надо добавить
event_types.Добавить("message");
24. пользователь 20.04.23 18:24
Сообщение было скрыто модератором.
...
Оставьте свое сообщение