Skip to content

lem62/userside_bgb_via_custom_api

Repository files navigation

Интеграция Userside и BGBilling

Разрабатываемый интерфейс интеграции двух систем. Призван ускорить / упростить работу операторов компании.

Вся красота - Оператор подключает нового абонента с выделение договора в биллиге и регистрацией оборудования в сети, подготавливая карточку абонента для последующей синхронизации баз пользователей, уже штатными средствами Userside. Планируется расширять функционал.

Описание

Определена потребность в уменьшении интерфейсов приложений, дабы упростить работу и обучение сотрудников. В качестве основного интерфейса самый подходящий вариант Userside. Его и принято расширять до неприличия. Зацепом выбран Custom API (в Userside), позволяет изменять логику определенных событий (действий) в Userside, ДО или ПОСЛЕ события. Сюда и подключаю фасад, которые включает в себя объекты — реализация API Userside и самописный интерфейс BGBilling (очень продуманый, и в целом шикарный).

Код на данном этапе жестковат. Достаточно много отладки. Какие-то бизнес-правила встречаются в неожиданных местах. В целом задача не до конца осязаема:

  • Не достаточно документации;
  • Не достаточное знание / понимание Userside;
  • Выроботка требований боем (при умереной текучке кадров, подобрать более эффективную стратегию)

Интерфейс BGBilling (Java) не публикуется на данном этапе, важно лишь то что он возвращает запротоколированый ответ в формете XML.

Начало

Зависимости

  • PHP 8.1+ (curl, simplexml)
  • ERP "USERSIDE" 3.18.15+

Установка

  • Скачиваем и распаковываем репозиторий, где удобно;
  • Правим Lem62/.env фаил;
  • Указываем путь до репозитория в custom_api.php. Помимо этого приводим в соответствия id статусов вашей системы и в фасаде id складов и пр. (состояния в привате);
  • custom_api.php копируем в HOME_USERSIDE/userside3/main/config;
  • Обновляем страницу в веб-интерфейсе Userside. Если все успешно, в директории предыдущего шага создатся фаил - cached_custom_api.php.

Использование

  • Создаем потенциального абонента. Обязательным является заполнение ФИО, и выбор группы;
  • Создание задачи. Ключевым при создании задачи является выбор тарифа;
  • Получение номера договора (в задаче). Выбираем статус Получить № договора из БГБ;
  • Подключение ТМЦ (в задаче). Выбираем статус ТМЦ;
  • Регистрация ONU (в задаче). Выбираем статус Регистрация ONU. Запустится процесс регистрации ONU в бгб и на Олт, процесс занимает около 20 секунд;
  • Завершение задачи. Выбираем статус Выполнено. Запустится процесс переноса ТМЦ из задачи на договор абонента, а также абонент перейдет из потенциальных в регулярных абонентов.

В ходе переключения статусов могут возникать сбои, описание которых отображается в сплывающих сообщениях. Используйте их для разрешения сбоев.

Помощь

Включите отладку в фасаде (debug = true), лог наполнится достаточной информацией для решения вопроса (в большенстве сбоев поможет).

Авторство (творчество)

Lem Sartov

История версий

CHANGELOG.md

Лицензия

Ссылки

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published