Отправка сообщений из 1С 7.7 в viber
Обработка тестировалась на платформе 1С:Предприятие 7.7 для SQL (7.70.027)
Обработка только отправляет сообщения из 1с 7.7 любой конфигурации пользователю viber по его id. Получение сообщений не реализовано.
Обработка проверена на ОС Windows7 и использует её объект WinHttp.WinHttpRequest.5.1
Если у Вас ОС WindowsServer2003, то можно доработать обработку с использованием внешней компоненты https://forum.infostart.ru/forum28/topic229569/
1. Файлы из архива копируются в папку \ExtForms базы 1с, обработка запускается в Сервис-Дополнительные возможности-Отправить сообщение в Viber
2. Для использования обработки требуется чат-бот, созданный в партнерском аккаунте Viber. Для этого надо пройти регистрацию по ссылке https://partners.viber.com/login (про это есть много инфы в инете)
После создания чат-бота вам предоставится токен (ключ) для api (4d2xxxxxxxxxxxxdd5-9d4xxxxxxxxdd5-a1dxxxxxxxxxx62), который используется в заголовках post-запроса.
Этот токен надо записать в обработке кнопкой "Записать ТОКЕН".
В настройках приложения viber на телефоне должен появиться раздел "Мои чат-боты".
3. Затем на сайте с поддержкой HTTPS и наличием SSL-сертификата надо создать папку (например, viber) и записать в него файл index.php с содержимым:
<?php
@header("Content-type: text/javascript; charset=utf-8");
echo '';
?>
Путь к этой папке записать в поле обработки "https адрес Вебхука" и запустить чат-бот кнопкой "Настроить ВЕБХУК".
4. Получить id пользователя viber можно следующим образом:
- пригласить на телефоне друга в созданом чат-боте (В настройках приложения viber на телефоне в разделе "Мои чат-боты" ссылка "поделиться")
- пользователь, получивший приглашение, должен обязательно отправить любое сообщение боту, иначе он не будет подписан
- добавить этого пользователя в администраторы чат-бота на телефоне и получить инфу об аккаунте кнопкой обработки "Получить ИНФУ".
В полученном сообщении найти, что-то вроде "members":[{"id":"4UP5FxxxxxxxxxxxRT9Q==","name":"Евгений". 4UP5FxxxxxxxxxxxRT9Q== и есть нужный id.
Добавить в таблицу обработки 1с-пользователя viber (любой элемент любого справочника 1с) кнопкой "Добавить".
- теперь этого пользователя можно удалить из администраторов чат-бота на телефоне
PS. Можно конечно для сайта написать посложнее index.php. Чтобы он, например, записывал в текстовый файл все сообщения от viber о подписанных пользователях, да и сами сообщения пользователей из viber.
Подробнее об этом в документации https://developers.viber.com/docs/api/rest-bot-api/
5. Для отправки сообщения из обработки выбираем нужного пользователя, пишем сообщение и нажимаем кнопку "Отправить сообщение"
6. Для автоматической отправки сообщений при наступлении определенных событий в 1с используем:
Парам=СоздатьОбъект("СписокЗначений");
Парам.Установить("Получатель",Спр.ТекущийЭлемент());
Парам.Установить("Отправитель","Бот 1с"); //по умолчанию "Робот 1с"
Парам.Установить("Сообщение","Отправлено из 1с"+РазделительСтрок+"Проверка");
ОткрытьФормуМодально("Отчет",Парам,КаталогИБ()+"\extforms\РаботаСВайбер.ert");
Если Парам<>"" Тогда
Сообщить("Ошибка: "+Парам,"!");
Иначе
Сообщить("Сообщение отправлено");
КонецЕсли;