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

Материал из WiKi - UserSide
([IronBot] Create UK localization from RU)
 
([IronBot] Sync UK localization from RU)
 
Строка 12: Строка 12:


'''Статус модуля:''' [http://userside.eu/price.php Безкоштовний]
'''Статус модуля:''' [http://userside.eu/price.php Безкоштовний]
== Перелік імпортованих даних * ==
''* - може змінюватися залежно від того, які саме дані віддає білінг''
'''Тарифні плани'''
* назва
* розмір абонентської плати
* щоденна або щомісячна абонентська плата
* вхідна швидкість
* вихідна швидкість
* обсяг включеного трафіку
'''Абоненти'''
* обліковий запис
* ПІБ
* номер договору та дата
* номер особового рахунку
* поточний тарифний план
* наступний тарифний план
* дата останньої активності в інтернеті
* обсяг трафіку, спожитого абонентом за поточний місяць
* адреса абонента ''(населений пункт, вулиця, номер будинку, корпус будинку, квартира)''
* IP/MAC-адреси
* статус роботи в білінгу
* нотатки щодо абонента
* баланс
* кредит
* знижка абонента
* 2 номери телефону
* фізична/юридична особа
* дата підключення до мережі
* адреса електронної пошти
* додаткові поля/дані щодо абонента ''(налаштовується)''


== Інформація щодо встановлення модуля ==
== Інформація щодо встановлення модуля ==
Строка 20: Строка 54:
  usm_billing.conf.php-example
  usm_billing.conf.php-example


Розмістіть файли в окремому каталозі, створіть каталог для логів, перейменуйте приклад конфігурації на usm_billing.conf.php і внесіть необхідні параметри. Для перевірки запустіть:
1. Виділіть окремий ''(довільний)'' каталог для модуля та розмістіть у ньому ці файли.
 
2. Виділіть окремий каталог для логів роботи модуля. Надайте права на запис у цей каталог.
 
3. Приклад конфігураційного файла usm_billing.conf.php-example потрібно перейменувати на usm_billing.conf.php і внести до нього потрібні зміни ''(перелік параметрів наведено нижче)''.
 
4. Кілька разів (*) запустіть модуль вручну командою:


  php usm_billing.php
  php usm_billing.php


Після стабільної роботи додайте модуль до cron.
Він має відпрацювати без помилок і повернути дані:
 
usm_billing
====================================
  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_billing.php


== Параметри конфігурації ==
== Параметри конфігурації ==
$billingName        - тип білінгу [standart|carbon5]
$usersideUrl        - URL до ERP "UserSide"
$usersideApiKey      - [[UserSide_API_Key_UK|API-ключ ERP "UserSide"]]
$billingUrl          - URL до API білінгу
$billingId          - номер білінгу в ERP "UserSide" ''("Налаштування - Білінги")''
$logPath            - шлях для запису логів
$isSilence          - прапорець "Режим тиші" ''(приховати виведення інформаційних повідомлень модуля в консоль)''
// Можна налаштувати імпорт додаткових полів із білінгу в додаткові поля абонента ERP "UserSide" ''(за потреби)''
// Заповнюється масив $additionalDataMerge ''(для userside 3.13 і раніше)'' або масив $additionalCustomerDataMerge ''(для userside 3.14 і пізніше)''. Можна додавати власні поля. Якщо значення коду поля дорівнює нулю, імпорт не виконується
// Імпорт виконується у вже створені додаткові поля. Тобто попередньо це додаткове поле має бути створене в UserSide для картки абонента
$additionalCustomerDataMerge - налаштування імпорту додаткових даних/полів


Ці параметри можна використовувати також у модулях взаємодії зі стандартними білінгами ''(usm_utm5, usm_abills тощо)'', оскільки вони побудовані на базі цього модуля.
Ці параметри можна використовувати також у модулях взаємодії зі стандартними білінгами ''(usm_utm5, usm_abills тощо)'', оскільки вони побудовані на базі цього модуля.
Строка 59: Строка 125:
== Використання модуля в Docker ==
== Використання модуля в Docker ==


Модуль можна запускати в окремому Docker-контейнері, якщо USERSIDE працює в Docker-оточенні.
Починаючи з версії 3.16.6, Docker-bundle містить сервіс, до складу якого входить usm_billing.
 
Сервіс налаштовується за допомогою змінних оточення безпосередньо в compose.yaml. Назви змінних оточення ідентичні назвам конфігураційних змінних, наведених у попередньому розділі.
 
Для розширенішої конфігурації можна підключити додатковий конфігураційний файл, який містить лише спеціальні змінні, значення яких неможливо встановити через змінні оточення. Для цього в compose.yaml для служби usm_billing додайте або розкоментуйте рядок у volumes:
- ${ERP_BASE_DIR}/config/usm_billing_config.php:/module/usm_billing_config.php
І змініть ''(створіть)'' файл config/usm_billing_config.php у підкаталозі бандла для зазначення спеціальних змінних. Першим рядком цього файла обов'язково має бути рядок <code><?php</code>.
 
Щоб увімкнути періодичний запуск модуля, потрібно розкоментувати відповідний рядок у /etc/cron.d/userside.
 
Також можна запускати модуль поза docker-бандлом. Для цього потрібно вказати URL вашого USERSIDE у змінній оточення <code>USERSIDE_API_URL</code>.

Текущая версия от 18:09, 16 сентября 2026

en | uk | ru

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

usm_billing - модуль для організації імпорту даних із білінгових систем в ERP "UserSide" з використанням універсального API.

Мова модуля: PHP

Поточна версія: див. на сторінці: Модулі

Підтримувані стандартні білінги: uBilling v.0.7.2+, MikBill v.2.8.16+, Carbon Billing v.5.15.06+, ABillS v.0.77.50+, Platex v.7+

Статус модуля: Безкоштовний

Перелік імпортованих даних *

* - може змінюватися залежно від того, які саме дані віддає білінг

Тарифні плани

  • назва
  • розмір абонентської плати
  • щоденна або щомісячна абонентська плата
  • вхідна швидкість
  • вихідна швидкість
  • обсяг включеного трафіку

Абоненти

  • обліковий запис
  • ПІБ
  • номер договору та дата
  • номер особового рахунку
  • поточний тарифний план
  • наступний тарифний план
  • дата останньої активності в інтернеті
  • обсяг трафіку, спожитого абонентом за поточний місяць
  • адреса абонента (населений пункт, вулиця, номер будинку, корпус будинку, квартира)
  • IP/MAC-адреси
  • статус роботи в білінгу
  • нотатки щодо абонента
  • баланс
  • кредит
  • знижка абонента
  • 2 номери телефону
  • фізична/юридична особа
  • дата підключення до мережі
  • адреса електронної пошти
  • додаткові поля/дані щодо абонента (налаштовується)

Інформація щодо встановлення модуля

Архів usm_billing.zip містить файли:

usm_billing.php
usm_billing.conf.php-example

1. Виділіть окремий (довільний) каталог для модуля та розмістіть у ньому ці файли.

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

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

4. Кілька разів (*) запустіть модуль вручну командою:

php usm_billing.php

Він має відпрацювати без помилок і повернути дані:

usm_billing
====================================
 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_billing.php

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

$billingName         - тип білінгу [standart|carbon5]
$usersideUrl         - URL до ERP "UserSide"
$usersideApiKey      - API-ключ ERP "UserSide"
$billingUrl          - URL до API білінгу
$billingId           - номер білінгу в ERP "UserSide" ("Налаштування - Білінги")
$logPath             - шлях для запису логів
$isSilence           - прапорець "Режим тиші" (приховати виведення інформаційних повідомлень модуля в консоль)
// Можна налаштувати імпорт додаткових полів із білінгу в додаткові поля абонента ERP "UserSide" (за потреби)
// Заповнюється масив $additionalDataMerge (для userside 3.13 і раніше) або масив $additionalCustomerDataMerge (для userside 3.14 і пізніше). Можна додавати власні поля. Якщо значення коду поля дорівнює нулю, імпорт не виконується
// Імпорт виконується у вже створені додаткові поля. Тобто попередньо це додаткове поле має бути створене в UserSide для картки абонента
$additionalCustomerDataMerge - налаштування імпорту додаткових даних/полів

Ці параметри можна використовувати також у модулях взаємодії зі стандартними білінгами (usm_utm5, usm_abills тощо), оскільки вони побудовані на базі цього модуля.

$usersideUrl                         - URL до ERP "UserSide"
$usersideApiKey                      - API-ключ ERP "UserSide"
$billingId                           - номер білінгу в ERP "UserSide"
$logPath                             - шлях для логів
$isSilence                           - режим тиші
$confIsSkipUpdateAgreementDate       - не оновлювати дату договору
$confIsDisableCreateAddress          - не створювати нові адресні об'єкти під час імпорту
$confIsSkipDeleteEmptyIp             - не видаляти в абонентів невикористовувані IP-адреси
$confIsForceDeleteEmptyIp            - примусово видаляти невикористовувані IP-адреси
$confSkipDeleteIp                    - масив діапазонів IP-адрес, які не потрібно видаляти
$confIsImportLessPhone               - імпортувати порожні значення телефонів
$confIsImportLessAddress             - імпортувати порожню адресу абонента
$confIsUpdateEmptyLevel              - імпортувати порожній поверх абонента
$confIsUpdateEmptyEntrance           - імпортувати порожній під'їзд абонента
$confIsImportPasswordToUsPassword    - імпортувати пароль абонента з білінгу в пароль особистого кабінету UserSide
$confIsSkipUpdateDateActivity        - не оновлювати дату активності абонентів у білінгу
$confIsSkipSyncCustomerIsCorporate   - не оновлювати ознаку "юридична особа"
$confIsSkipUnusedAddress             - не імпортувати невикористовувані адреси
$isWithoutLog                        - не створювати файли логів
$confAlwaysSetCustomerGroupId        - встановлювати ID групи для всіх імпортованих абонентів
$confIsUseStreetFullName             - використовувати повну назву імпортованої вулиці
$confIsImportMessage                 - імпортувати повідомлення абонентів із білінгу
$confIsRemoveEmptyGroups             - видаляти невикористовувані групи з ERP
$confIsRemoveEmptyMarkMerge          - знімати з абонентів позначки, яких немає в білінгу
$confIsDoNotUpdateAddPhone           - не імпортувати додаткові телефони з білінгу
$confIsSkipSlashInNewBuildingNumber  - пропускати слеш (/) в адресі під час створення нових будівель

Використання модуля в Docker

Починаючи з версії 3.16.6, Docker-bundle містить сервіс, до складу якого входить usm_billing.

Сервіс налаштовується за допомогою змінних оточення безпосередньо в compose.yaml. Назви змінних оточення ідентичні назвам конфігураційних змінних, наведених у попередньому розділі.

Для розширенішої конфігурації можна підключити додатковий конфігураційний файл, який містить лише спеціальні змінні, значення яких неможливо встановити через змінні оточення. Для цього в compose.yaml для служби usm_billing додайте або розкоментуйте рядок у volumes:

- ${ERP_BASE_DIR}/config/usm_billing_config.php:/module/usm_billing_config.php

І змініть (створіть) файл config/usm_billing_config.php у підкаталозі бандла для зазначення спеціальних змінних. Першим рядком цього файла обов'язково має бути рядок <?php.

Щоб увімкнути періодичний запуск модуля, потрібно розкоментувати відповідний рядок у /etc/cron.d/userside.

Також можна запускати модуль поза docker-бандлом. Для цього потрібно вказати URL вашого USERSIDE у змінній оточення USERSIDE_API_URL.