Если вы не слышали ранее об Открытом Пакете Интеграций (что вполне вероятно), то небольшая вводная часть ниже, под катом. Тем, кто уже знаком с ОПИ, данный раздел можно пропустить.
Открытый Пакет Интеграций (ОПИ) - это open-source набор методов для простой и быстрой интеграции с различными популярными API. Он состоит из аналогичных по функционалу 1С-расширения (CFE), OS-пакета и программы для Windows и Linux, которые предоставляют готовые функции для работы с целым набором различных онлайн-сервисов.
- ОПИ бесплатен и имеет открытый исходный код на GitHub. Вы всегда можете получить последнюю версию библиотеки на странице репозитория, а подписавшись - узнавать о выходе обновлений. Все релизы сопровождаются статьями на Инфостарт и разделами единой документации. На Инфостарт вы можете подписаться уже хоть сейчас, а про документацию я расскажу далее.
- Удобная единая документация. Она расположена на сайте openintegrations.dev и содержит в себе всю информацию, необходимую для работы: инструкции по предварительным действиям для начала интеграции, описания всех методов с параметрами и возвращаемыми значениями, примеры кода и т.д. Каждый API имеет там свой раздел.
- Простая установка. ОПИ распространяется во множестве вариантах: как XML файлы расширения, как EDT проект расширения, как файл расширения формата .cfe (версия 1С 8.3.9), как файл пакета для OneScript и еще в целом наборе пакетов и файлов для Windows и Linux. Из этого набора вы всегда сможете выбрать тот способ установки, который лучше подойдет для вашей конкретной задачи
На момент последнего обновления данной статьи, доступны следующие API:
Наиболее актуальную информацию можно посмотреть в репозитории или на вводной странице документации.
WhatsApp - самый популярный мессенджер в мире с двумя миллиардами активных пользователей по всему земному шару.
Что удивительно, ведь телега намного лучше обычный нормальный API "для всех", несмотря на популярность и, наверняка, доходность, в WhatsApp так и не появился. Подбно случаю с Viber, есть только API "для бизнеса", с регистрацией организации, договорами и партнерством, которыми все так любят заниматься
Однако, помимо довольно муторного и недоступного простым смертным подключения к самому Bussines API, существуют также различные сторонние поставщики, которые за плату поддерживают нормальный API между вами и API WhatsApp
В данном обновлении были добавлены методы интеграции с API как раз одного из таки провайдеров - Green API. Он приятно подкупил нормальной документацией, бесплатным тарифом для разработчиков и наличием open-source решений, за что им большой респект. Благодаря этим благоприятным обстоятельствам, в ОПИ теперь есть методы для выполнения следующих действий:
- Работа с аккаунтом
- Получение и установка настроек инстанса
- Получение состояния инстанса
- Перезапуск инстанса
- Разлогинивание
- Связь с аккаунтом WhatsApp по номеру телефона и QR-коду
- Установка картинки профиля
- Архивация и разархивация чатов
- Управление группами
- Получение информации о группе
- Создание группы
- Изменение имени группы
- Добавление и исключение участников
- Назначение и отзыв прав администратора
- Выход из группы
- Установка картинки группы
- Отправка сообщений
- Отправке текстового сообщения
- Отправка файлов с диска и по URL
- Отправка опросов
- Отправка локаций
- Отправка контактов
- Пересылка сообщений
- Изменение и удаление существующих сообщений
- Получение уведомлений
- Получение уведомления из очереди
- Удаление уведомления из очереди после прочтения
- Скачивание файла из входящего сообщения
- Установка отметок прочтения на сообщения
- Очереди и журналы
- Получение и очистка очереди сообщений на отправку
- Получение истории чата
- Получение журналов входящих и исходящих сообщений
Типичный набор действий для работы с мессенджером. Вся информация, как обычно, в документации, здесь вынесу лишь пару простых примеров работы:
Зарегистрироваться в самом GreenAPI и опробовать работу с библиотекой на бесплатном тарифе можно хоть прямо сейчас, перейдя по этой ссылке на их сайт
Другие изменения
Помимо нового функционала работы с WhatsApp, также есть несколько других новостей и важных нововведений:
В библиотеку для работы с PostgreSQL из прошлого обновления была добавлена поддержка создания защищенного TLS соединения. Оно регулируется новым параметром Tls, который был добавлен во все методы библиотеки
// Без TLS
Адрес = "127.0.0.1";
Логин = "bayselonarrend";
Пароль = "12we...";
База = "postgres";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения);
OPI_PostgreSQL.ЗакрытьСоединение(Результат);
// С TLS
Порт = "5433";
СтрокаПодключения = OPI_PostgreSQL.СформироватьСтрокуПодключения(Адрес, База, Логин, Пароль, Порт);
НастройкиTLS = OPI_PostgreSQL.ПолучитьНастройкиTls(Ложь);
Результат = OPI_PostgreSQL.ОткрытьСоединение(СтрокаПодключения, НастройкиTLS);
OPI_PostgreSQL.ЗакрытьСоединение(Результат);
В библиотеку работы с базами SQLite была добавлена поддержка расширений (dll). Их можно подключать с конкретные соединения с базами при помощи нового метода ПодключитьРасширение или просто указывать массивом в методе ВыполнитьЗапросSQL
База = "C:\base.sqlite";
Расширение = "C:\uuid.dll";
ТочкаВхода = "sqlite3_uuid_init";
Соединение = OPI_SQLite.ОткрытьСоединение(База);
Результат = OPI_SQLite.ПодключитьРасширение(Расширение, ТочкаВхода, Соединение);
В этом обновлении также была добавлена еще одна новая библиотека на основе внешней компоненты - библиотека для работы по протоколу RCON. Этот протокол используется, как правило, для удаленного управления игровыми серверами в таких играх как Minecraft, CS:GO, SAMP, Rust и пр. Набор методов небольшой: буквально подключение и отправка команды, как, собственно, сам протокол и подразумевает. Короче, пора поднимать свой сервер Minecraft c блекджеком и админкой на 1С :З
URL = "127.0.0.1:25565";
Пароль = "Jg9F...";
ТаймаутЗаписи = 20;
ТаймаутЧтения = 20;
ПараметрыСоединения = OPI_RCON.СформироватьПараметрыСоединения(URL, Пароль, ТаймаутЧтения, ТаймаутЗаписи);
Соединение = OPI_RCON.ОткрытьСоединение(ПараметрыСоединения);
Команда = "list";
Результат = OPI_RCON.ВыполнитьКоманду(Команда, Соединение);
Все это, как и раньше, доступно во всех вариантах ОПИ: в расширении для 1С:Предприятие, в пакете для OneScript и в консольном приложении
Ну а это все, что я хотел сегодня рассказать. Ищите ресурсы Открытого пакета интеграций по ссылкам ниже, не забывайте ставить плюсики и здесь и звездочки на GitHub - это очень помогает проекту
Спасибо за внимание!
Если вам нравится ОПИ, то не забывайте поддерживать его на GitHub и Инфостарт!
Репозиторий ОПИ: github.com/Bayselonarrend/OpenIntegrations
Последний релиз: github.com/Bayselonarrend/OpenIntegrations/releases/latest
Другие статьи про Открытый пакет интеграций на Инфостарт:
![]()
Мой GitHub: https://gitub.com/Bayselonarrend OpenYellow: https://openyellow.org Лицензия MIT: https://mit-license.org