... {toc} h1. О UserSide [Сайт системы|https://www.userside.eu/ru/index.php] [Документация системы|https://wiki.userside.eu/ERP_"USERSIDE"] [Статья об интеграции с Carbon Billing 5|https://wiki.userside.eu/Carbon_Billing] h1. Что нужно для интеграции Для интеграции с *ERP UserSide* со стороны биллинга используется системное API. Из настроек необходимо только прописать IP-адрес(а) сервера с *ERP UserSide* в качестве разрешенного(ых) для подключения к системному API. {include:CarbonBilling:API} {info} Все вызовы до API биллинга имеют такой вид: {code} http://169.254.80.82:8082/system_api/?model=Abonents&context=userside&method1=userside_manager.<method> {code} Где "169.254.80.82" замените на ip-адрес Вашего сервера биллинга. {info} h1. Настройки и прочая информация по интеграции h2. Выбор формата улицы Если Вы обслуживаете абонентов из нескольких населенных пунктов, в которых совпадают названия улиц, в [настройках оператора связи|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=63242421#%D0%93%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%D0%B1%D0%B8%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3%D0%B0%D0%B8%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0-%D0%93%D0%BB%D0%BE%D0%B1%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B0] установите формат идентификатора улицы "Город, Населенный пункт, улица(с типами)" \\ \\ !userside_streetid2.png|border=0,width=400! h2. Кто из биллинга попадёт в UserSide * Все абоненты h2. Кто из биллинга НЕ попадёт в UserSide * Удалённые абоненты * Операторы связи h2. Дата активности абонента для отображения, когда они были онлайн Дата, когда абонент был Online, передаётся в UserSide в поле "date_activity". В биллиге это дата последнего обновления счетчиков traf_counters (когда приходил последний трафик): в карточке абонента [вкладка "Расход"|CarbonBilling:Счетчики услуг. Вкладка "Расход".], поле "*Время последнего сброса в Unixtime*" h2. Нет улицы, только название населённого пункта, потом сразу дом. Как их выгружать в Юзерсайд? В таких домах в [справочнике адресов|CarbonBilling:Добавление домов в справочник] вручную в поле "Улица" напишите "н/д" и сохраните, тогда в UserSide выгрузка будет правильная. h2. Настройки со стороны UserSide Дальнейшие настройки необходимо согласовывать со специалистами *UserSide* {info}При импорте данных в Userside из биллинга (любого), верхний уровень адресации импортируемых данных - город. Идёт проверка по текстовому названию города. Соответственно, если город в userside уже есть и он к какому-то району/области привязан - то так дальше и будет. Этот город и будет использован. Если же город с таким названием не найден, то он будет создан без области и района. Будет находиться в секции "Область не указана"{info} h1. Отладка Все запросы UserSide к биллингу можно посмотреть в лог-файле веб-сервера: {code}grep -i 'context=userside' /app/asr_billing/var/log/admin_web_server.log{code} Замерить скорость выполнения и проверить что именно возвращает биллинг можно командами time и curl. Например, отладим выполнение запроса получения списка пользователей: {code:title=Команда}cur_date=`date +%Y-%m-%d_%H%M`; time curl -ss -XGET 'http://169.254.80.82:8082/system_api/?model=Abonents&context=userside&method1=userside_manager.get_user_list&context=userside' |jq . > userside_$cur_date.json; ls -l userside_$cur_date.json; unset cur_date{code} {code:title=Вывод}real 0m29.005s user 0m0.002s sys 0m0.007s -rw-r--r-- 1 root root 4501068 Июн 1 14:00 userside_2020-06-01_1400.json {code} {info}Если получите ошибку jq, возможно программа не установлена. Установить можно так: {code}yum install -y jq{code}{info} В файле *userside_2020-06-01_1400.json* можно посмотреть что возвращает биллинг. h2. Отладка различных запросов h3. [get_user_list|https://wiki.userside.eu/API_-_usm_billing_-_get_user_list] Список абонентов {code} us_method='get_user_list'; cur_date=`date +%Y-%m-%d_%H%M`; time curl -ss -XGET 'http://169.254.80.82:8082/system_api/?model=Abonents&context=userside&method1=userside_manager.'$us_method'&context=userside' |jq . > userside_${us_method}_${cur_date}.json; ls -l userside_${us_method}_${cur_date}.json; unset cur_date {code} h3. [get_house_list|https://wiki.userside.eu/API_-_usm_billing_-_get_house_list] Список домов (зданий, строений) {code} us_method='get_house_list'; cur_date=`date +%Y-%m-%d_%H%M`; time curl -ss -XGET 'http://169.254.80.82:8082/system_api/?model=Abonents&context=userside&method1=userside_manager.'$us_method'&context=userside' |jq . > userside_${us_method}_${cur_date}.json; ls -l userside_${us_method}_${cur_date}.json; unset cur_date {code} h3. [get_street_list|https://wiki.userside.eu/API_-_usm_billing_-_get_street_list] Список улиц {code} us_method='get_street_list'; cur_date=`date +%Y-%m-%d_%H%M`; time curl -ss -XGET 'http://169.254.80.82:8082/system_api/?model=Abonents&context=userside&method1=userside_manager.'$us_method'&context=userside' |jq . > userside_${us_method}_${cur_date}.json; ls -l userside_${us_method}_${cur_date}.json; unset cur_date {code}
|
... {code} h2. Не отображается активность абонента (=когда он был online) Вероятно, нет данных по трафику. Он передаётся либо через Radius, либо в Netflow, в зависимости от настроек NAS. Если в UserSide дата активности не соответствует реальной, то отладьте передачу данных по трафику: * для передачи трафика по Netflow, воспользуйтесь статьёй [CarbonBilling:Настройка и проверка netflow-потоков] * для передачи трафика по RADIUS, воспользуйтесь документации по [отладке RADIUS-авторизации|https://docs.carbonsoft.ru/pages/viewpage.action?pageId=164691974#АвторизацияпоRADIUS-Отладкаавторизации], посмотрите почему в пакетах Accounting-Update нет данных по трафику, или неверная дата, или они вообще не приходят.
|