Модуль синхронизации данных с UserSide через протокол UserSide usm_billing
.
Отдает информацию по абонентам и инфраструктуре;
Синхронизация абонентов с UserSide в ABillS.
Установка модуля
Скопировать модуль
cp Api.pm /usr/abills/Abills/modules/Userside/
включение
$conf{US_API}=1;
Также желательно завести отдельного администратора для синхронизации и прописать ему API _KEY
Максимальное число отображаемых записей
$conf{US_API_MAX_PAGE_ROWS}=10000;
По умолчанию: 10000.
Не синхронизировать трафик
$conf{USERSIDE_SKIP_TRAFFIC}=1;
Синхронизация удаленных аккаунтов абонентов
$conf{US_API_SYNC_DELETED}=1;
Синхронизация абонентов из заданными тарифными планами. Задавать id тарифных планов (tp_id) через ";"
$conf{USERSIDE_EXPORT_TP}= '2;3';
Выгрузка адресов из абонентами на этих адресах
$conf{USERSIDE_ADDRESS_WITH_USERS} = 1;
Просмотр информации
http://demo.userside.eu/api.php?key=keyus&cat=module&request=get_city_list Userside Запрос: ?key=apikey&request=get_city_list Результат: http://demo.userside.eu/api.php?key=keyus&cat=module&request=get_city_list Abills Запрос: ?get_index=us_api&key=1523615231263123&cat=module&request=get_city_list (key это Api key администратора) Результат: https://demo.abills.net.ua:9443/admin/index.cgi?get_index=us_api&key=1523615231263123&cat=module&request=get_city_list
Список функций
change_state
- изменения состояния (статуса) задания;get_related_task_id
- список связанных заданий с текущим заданием (идентификаторы);get_catalog_type
- типы заданий;show
- информация о задании;get_list
- список заданий;watcher_add
- добавление наблюдателя;watcher_delete
- исключение наблюдателя;comment_add
- добавление комментария;add
- создание задания;
Импорт и синхронизация оборудования
Перед синхронизацией оборудования добавить линк и API ключ в config.pl
$conf{USER_SIDE_LINK} = 'http://demo.userside.eu'; $conf{USER_SIDE_APIKEY} = 'keyus'; $conf{USER_SIDE_CAT} = 'module';
Запуск импорта
/usr/abills/libexec/billd userside_nas_sync
Дополнительные параметры:
DEBUG | Выводит информацию о добавленном или обновлённом оборудовании. Пример DEBUG=1 |
IP | Синхронизирует только указанное оборудование по IP. Пример IP=10.200.20.15 |
Документация USERSIDE API:
список устройств https://wiki.userside.eu/API_-_usm_billing_-_get_device_listсписок моделей https://wiki.userside.eu/API_-_usm_billing_-_get_device_model
Тесты
cd Userside/t
perl Userside.t -help
perl Userside.t perl Userside.t -local
perl Userside.t -remote='https://demo.abills.net.ua:9443'
perl Userside.t -debug
perl Userside.t -userside
perl Userside.t -request=get_user_list
perl Userside.t -request=get_user_list -debug=2 -uid=1489
Ошибки
Если не корректно происходит синхронизация попробуйте скинуть кеш Userside
/oper/?core_section=settings_main&action=diag_flush_redis_cache