# Открытый пакет интеграций
[![Статус порога качества](http://api.athenaeum.digital/Sonar/api/project_badges/measure?project=OpenIntegrations&metric=alert_status)](http://api.athenaeum.digital/Sonar/dashboard?id=OpenIntegrations)
![Версия](https://img.shields.io/badge/Версия_1С-8.3.9-yellow)
[![OpenYellow](https://img.shields.io/endpoint?url=https://openyellow.neocities.org/badges/2/736878759.json)](https://openyellow.notion.site/openyellow/24727888daa641af95514b46bee4d6f2?p=f78cea2066114067ab9069f06206219d&pm=s)
Набор библиотек для интеграции с некоторыми популярными API для 1C:Enterprise.
Проект состоит из общих модулей, каждый из которых отвечает за свой API, а также нескольких модулей-инструментов, общих для всех. Реализованные методы выполняют конечные задачи (вроде ОтправитьСообщение() или СоздатьПост()), что позволяет использовать их без углубления в реализацию. Однако, код, при этом, достаточно сильно декомпозирован - методы авторизации, получения данных и пр. по возможности вынесены в отдельные функции. Это позволяет легко добавлять новые методы, даже если они еще не реализованы в самой библиотеке на текущий момент.
На данный момент реализованы методы для работы со следующими API:
## Релизы ##
Релизы библиотеки выходят в трех вариантах: как XML файлы расширения для загрузки через конфигуратор, как EDT проект расширения и как отдельный файл расширения формата cfe. Помимо этого, вы можете просто скопировать код общих модулей из релизов XML или EDT в свою конфигурацию вручную - метаданных других типов там нет. Вне зависимости от выбранного сопособа, получать файлы необходимо из Release, так как в самих исходных файлах репозитория бывают промежуточные данные и функции, находящиеся в процессе разработки.
Общие модули проекта бывают двух видов:
- Служебные
- OPI_Инструменты
- OPI_Криптография
- Модули непосредственной работы с API
- OPI_Telegram, OPI_VK...
>[!WARNING]
>Не рекомендуется использовать методы служебных модулей в других местах вашей конфигурации (если вы собираетесь обновляться до новых версий в дальнейшем). Для сохранения обратной совместимости, количество/назначение параметров и типы возвращаемых значений для методов работы с API не изменяются, но это не применимо к служебным модулям, которые могут изменяться как угодно для оптимизации и дополнения под новые нужды. Если вам необходим функционал из служебных модулей, рекомендуется скопировать его себе отдельно.
Список релизов можно найти в [Releases данного репозитория](https://github.com/Bayselonarrend/OpenIntegrations/releases).
## Документация ##
У ОПИ есть подробная документация с примерами по адресу [https://opi.neocities.org](https://opi.neocities.org). Там вы можете найти как общие положения о начале работы с каждым конкретным API, так и описания каждого метода с примерами кода и возвращаемых значений.
![Docs](https://github.com/Bayselonarrend/OpenIntegrations/raw/main/Media/docs.png)
___
>![Infostart](https://github.com/Bayselonarrend/TelegramEnterprise/raw/main/infostart.svg)
>
>Статьи на Инфостарте:
>[Открытый пакет интеграций для популярных API: Telegram, VK, Viber, Twitter](https://infostart.ru/1c/articles/2016164/)
>[Библиотека для работы с Notion API (Open-source)](https://infostart.ru/1c/articles/2022254/)
>[Библиотека работы с Яндекс Диском: делаем простейший менеджер облака за 15 минут (Open-source)](https://infostart.ru/1c/articles/2038960/)
>[Открываем свою лавку на платформе VK Market](https://infostart.ru/public/2043994/)
>Открытый Пакет интеграций (OpenIntegrations)
>Licensed under the MIT License
>Список зависимостей находится в файле NOTICE