Usm billing UK
|
Эта функция является одной из возможностью |
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.