Usm abills: различия между версиями

Материал из WiKi - UserSide
(Новая страница: «{{activ}} '''usm_billing''' - модуль для организации импорта данных из биллинговых систем в ERP "UserSide"…»)
 
 
(не показаны 23 промежуточные версии 3 участников)
Строка 1: Строка 1:
[[Usm_abills_EN|en]] | [[Usm_abills|ru]]
{{activ}}
{{activ}}


'''usm_billing''' - модуль для организации импорта данных из биллинговых систем в ERP "UserSide" с использованием т.н. "[[Универсальное API|универсального API]]"
'''usm_abills''' - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide"


'''Данный модуль является заменой устаревшему модулю [[us_abills]]'''
'''Данный модуль является заменой устаревшему модулю [[us_abills]]''' - См.: [[Переход с us abills на usm abills]]


'''Язык модуля:''' PHP
'''Язык модуля:''' PHP
Строка 9: Строка 11:
'''Текущая версия:''' см. на странице: [[Модули]]
'''Текущая версия:''' см. на странице: [[Модули]]


'''Поддерживаемые стандартные биллинги:''' [[uBilling]] v.0.7.2+, [[MikBill]] v.2.8.16+, [[Carbon Billing|Carbon Billing]] v.5.15.06+
'''Статус модуля:''' [http://userside.eu/price.php Платный]


'''Статус модуля:''' [http://userside.eu/price.php Бесплатный]
Дополнительную информацию и перечень импортируемых данных см. на странице: [[ABillS]]


== Перечень импортируемых данных * ==
== Информация по установке модуля ==
 
''* - может меняться в зависимости от того - какие именно данные отдаёт биллинг''
 
'''Тарифные планы'''
* название
* размер абонентской платы
* ежедневная или ежемесячная абонентская плата
* входящая скорость
* исходящая скорость
* объем включённого трафика
 
'''Абоненты'''
* учетная запись
* ФИО
* номер договора и дата
* номер лицевого счета
* текущий тарифный план
* следующий тарифный план
* дата последней активности в интернете
* объем трафика потребленный абонентом за текущий месяц
* адрес абонента ''(населенный пункт, улица, номер дома, корпус дома, квартира)''
* IP/MAC-адреса
* статус работы в биллинге
* заметки по абоненту
* баланс
* кредит
* скидка по абоненту
* 2 номера телефона
* физическое/юридическое лицо
* дата подключения к сети
* адрес электронной почты
* дополнительные поля/данные по абоненту ''(настраиваемо)''


== Информация по установке модуля ==
'''Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli'''


Архив usm_billing.zip содержит файлы
Архив usm_abills.zip содержит файлы


  usm_billing.php
  usm_abills.php
  usm_billing.conf.php-example
  usm_abills.conf.php-example


1. Выделить отдельный ''(произвольный)'' каталог для модуля и поместить в него эти файлы
1. На любом сервере ''(без разницы - сервер биллинга, userside или третья машина)'' выделить отдельный ''(произвольный)'' каталог для модуля и поместить в него эти файлы


2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.
2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.


3. Пример файла конфигурации usm_billing.conf.php-example следует переименовать в usm_billing.conf.php и внести в нём требуемые изменения ''(перечень параметров указан ниже)''
3. Пример файла конфигурации usm_abills.conf.php-example следует переименовать в usm_abills.conf.php и внести в нём требуемые изменения ''(перечень параметров указан ниже)''


4. Запустите несколько раз (*) вручную модуль командой
4. Запустите несколько раз (*) вручную модуль командой


  php usm_billing.php
  php usm_abills.php


Он должен отработать без ошибок и вернуть данные:
Он должен отработать без ошибок и вернуть данные:


  usm_billing
  usm_abills
  ====================================
  ====================================
   Start module at 2015-11-22 17:32:03
   Start module at 2015-11-22 17:32:03
Строка 78: Строка 48:
6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу ''(укажите нужные пути)''
6. Когда станет понятно, что модуль работает стабильно - добавляем его в системный cron на периодическую работу ''(укажите нужные пути)''
   
   
  */10 * * * * php usm_billing.php
  */10 * * * * php usm_abills.php


== Параметры конфигурации ==
== Параметры конфигурации ==


$billingName        - Тип биллинга [standart|carbon5]
Настройка модуля осуществляется в файле '''usm_abills.conf.php'''
 
Также можно использовать стандартные параметры из модуля [[usm_billing#Параметры конфигурации|usm_billing]]
 
  $usersideUrl        - URL к ERP "UserSide"
  $usersideUrl        - URL к ERP "UserSide"
  $usersideApiKey      - API-ключ ERP "UserSide" ''(Указывается в файле "userside/main/config/config.php")''
  $usersideApiKey      - [[UserSide API Key|API-ключ ERP "UserSide"]]
$billingUrl          - URL к API биллинга
  $billingId          - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")''
  $billingId          - Номер биллинга в ERP "UserSide" ''("Настройка - Биллинги")''
  $logPath            - Путь для записи логов
  $logPath            - Путь для записи логов
  $isSilence          - Флаг "Режим тишины" ''(скрыть вывод информационных сообщений от модуля в консоль)''
  $isSilence          - Флаг "Режим тишины" ''(скрыть вывод информационных сообщений от модуля в консоль)''
  $additionalDataMerge - Настройка импорта дополнительных данных/полей
  $billingDBHost      - адрес сервера биллинга
$billingDBPort      - порт mysql-подключения к базе биллинга
$billingDBUser      - имя пользователя для доступа к базе биллинга
$billingDBPassword  - пароль для доступа к базе биллинга
$billingDBName      - имя базы данных биллинга
$confAdrDistrictMode                    - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city)
$confAddressListCityIds                - список ID населенных пунктов (address_types.id) ''(может разделяться запятой)''
$confDateConnectSrc                    - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start)
$confUserImportExpr                    - факультативное условие для импорта абонентов
$confAddFieldPhone                      - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone)
$confAddFieldCellPhone                  - users_pi. - название поля в таблице users_pi с номером мобильного телефона
$confAddFieldEntrance                  - users_pi. - название поля в таблице users_pi с номером подъезда
$confAddFieldFloor                      - users_pi. - название поля в таблице users_pi с номером этажа
$confIsSavePasswordToComment            - флаг - сохранять пароль абонента в заметки
$confIsCidIp                            - флаг - поле dv/internet_log.CID содержит IP-адрес абонента
$confIsIpAdrOnlyFromDhcpHosts          - флаг - импортировать IP-адрес только из dhcphosts_hosts
$confIsIpAdrSkipFromDhcpHosts          - флаг - не импортировать IP-адреса из dhcphosts_hosts
$confUserStateSrc                      - источник для состояния абонента в биллинге (если пусто - то dm.disable (либо u.disable))
$confWorkState2                        - состояние "Не активизирован" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 0)
$confWorkState5                        - состояние "Слишком маленький депозит" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 1)
$confIsHideDvLogData                    - флаг - не импортировать данные из таблицы dv/internet_log
$confIsHideIpAdrFromDvCalls            - флаг - не импортировать IP-адрес из таблицы dv/internet_calls
$confIsHideCidFromDvMain                - флаг - не импортировать CID из таблицы "dv/internet_main"
$confUserAccountSrc                    - источник лицевого счета абонента [uid|bill_id] (по-умолчанию: uid)
$confIsImportTags                      - флаг - импортировать абонентские метки (tags)
$confAddressSrc                        - источник информации об адресе абонента [builds|users_pi] (по-умолчанию: builds)
$confIsImportMsg                        - флаг - импортировать ли сообщения абонентов
$confPasswordSecretKey                  - "Secret Key" для расшифровки паролей абонентов (/usr/abills/libexec/config.pl - $conf{secretkey})
$confIsImportPasswordToUsPassword      - флаг - импортировать ли пароль абонента в абонентский пароль UserSide
$confIsImportOnlyUsedAddress            - флаг - импортировать только используемые адреса
$confIsPrimaryDvModule                  - флаг - использовать только информацию модуля DV
$confImportCustomerTaxNumber            - импортировать налоговый номер абонента в доп.поля абонента ''(указать ID доп.поля)''
$confTaxNumberField                    - имя поля с налоговым номером из таблицы "users"
$confImportCustomerPassport            - импортировать паспорт абонента в доп.поля абонента ''(указать ID доп.поля)''
$confPassportField                      - имя поля с паспортом из таблицы "users"
$confImportCustomerNasIp                - импортировать NAS IP-адрес абонента в доп.поля абонента ''(указать ID доп.поля)''
$confImportCustomerNasPort              - импортировать NAS порт абонента в доп.поля абонента ''(указать ID доп.поля)''
$confImportCustomerNasName              - импортировать NAS имя абонента в доп.поля абонента ''(указать ID доп.поля)''
$confImportCustomerNasVlan              - импортировать NAS Vlan абонента в доп.поля абонента ''(указать ID доп.поля)''
$confImportCustomerGroup                - импортировать группу абонента в доп.поля абонента ''(указать ID доп.поля)''
$confContactTypeIdPhone                - Type Id таблицы user_contacts для импорта телефонного номера ''(по-умолчанию: 1)''
$confContactTypeIdCellPhone            - Type Id таблицы user_contacts для импорта номера мобильного телефона ''(по-умолчанию: 2)''
 
== Запуск в Docker-окружении ==
 
Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm.
 
Мы предоставляем docker-окружение для запуска модуля usm_abills (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно).
 
Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_abills-docker-env/releases

Текущая версия от 07:22, 1 апреля 2024

en | ru

Эта функция является одной из возможностью
обновления даты активности у объекта

usm_abills - модуль для организации импорта данных из биллинговой системы ABillS в ERP "UserSide"

Данный модуль является заменой устаревшему модулю us_abills - См.: Переход с us abills на usm abills

Язык модуля: PHP

Текущая версия: см. на странице: Модули

Статус модуля: Платный

Дополнительную информацию и перечень импортируемых данных см. на странице: ABillS

Информация по установке модуля

Убедитесь, что в системе где будет работать модуль присутствует библиотека php_mysqli

Архив usm_abills.zip содержит файлы

usm_abills.php
usm_abills.conf.php-example

1. На любом сервере (без разницы - сервер биллинга, userside или третья машина) выделить отдельный (произвольный) каталог для модуля и поместить в него эти файлы

2. Выделить отдельный каталог для логов работы модуля. Дайте права на запись в этот каталог.

3. Пример файла конфигурации usm_abills.conf.php-example следует переименовать в usm_abills.conf.php и внести в нём требуемые изменения (перечень параметров указан ниже)

4. Запустите несколько раз (*) вручную модуль командой

php usm_abills.php

Он должен отработать без ошибок и вернуть данные:

usm_abills
====================================
 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_abills.php

Параметры конфигурации

Настройка модуля осуществляется в файле usm_abills.conf.php

Также можно использовать стандартные параметры из модуля usm_billing

$usersideUrl         - URL к ERP "UserSide"
$usersideApiKey      - API-ключ ERP "UserSide"
$billingId           - Номер биллинга в ERP "UserSide" ("Настройка - Биллинги")
$logPath             - Путь для записи логов
$isSilence           - Флаг "Режим тишины" (скрыть вывод информационных сообщений от модуля в консоль)

$billingDBHost       - адрес сервера биллинга
$billingDBPort       - порт mysql-подключения к базе биллинга
$billingDBUser       - имя пользователя для доступа к базе биллинга
$billingDBPassword   - пароль для доступа к базе биллинга
$billingDBName       - имя базы данных биллинга

$confAdrDistrictMode                    - (1 - добавлять к названию улицы название района (только при $zadress = 1), 2 - то переносить название района в название города, 3 - использовать название города из districts.city)
$confAddressListCityIds                 - список ID населенных пунктов (address_types.id) (может разделяться запятой)
$confDateConnectSrc                     - откуда брать дату подключения абонента к сети (1 - users.registration, 2 - dv/internet_log.start)
$confUserImportExpr                     - факультативное условие для импорта абонентов
$confAddFieldPhone                      - users_pi. - название поля в таблице users_pi с номером телефона (по-умолчанию: phone)
$confAddFieldCellPhone                  - users_pi. - название поля в таблице users_pi с номером мобильного телефона
$confAddFieldEntrance                   - users_pi. - название поля в таблице users_pi с номером подъезда
$confAddFieldFloor                      - users_pi. - название поля в таблице users_pi с номером этажа
$confIsSavePasswordToComment            - флаг - сохранять пароль абонента в заметки
$confIsCidIp                            - флаг - поле dv/internet_log.CID содержит IP-адрес абонента
$confIsIpAdrOnlyFromDhcpHosts           - флаг - импортировать IP-адрес только из dhcphosts_hosts
$confIsIpAdrSkipFromDhcpHosts           - флаг - не импортировать IP-адреса из dhcphosts_hosts
$confUserStateSrc                       - источник для состояния абонента в биллинге (если пусто - то dm.disable (либо u.disable))
$confWorkState2                         - состояние "Не активизирован" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 0)
$confWorkState5                         - состояние "Слишком маленький депозит" преобразовывать в [0|1|2] (0 - Стоп, 1 - Пауза, 2 - Активен) (по-умолчанию: 1)
$confIsHideDvLogData                    - флаг - не импортировать данные из таблицы dv/internet_log
$confIsHideIpAdrFromDvCalls             - флаг - не импортировать IP-адрес из таблицы dv/internet_calls
$confIsHideCidFromDvMain                - флаг - не импортировать CID из таблицы "dv/internet_main"
$confUserAccountSrc                     - источник лицевого счета абонента [uid|bill_id] (по-умолчанию: uid)
$confIsImportTags                       - флаг - импортировать абонентские метки (tags)
$confAddressSrc                         - источник информации об адресе абонента [builds|users_pi] (по-умолчанию: builds)
$confIsImportMsg                        - флаг - импортировать ли сообщения абонентов
$confPasswordSecretKey                  - "Secret Key" для расшифровки паролей абонентов (/usr/abills/libexec/config.pl - $conf{secretkey})
$confIsImportPasswordToUsPassword       - флаг - импортировать ли пароль абонента в абонентский пароль UserSide
$confIsImportOnlyUsedAddress            - флаг - импортировать только используемые адреса
$confIsPrimaryDvModule                  - флаг - использовать только информацию модуля DV

$confImportCustomerTaxNumber            - импортировать налоговый номер абонента в доп.поля абонента (указать ID доп.поля)
$confTaxNumberField                     - имя поля с налоговым номером из таблицы "users"
$confImportCustomerPassport             - импортировать паспорт абонента в доп.поля абонента (указать ID доп.поля)
$confPassportField                      - имя поля с паспортом из таблицы "users"
$confImportCustomerNasIp                - импортировать NAS IP-адрес абонента в доп.поля абонента (указать ID доп.поля)
$confImportCustomerNasPort              - импортировать NAS порт абонента в доп.поля абонента (указать ID доп.поля)
$confImportCustomerNasName              - импортировать NAS имя абонента в доп.поля абонента (указать ID доп.поля)
$confImportCustomerNasVlan              - импортировать NAS Vlan абонента в доп.поля абонента (указать ID доп.поля)
$confImportCustomerGroup                - импортировать группу абонента в доп.поля абонента (указать ID доп.поля)
$confContactTypeIdPhone                 - Type Id таблицы user_contacts для импорта телефонного номера (по-умолчанию: 1)
$confContactTypeIdCellPhone             - Type Id таблицы user_contacts для импорта номера мобильного телефона (по-умолчанию: 2)

Запуск в Docker-окружении

Если Вы используете USERSIDE в Docker-окружении, то вам наверняка будет интересно запускать в отдельных Docker-контейнерах и внешние модули usm.

Мы предоставляем docker-окружение для запуска модуля usm_abills (окружение не содержит файлов модуля - их необходимо загрузить из личного кабинета самостоятельно).

Загрузить docker-окружение можно по ссылке: https://github.com/userside/usm_abills-docker-env/releases