Skip to content

Latest commit

 

History

History
64 lines (38 loc) · 5.15 KB

README.md

File metadata and controls

64 lines (38 loc) · 5.15 KB

Интеграция 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

Лицензия

Ссылки