Выберите язык

(55) 501-00-30 Центр поддержки

Каталог интеграций и с чем его едят? Пособие для желающих расширить возможности REGOS

Каталог интеграций и с чем его едят? Пособие для желающих расширить возможности REGOS

Маленький магазин или большая сеть – каждый хочет в какой-то мере подстроить систему которая строилась для всех – под себя. Вы выбрали один из лучших готовых решений для автоматизации учёта продаж, склада и клиентской базы на рынке Узбекистана – REGOS. Поздравляем!

Очень долгое время команда разработчиков REGOS работает над платформой, которая даёт возможность расширять ПО своими силами или силами сторонних разработчиков – Каталог интеграций и Локальные интеграции. Опыт показал, что эти понятия хоть и всемирно принятые стандарты и в принципе не что-то абсолютно новое в сфере IT, но несмотря на это многие часто спрашивают:

“Как сделать интеграцию с REGOS?”

Это касается как частных лиц, наших пользователей так и представителей других IT продуктов. В связи с этим мы решили раз и навсегда разъяснить – как всё же сделать интеграцию?

В этой статье:

  1. Партнерство
  2. Основные понятия
  3. Практический пример

Партнерство

Мы в команде 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.

И готово!


Подписывайтесь на нас в социальных сетях

Выберите язык