Очень долгое время команда разработчиков REGOS работает над платформой, которая даёт возможность расширять ПО своими силами или силами сторонних разработчиков – Каталог интеграций и Локальные интеграции. Опыт показал, что эти понятия хоть и всемирно принятые стандарты и в принципе не что-то абсолютно новое в сфере IT, но несмотря на это многие часто спрашивают:
“Как сделать интеграцию с REGOS?”
Это касается как частных лиц, наших пользователей так и представителей других IT продуктов. В связи с этим мы решили раз и навсегда разъяснить – как всё же сделать интеграцию?
В этой статье:
Партнерство
Мы в команде DASTYOR TECHNOLOGIES уже более 7 лет предоставляем готовые решения под ключ для среднего/крупного бизнеса в партнёрстве с REGOS SOFTWARE.
Конкретно для REGOS мы разработали несколько готовых интеграций (как бесплатных, так и платных), из их числа:
- https://apps.regos.uz/integration/details/console (CONSOLE – Управление бизнесом)
- https://apps.regos.uz/integration/details/photo-uploa (Загрузчик фотографий. Максимально быстрая и удобная загрузка фотографий номенклатур)
Для нас миссия это “Улучшение качества жизни владельцев и сотрудников бизнеса посредством разработки, внедрения и обеспечения it-решений для задач учёта розничных, складских и финансовых операций”. Так же мы ценим IT разработку как отдельный уникальный вид ремесла, и эта статья была написана для поддержания наших со-ремесленников
Так в этой серии статей мы хотим делиться личным опытом в надежде на то что вам это будет полезно.
Стоит принять во внимание что статья – больше, как рассказ нежели техническая документация. Ибо разработка – наука точная и требует усложнений и уточнений с реальными примерами запросов/ответов описаний полей и т.д. А в этой статье мы хотим простым русским объяснить принцип работы. Для ознакомления с технической документацией мы уже давно всё описали точным языком на сайте docs.regos.uz (прочитайте от начала до конца, не пропускайте)
Основные понятия
Начнём с понятий.
- Система REGOS — это комплект, в котором уже есть функциональный набор, позволяющий автоматизировать 90–95% бизнес-процессов: управление складом, рабочее место кассира, дашборд владельца/управленца и т.д.
- Стороннее приложение – система, разработанная для целей расширения возможностей REGOS.
- Аккаунт – База данных, принадлежащая Пользователю REGOS (под пользователем имеется ввиду лицо которое пользуется услугами REGOS, не путать с пользователями внутри системы).
- Доп. ПО – Интерфейсы для работы с данными аккаунта (как пример: Рабочее место кассира a.k.a REGOS:POS).
- API – Инстанс программы который обеспечивает связь Доп. ПО и/или Сторонних приложений с Аккаунтом.
- Локальная интеграция – сущность, которая создаётся для конкретного аккаунта самим пользователем REGOS, которая имеет параметр connected_integration_id который позволяет отправлять запросы на API для доступа к данным конкретного аккаунта.
- Тиражируемая интеграция – сущность, которая публикуется в Каталоге интеграций, имеет параметр key, служит для автоматического создания локальных интеграций, тиражируемая интеграция может быть подключена любым пользователем REGOS на аккаунты, принадлежащие ему.
- Для упрощения Термин “Интеграция” далее будем применять в обоих случаях: локальная интеграция, созданная вручную И/ИЛИ локальная интеграция, подключенная через тиражируемую.
- Стороннее приложение может выполнять запросы к API только посредством https://integration.regos.uz/gateway/out/{{connected_integration_id}}/v1/
Доп. ПО уже оснащены внутренними механизмами взаимодействия с REGOS которые по своему образу и подобию не отличаются от сторонних сервисов, хоть и имеют специфичные бесшовные интеграции.
Практический пример

Предположим следующее: кассир делает продажу, и эту продажу мы, как владелец, хотим получить в Telegram.
Сразу стоит упомянуть, что для такой задачи уже есть БЕСПЛАТНАЯ тиражируемая интеграция:
https://apps.regos.uz/integration/details/regos_telegram_notifier
Исходный код размещён в свободном доступе:
https://github.com/regos-software/py-integrations/tree/main/clients/telegram_bot_notification
Далее рассмотрим простой пример реализации без усложнений.
1. Создаём локальную интеграцию и помечаем, что нужен вебхук DocChequeClosed (список всех доступных вебхуков с описанием тут: https://docs.regos.uz/ru/integration/webhooks#kassa-i-cheki).
2. Обработчиком указываем путь к серверу нашего стороннего приложения:
https://myapp.com/regos_webhook_handler/
3. После создания в параметрах локальной интеграции будет значение EndPoint:
https://integration.regos.uz/gateway/out/8aacd123xvaK23KLNAS23azb75/
Последняя часть как раз-таки и является connected_integration_id.
4. Далее совершаем продажу через REGOS: POS. После продажи API отправит запрос на https://myapp.com/regos_webhook_handler/ (схема 1) со следующим содержанием в теле:
{
"action": "HandleWebhook",
"connected_integration_id": "8aacd123xvaK23KLNAS23azb75",
"data": {
"action": "DocChequeClosed",
"data": {
"uuid": "f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
}
}
}

Наше стороннее приложение в этот момент должно получить подробные данные по чеку, вызвав:
https://integration.regos.uz/gateway/out/8aacd123xvaK23KLNAS23azb75/v1/DocCheque/Get
(https://docs.regos.uz/ru/api/retail/doccheque/get) (схема 2)
Получаем сумму, время, номер чека и т.д.
5. Далее вызываем api.telegram.org с помощью токена телеграм-бота, полученного от BotFather, чтобы отправить сообщение в наш telegram_chat_id.
И готово!