Usm utm5
Эта функция является одной из возможностью |
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" (Указывается в файле "userside3/main/config/config.php") $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 использовать текущую дату $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] $confImportUnlimited - импортировать поле "accounts.unlimited" в доп.данные UserSide (нужно указать id поля tbl_conf_basedopdata.CODE) $confImportPassport - импортировать паспортные данные в доп.данные UserSide (нужно указать id поля tbl_conf_basedopdata.CODE) $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 $confAddressRemoveStr1 - строка №1 для замены в текстовом адресе $confAddressRemoveStr2 - строка №2 для замены в текстовом адресе $confAddressRemoveStr3 - строка №3 для замены в текстовом адресе # Если необходимо внутренний IP-адрес пользователю при импорте внешнего IP-адреса - заполняем следующие параметры $confIpGrayNet - какую подсеть IP-адресов считать внешней - напр: "172.16.0.0" или же "0" - не обрабатывать $confIpWhiteNet - какую подсеть IP-адресов добавлять - напр: "10.0.0.0" или же "0" - не добавлять # Можно настроить импорт доп.полей из биллинга в доп.поля абонента ERP "UserSide" (при необходимости) # Заполняется массив $additionalDataMerge. Можно добавлять свои поля. Если значение кода поля равно нулю - импорт не производится # Импорт производится в уже созданные доп.поля. Т.е. предварительно - это доп.поле должно быть создано в UserSide для карточки абонента $additionalDataMerge[1] = 1; - [utm5.uaddparams_desc.paramid] = userside.id $additionalDataMerge[2] = 2; - [utm5.uaddparams_desc.paramid] = userside.id # Можно настроить проставление доп.меток на абоненте в зависимости от значения доп.поля в биллинге $markMerge[6]['id'] = 1; - [utm5.uaddparams_desc.paramid]['id'] = userside.id $markMerge[6]['value'] = 'test_string'; - [utm5.uaddparams_desc.paramid]['value'] = Compare String