Разрабатываемый интерфейс интеграции двух систем. Призван ускорить / упростить работу операторов компании.
Вся красота - Оператор подключает нового абонента с выделение договора в биллиге и регистрацией оборудования в сети, подготавливая карточку абонента для последующей синхронизации баз пользователей, уже штатными средствами 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), лог наполнится достаточной информацией для решения вопроса (в большенстве сбоев поможет).