Usm utm5: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 8 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Usm_utm5_EN|en]] | [[Usm_utm5|ru]] | |||
{{activ}} | {{activ}} | ||
Строка 55: | Строка 57: | ||
$usersideUrl - URL к ERP "UserSide" | $usersideUrl - URL к ERP "UserSide" | ||
$usersideApiKey - API-ключ ERP "UserSide" | $usersideApiKey - [[UserSide API Key|API-ключ ERP "UserSide"]] | ||
$billingId - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")'' | $billingId - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")'' | ||
$logPath - Путь для записи логов | $logPath - Путь для записи логов | ||
Строка 67: | Строка 69: | ||
$billingDbProvider - тип СУБД [mysql|postgresql] ''(по-умолчанию: mysql)'' | $billingDbProvider - тип СУБД [mysql|postgresql] ''(по-умолчанию: mysql)'' | ||
$confServiceData | $confServiceData - использовать сервисные связки вместо тарифных (0 - сервисные связки, 1 - тарифные связки, 2 - и то и другое) | ||
$confIsHideShablonsFromTariffList | $confIsHideShablonsFromTariffList - флаг - не включать шаблоны в импорт тарифов | ||
$confServiceDataServiceTypeRestrict - импортировать тарифы (и абонентов) с таким services_data.service_type | $confServiceDataServiceTypeRestrict - импортировать тарифы (и абонентов) с таким services_data.service_type | ||
$confRentId | $confRentId - ID поля с абонентской платой для тарифа (services_data.service_type в биллинге) | ||
$confDontImportTariffWithComment | $confDontImportTariffWithComment - НЕ импортировать тарифы с таким комментарием | ||
$confMultiplicationTariffFees | $confMultiplicationTariffFees - коэффициент умножения для абонентской платы в тарифах (1.20 - 20% НДС и т.п.) | ||
$confIsUseDateConnect | $confIsUseDateConnect - использовать поле users.connect_date для получения даты подключения к сети (0 - users.create_date, 1 - users.connect_date) | ||
$confIsCustomerConnectFix | $confIsCustomerConnectFix - флаг - дописывать в доп.данные информацию о привязке абонентов к коммутаторам | ||
$confIsImportBankInformation | $confIsImportBankInformation - флаг - импортировать банковские реквизиты абонента в поле "Доп. данные" | ||
$confDontImportCustomerFromGroupId | $confDontImportCustomerFromGroupId - флаг - не импортировать абонентов из этой группы (groups.id) | ||
$confImportCustomerOnlyFromGroupId | $confImportCustomerOnlyFromGroupId - импортировать абонентов ТОЛЬКО из этой группы (groups.id) | ||
$confImportCustomerExpr | $confImportCustomerExpr - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется до WHERE) | ||
$confImportCustomerExpr2 | $confImportCustomerExpr2 - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется после WHERE) | ||
$confTrafficRxClass | $confTrafficRxClass - класс входящего трафика | ||
$confTrafficTxClass | $confTrafficTxClass - класс исходящего трафика (можно через запятую несколько) | ||
$confUseIpMethod | $confUseIpMethod - вариант работы (рекомендуется не менять) | ||
$confIsUseDhcpData | $confIsUseDhcpData - подгрузка DHCP-данных из таблицы dhs_sessions_log (0 - не подгружать, 2 - dhs_sessons_log) | ||
$confDhcpServiceLinkId | $confDhcpServiceLinkId - ID сервисной связки из "dhs_sessions_log.Acct_Status_Type" (по-умолчанию: 3) | ||
$confIsHostByteOrder | $confIsHostByteOrder - флаг - host byte order в dhs_sessions_log.Framed_IP_Address (Актуально для версий UTM5 >=5.3 update 3. Не включайте если не понимаете о чем речь) | ||
$confIsActiveAllDhcp | $confIsActiveAllDhcp - флаг - для активности записей dhs_sessions_log использовать текущую дату | ||
$confIsDhcpLeasesLogUse | $confDhsSessionLogCondition - условие для выборки записей из таблицы dhs_sessions_log | ||
$confIsBlockType1IsPause | $confIsDhcpLeasesLogUse - подгрузка DHCP-данных из таблицы dhcp_leases_log (0 - не подгружать, 1 - подгружать) | ||
$confIsBlockType2IsStop | $confIsBlockType1IsPause - флаг - блокировку block_info.block_type #1 считать ПАУЗОЙ | ||
$confIsUseIdToAgreement | $confIsBlockType2IsStop - флаг - блокировку block_info.block_type #2 считать СТОП | ||
$confIsSavePasswordToComment | $confIsUseIdToAgreement - в качестве номера договора подставлять ID абонента | ||
$confIsImportPaidHistory | $confIsSavePasswordToComment - флаг - сохранять пароль абонента из биллинга в поле "доп.данные" | ||
$confVersionFramedIp | $confIsImportPaidHistory - флаг - импортировать данные о платежах абонентов (payment_transactions) | ||
$confIsImportHistoryTariff | $confVersionFramedIp - тип импорта dhs_sessions_log.Framed_IP_Address [0|1] | ||
$confCustomerAccountSrc | $confIsImportHistoryTariff - флаг - импортировать историю смены тарифов абонентом | ||
$confImportCustomerUnlimited | $confCustomerAccountSrc - источник номера лицевого счёта абонента [accounts.external_id|accounts.id|users.basic_account] | ||
$confImportCustomerPassport | $confImportCustomerUnlimited - импортировать поле "accounts.unlimited" в доп.данные UserSide ''(нужно указать id доп.поля)'' | ||
$confIsDontUpdateDateConnect | $confImportCustomerPassport - импортировать паспортные данные в доп.данные UserSide ''(нужно указать id доп.поля)'' | ||
$confIsImportAdditionalServices | $confIsDontUpdateDateConnect - флаг - не импортировать дату подключения абонента | ||
$confIsImportSwitchCommutation | $confIsImportAdditionalServices - флаг - импортировать дополнительные сервисы | ||
$confIsImportSwitchTableCommutation - флаг - импортировать коммутацию абонента к оборудованию (таблица switches биллинга) | $confIsImportSwitchCommutation - флаг - импортировать коммутацию абонента к оборудованию (таблица routers_info биллинга) | ||
$confImportPaidLimit | $confIsImportSwitchTableCommutation - флаг - импортировать коммутацию абонента к оборудованию (таблица switches биллинга) | ||
$confIsImportLessPhone | $confImportPaidLimit - ограничение на количество импорта за один раз платежей абонентов (по-умолчанию: 5000) | ||
$confIsSaveVpnPasswordToComment | $confIsImportLessPhone - флаг - импортировать ли пустые телефонные номера абонентов (это даёт возможность стирать в UserSide номера, которых уже нет в биллинге) | ||
$confAddressSrc | $confIsSaveVpnPasswordToComment - флаг - сохранять пароль от vpn в комментариях к абоненту | ||
$confExprIpImport | $confAddressSrc - источник адреса абонента (0 - users.house_id, 1 - users.actual_address) | ||
$lastPaidIdPlus | $confExprIpImport - условие для импорта IP-адресов | ||
$confIsSkipCustomerBuilding | $lastPaidIdPlus - начальный счётчик для импорта платежей | ||
$confImportPaidDisableMethod | $confIsSkipCustomerBuilding - флаг - не импортировать номер здания для абонентов | ||
$confIsSkipDhsSessionsLogTraffic | $confImportPaidDisableMethod - список игнорируемых методов платежей в импорте | ||
$confIsSkipDhsSessionsLogTraffic - флаг - игнорировать данные по трафику из таблицы dhs_sessions_log | |||
$confIsImportServiceWithAddressAsAliasCustomer - флаг - импортировать сервис с адресом как дочернюю запись абонента | |||
$confIsIgnoreHouseBlock - флаг - игнорировать блок дома | |||
$confAdditionalFieldWithAgreementNumber - доп.поле биллинга с номером договора | |||
$confAdditionalFieldWithAgreementDate - доп.поле биллинга с датой договора | |||
$confImportCustomerAllowedCid - импортировать "User Allowed Cid" в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confImportCustomerPassword - импортировать пароль абонента в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confAccountPattern - шаблон при импорте номера лицевого счёта абонента ''(напр.: 02000000)'' | |||
$confImportGateway - импортировать шлюз абонента в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confImportMask - импортировать маску абонента в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confIsRegionAddressSystem - флаг - импортировать области/регионы из адресной системы биллинга ''(только при $confAddressSrc = 0)'' | |||
$confIsImportServiceLinksAsChild - флаг - импортировать сервисные связки как дочерние записи абонентов''(только для UTM+)'' | |||
$confIsImportWorkPhoneToPhone - флаг - импортировать рабочий телефон как "обычный" телефон | |||
$confImportCustomerUnlimited - импортировать факт безлимита в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confImportCustomerVlanId - импортировать VlanID в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confImportCustomerTaxNumber - импортировать налоговый номер в доп.данные UserSide ''(нужно указать id доп.поля)'' | |||
$confAddressRemoveStr1 - строка №1 для замены в текстовом адресе | $confAddressRemoveStr1 - строка №1 для замены в текстовом адресе |
Текущая версия от 18:26, 25 апреля 2024
Эта функция является одной из возможностью |
usm_utm5 - модуль для организации импорта данных из биллинговой системы UTM5 в ERP "UserSide"
Данный модуль является заменой устаревшему модулю us_utm5 - См.: Переход с us utm5 на usm utm5
Язык модуля: PHP
Текущая версия: см. на странице: Модули
Статус модуля: Платный
Дополнительную информацию и перечень импортируемых данных см. на странице: UTM5
Информация по установке модуля
Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli
Архив usm_utm5.zip содержит файлы
usm_utm5.php usm_utm5.conf.php-example
1. На любом сервере (без разницы - сервер биллинга, userside или третья машина) выделить отдельный (произвольный) каталог для модуля и поместить в него эти файлы
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.
3. Пример файла конфигурации usm_utm5.conf.php-example следует переименовать в usm_utm5.conf.php и внести в нём требуемые изменения (перечень параметров указан ниже)
4. Запустите несколько раз (*) вручную модуль командой
php usm_utm5.php
Он должен отработать без ошибок и вернуть данные:
usm_utm5 ==================================== Start module at 2015-11-22 17:32:03 Finish module at 2015-11-22 17:32:14 ====================================
* - При первом запуске - будут предварительно лишь созданы многие объекты. Чем больше объектов импортирует модуль - тем дольше это будет. При втором и последующих запусках сверяются изменённые данные и только они будут обновлены. Второй запуск также будет длиться долго, т.к. после первого запуска новосозданные объекты практические не содержат данных. А вот третий и последующие запуски будут работать гораздо быстрее.
5. Проверьте визуально полноту импортируемых данных в ERP "UserSide"
6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу (укажите нужные пути)
*/10 * * * * php usm_utm5.php
Параметры конфигурации
Настройка модуля осуществляется в файле usm_utm5.conf.php
Также можно использовать стандартные параметры из модуля usm_billing
$usersideUrl - URL к ERP "UserSide" $usersideApiKey - API-ключ ERP "UserSide" $billingId - Номер биллинга в ERP "UserSide" ("Настройка - Биллинги") $logPath - Путь для записи логов $isSilence - Флаг "Режим тишины" (скрыть вывод информационных сообщений от модуля в консоль) $billingDBHost - адрес сервера биллинга $billingDBUser - имя пользователя для доступа к базе биллинга $billingDBPassword - пароль для доступа к базе биллинга $billingDBName - имя базы данных биллинга $billingCodePage - кодировка базы данных биллинга $billingDbProvider - тип СУБД [mysql|postgresql] (по-умолчанию: mysql)
$confServiceData - использовать сервисные связки вместо тарифных (0 - сервисные связки, 1 - тарифные связки, 2 - и то и другое) $confIsHideShablonsFromTariffList - флаг - не включать шаблоны в импорт тарифов $confServiceDataServiceTypeRestrict - импортировать тарифы (и абонентов) с таким services_data.service_type $confRentId - ID поля с абонентской платой для тарифа (services_data.service_type в биллинге) $confDontImportTariffWithComment - НЕ импортировать тарифы с таким комментарием $confMultiplicationTariffFees - коэффициент умножения для абонентской платы в тарифах (1.20 - 20% НДС и т.п.) $confIsUseDateConnect - использовать поле users.connect_date для получения даты подключения к сети (0 - users.create_date, 1 - users.connect_date) $confIsCustomerConnectFix - флаг - дописывать в доп.данные информацию о привязке абонентов к коммутаторам $confIsImportBankInformation - флаг - импортировать банковские реквизиты абонента в поле "Доп. данные" $confDontImportCustomerFromGroupId - флаг - не импортировать абонентов из этой группы (groups.id) $confImportCustomerOnlyFromGroupId - импортировать абонентов ТОЛЬКО из этой группы (groups.id) $confImportCustomerExpr - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется до WHERE) $confImportCustomerExpr2 - условие для импорта абонентов. Даёт возможность импорта только части абонентов из биллинга (выполняется после WHERE) $confTrafficRxClass - класс входящего трафика $confTrafficTxClass - класс исходящего трафика (можно через запятую несколько) $confUseIpMethod - вариант работы (рекомендуется не менять) $confIsUseDhcpData - подгрузка DHCP-данных из таблицы dhs_sessions_log (0 - не подгружать, 2 - dhs_sessons_log) $confDhcpServiceLinkId - ID сервисной связки из "dhs_sessions_log.Acct_Status_Type" (по-умолчанию: 3) $confIsHostByteOrder - флаг - host byte order в dhs_sessions_log.Framed_IP_Address (Актуально для версий UTM5 >=5.3 update 3. Не включайте если не понимаете о чем речь) $confIsActiveAllDhcp - флаг - для активности записей dhs_sessions_log использовать текущую дату $confDhsSessionLogCondition - условие для выборки записей из таблицы dhs_sessions_log $confIsDhcpLeasesLogUse - подгрузка DHCP-данных из таблицы dhcp_leases_log (0 - не подгружать, 1 - подгружать) $confIsBlockType1IsPause - флаг - блокировку block_info.block_type #1 считать ПАУЗОЙ $confIsBlockType2IsStop - флаг - блокировку block_info.block_type #2 считать СТОП $confIsUseIdToAgreement - в качестве номера договора подставлять ID абонента $confIsSavePasswordToComment - флаг - сохранять пароль абонента из биллинга в поле "доп.данные" $confIsImportPaidHistory - флаг - импортировать данные о платежах абонентов (payment_transactions) $confVersionFramedIp - тип импорта dhs_sessions_log.Framed_IP_Address [0|1] $confIsImportHistoryTariff - флаг - импортировать историю смены тарифов абонентом $confCustomerAccountSrc - источник номера лицевого счёта абонента [accounts.external_id|accounts.id|users.basic_account] $confImportCustomerUnlimited - импортировать поле "accounts.unlimited" в доп.данные UserSide (нужно указать id доп.поля) $confImportCustomerPassport - импортировать паспортные данные в доп.данные UserSide (нужно указать id доп.поля) $confIsDontUpdateDateConnect - флаг - не импортировать дату подключения абонента $confIsImportAdditionalServices - флаг - импортировать дополнительные сервисы $confIsImportSwitchCommutation - флаг - импортировать коммутацию абонента к оборудованию (таблица routers_info биллинга) $confIsImportSwitchTableCommutation - флаг - импортировать коммутацию абонента к оборудованию (таблица switches биллинга) $confImportPaidLimit - ограничение на количество импорта за один раз платежей абонентов (по-умолчанию: 5000) $confIsImportLessPhone - флаг - импортировать ли пустые телефонные номера абонентов (это даёт возможность стирать в UserSide номера, которых уже нет в биллинге) $confIsSaveVpnPasswordToComment - флаг - сохранять пароль от vpn в комментариях к абоненту $confAddressSrc - источник адреса абонента (0 - users.house_id, 1 - users.actual_address) $confExprIpImport - условие для импорта IP-адресов $lastPaidIdPlus - начальный счётчик для импорта платежей $confIsSkipCustomerBuilding - флаг - не импортировать номер здания для абонентов $confImportPaidDisableMethod - список игнорируемых методов платежей в импорте $confIsSkipDhsSessionsLogTraffic - флаг - игнорировать данные по трафику из таблицы dhs_sessions_log $confIsImportServiceWithAddressAsAliasCustomer - флаг - импортировать сервис с адресом как дочернюю запись абонента $confIsIgnoreHouseBlock - флаг - игнорировать блок дома $confAdditionalFieldWithAgreementNumber - доп.поле биллинга с номером договора $confAdditionalFieldWithAgreementDate - доп.поле биллинга с датой договора $confImportCustomerAllowedCid - импортировать "User Allowed Cid" в доп.данные UserSide (нужно указать id доп.поля) $confImportCustomerPassword - импортировать пароль абонента в доп.данные UserSide (нужно указать id доп.поля) $confAccountPattern - шаблон при импорте номера лицевого счёта абонента (напр.: 02000000) $confImportGateway - импортировать шлюз абонента в доп.данные UserSide (нужно указать id доп.поля) $confImportMask - импортировать маску абонента в доп.данные UserSide (нужно указать id доп.поля) $confIsRegionAddressSystem - флаг - импортировать области/регионы из адресной системы биллинга (только при $confAddressSrc = 0) $confIsImportServiceLinksAsChild - флаг - импортировать сервисные связки как дочерние записи абонентов(только для UTM+) $confIsImportWorkPhoneToPhone - флаг - импортировать рабочий телефон как "обычный" телефон $confImportCustomerUnlimited - импортировать факт безлимита в доп.данные UserSide (нужно указать id доп.поля) $confImportCustomerVlanId - импортировать VlanID в доп.данные UserSide (нужно указать id доп.поля) $confImportCustomerTaxNumber - импортировать налоговый номер в доп.данные UserSide (нужно указать id доп.поля) $confAddressRemoveStr1 - строка №1 для замены в текстовом адресе $confAddressRemoveStr2 - строка №2 для замены в текстовом адресе $confAddressRemoveStr3 - строка №3 для замены в текстовом адресе // Если необходимо внутренний IP-адрес пользователю при импорте внешнего IP-адреса - заполняем следующие параметры $confIpGrayNet - какую подсеть IP-адресов считать внешней - напр: "172.16.0.0" или же "0" - не обрабатывать $confIpWhiteNet - какую подсеть IP-адресов добавлять - напр: "10.0.0.0" или же "0" - не добавлять // Можно настроить проставление доп.меток на абоненте в зависимости от значения доп.поля в биллинге $markMerge[6]['id'] = 1; - [utm5.uaddparams_desc.paramid]['id'] = userside.id $markMerge[6]['value'] = 'test_string'; - [utm5.uaddparams_desc.paramid]['value'] = Compare String // Можно настроить импорт доп.полей из биллинга в доп.поля абонента ERP "UserSide" (при необходимости) // Заполняется массив $additionalDataMerge (для userside 3.13 и ранее) или массив $additionalCustomerDataMerge (для userside 3.14 и позже). Можно добавлять свои поля. Если значение кода поля равно нулю - импорт не производится // Импорт производится в уже созданные доп.поля. Т.е. предварительно - это доп.поле должно быть создано в UserSide для карточки абонента $additionalCustomerDataMerge[1] = 1; - [utm5.uaddparams_desc.paramid] = userside.id $additionalCustomerDataMerge[2] = 2; - [utm5.uaddparams_desc.paramid] = userside.id