Интеграция 1С и WhatsApp. Отправка файлов через Green API
- Опубликовано 1c-integra
- Разделы Интеграция
- Дата 24.11.2021
- Комментарии Нет комментариев
После того, как мы научились отправлять текстовые сообщения (см. Интеграция 1С и WathsApp. Отправка сообщений.), совершим отправку файлов через облачное хранилище YandexDisk.
Проверим наличие прикреплённого файла и первым делом выгрузим файл на YandexDisk. В модуле формы создаём процедуру ВыгрузитьФайлВYandexDiskНаСервере.
Установка соединения с YandexDisk
Вызываем функцию ПолучитьHTTPСоединение (рассматривали в прошлой статье), но теперь в качестве параметра АдресСервера передаём «cloud-api.yandex.net».
В реквизитах формы добавляем ПрикрепитьФайл (тип данных: строка) – переносим на форму, назначаем обработчик выбора файла. Проверяем, что файл действительно существует и получаем имя файла. Сохраняем это имя в реквизит формы ИмяФайлаYD. (Его нужно предварительно создать).
На первом шаге нам необходимо получить ссылку для загрузки файла на YandexDisk. Формируем и отправляем HTTP-запрос. Как установить соединение с яндекс-диском читайте в статье Интеграция 1С и YandexDisk.
Выгрузка файла
Проверяем что запрос успешно обработан и код ответа = 200. Десериализуем строку JSON и получаем ссылку для загрузки. Преобразовываем файл к двоичным данным средствами платформы. Теперь вызываем функцию ОтправитьФайлПоПолученнойСсылке на YandexDisk (подробнее в статье Интеграция 1С и YandexDisk).
Возвращаемся в процедуру ОтправитьСообщение. Формируем функцию ПолучитьСсылкуНаСкачиваниеНаСервере, аналогично предыдущей ВыгрузитьФайлВYandexDiskНаСервере. Только здесь в HTTP-запросе передаём параметр «download».
Отправляем ссылку на WhatsApp
В процедуру ОтправитьФайл передаём Соединение, ОсновнойТелефон и полученную СсылкаДляСкачивания. Внутри вызываем функцию СформироватьЗапросHTTP_SendFile из общего модуля. Здесь мы должны установить параметры и тело запроса, согласно документации API по отправлению документов: https://green-api.com/docs/api/sending/SendFileByUrl/.
Похожую функцию мы подробно разбирали в статье Интеграция 1С и WathsApp. Отправка сообщений. Здесь меняем параметры и адресную строку запроса. В качестве urlFile подставляем СсылкуДляСкачивания. idInstance и apiTokenInstance остаются прежними, а в АдресРесурса добавляем «/SendFileByUrl/»
Далее в процедуре ОтправитьФайл получаем ответ, убеждаемся в его корректности. Выполняем десериализацию данных через уже известную нам процедуру ВыполнитьДесериализациюДанныхJSON_ВОбъект1с (см. Интеграция 1С и WathsApp. Отправка сообщений.).
Теперь осталось проверить отправку файла в режиме предприятия. В разделе Продажи → Покупатели, выбираем контрагента, указываем свой номер. Переходим по кнопке на нашу форму и проверяем отправку файла на WhatsApp.
Здесь можно скачать все процедуры и функции общего модуля WhatsApp Core
Вам также может понравиться
Создание http-сервиса в 1С
В прошлой статье мы разобрали как публиковать базу, теперь создадим http cервис в отдельном расширении и проверим его работу. Заходим в базу в режиме конфигуратора и создаём новое расширение с назначением «Дополнение». Назовём его «ТестВебсервис». Отключим «Безопасный режим» и «Защиту от …
Публикация базы 1с на веб-сервере
Публикация базы на HTTP-сервере apache Устанавливаем сервер Apache, который позволит опубликовать нашу базу. Скачиваем архив Apache: https://disk.yandex.ua/d/ibvXQf-y_fSLxA, распаковываем и устанавливаем на компьютер. На вкладке «Информация о сервере» указываем доменное имя «localhost» и имя сервера такое же. Ниже выбираем вариант установки …
Контрагенты в Битрикс24
Создание контрагента Для добавления нового контрагента переходим в раздел «CRM» главного меню, выбираем «Компании» и нажимаем на кнопку «Добавить компанию». В открывшуюся карточку вносим информацию о контрагенте. Указываем название компании, тип взаимоотношений, контактные данные. Данные сотрудников компании, их может быть …