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

16.07.21

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

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

Скачать исходный код

Наименование Файл Версия Размер
Расширение для интеграции 1С и Viber с помощью API
.cfe 18,21Kb
45
.cfe 0.1 18,21Kb 45 Скачать
Обработка для интеграция 1С и Viber с помощью API
.epf 13,18Kb
462
.epf 0.1 13,18Kb 462 Скачать бесплатно

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 Бот

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

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

15000 11250 руб.

18.06.2021    59436    295    255    

349

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

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

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

13200 9900 руб.

27.12.2021    33809    82    159    

177

Легкий документооборот (+чат-бот для Telegram)

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

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

14900 руб.

15.11.2018    28016    26    48    

58

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83875    41    191    

128

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    14079    11    8    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

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

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2352    2    0    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bulpi 215 17.07.21 13:30 Сейчас в теме
Когда-то Вайбер разрешал интеграцию только крупным клиентам, с пакетом от N сотен тысяч сообщений в месяц. С тех пор что-то изменилось ?
2. elcoan 998 17.07.21 14:59 Сейчас в теме
(1) Да, сейчас аккаунт разработчика можно получить бесплатно и очень оперативно.
3. чингачгук 24 05.08.21 12:46 Сейчас в теме
Добрый день.
Подскажите куда зайти чтобы "4. Регистрируем webhook в Viber."?
4. elcoan 998 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 998 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 998 20.08.21 00:16 Сейчас в теме
(8) Не совсем понял проблему с получением сообщений. Сообщения получаются web-hook'ом, в моем примере, они сохраняются в регистр сведений "viber_ЖурналЗапросов", где их в последствии можно обрабатывать.
10. чингачгук 24 20.08.21 09:43 Сейчас в теме
(9) Да все верно, я разобрался, только забыл отписаться. У меня просто не сразу поднялся вебхук, я сначала через внешний тестировал.
11. ClickUp 680 28.01.22 11:13 Сейчас в теме
(4) Подскажите как получить вебхук ?
12. elcoan 998 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 15 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 998 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
Сообщение было скрыто модератором.
...
Оставьте свое сообщение