Usm billing UK

Материал из WiKi - UserSide

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.