====== Інтеграція з CRM Bitrix24 ======
Доступна починаючи з Ubilling 1.3.8 rev 8872. Експортує всіляке різне.
====== Експорт стану абонбази ======
Вмикається та керується наступними опціями конфігу [[alteriniconf|alter.ini]]:
; Вмикає чи вимикає інтеграцію з CRM Bitrix24
BTRX24_ENABLED=1
; Вказує, чи варто експортувати таймстемп LAT чи таки не треба?
BTRX24_EXPORT_LAT=0
; URL хук-скрипта на який будуть надсилатись оновлення стану користувачів.
; В нормі це має бути щось вигляду https://app.integrator.com.ua/script-test/some_billing/index.php
BTRX24_EXPORT_URL="http://127.0.0.1/dev/post_debug.php"
; Ім'я POST змінної, в якій буде надіслано JSON дані про оновлення стану користувачів.
BTRX24_EXPORT_VAR="usrsupdtd"
Дані надсилаються у вигляді JSON, що вміщує наступну структуру:
array (0 => array(
phone => Телефон робочий (string)
fio => ПІБ (string)
pay_id => Платіжний ID (int/string?)
login => Логін, (string)
password => пароль, (string)
tariff => Тариф, (string)
balance => Баланс1, (string)
tegs => Теги, (string, comma delimited)
speed_up => Швидкість віддачі, (int, kbit/s)
speed_down => Швидкість загрузки, (int, kbit/s)
abonplata => Абонплата, (float)
cash_first_pay => Дата першої активності (int, unix timestamp)
mobile2 => Телефон домашній (string)
cash_last_pay => Дата останньої оплати (int, unix timestamp)
full_adress => Адреса (string)
cash_all_pays => сума внесених абонплат (float)
deal_with_it1 => Запланована дата зміни тарифу (int, unix timestamp)
deal_with_it2 => На який тариф змінити (string)
owner => Господарюючий субєкт
credit => Кредит (float)
credit_day => Кредит ДО (int, unix timestamp)
ip => IP (string)
mac => MAC (string)
onu_signal => сигнал ОНУ (float)
),
1 => array(
...
);
Що повинно виглядати якось так:
{{:btrx24json2.png|}}
Дані будуть відіслані при зміні будь-якого з даних полів в POST змінній з іменем вказаним в опції BTRX24_EXPORT_VAR на посилання скрипта-обробника, вказаному в опції BTRX24_EXPORT_URL при виконанні відповідного виклику **btrxupd** з [[remoteapi|RemoteAPI]].
Наприклад, якось так, якщо ми очікуємо надсилання оновлень що 15 хвилин:
*/15 * * * * /bin/ubapi "btrxupd"
====== Експорт опитувань ======
Доступний починаючи з Ubilling 1.3.9 rev 8909. Вміє окремо надсилати наявні опитування користувачів та їх результати до CRM. Керується наступними двома опціями конфігу alter.ini (також вимагає ввімкненої опції BTRX24_ENABLED):
;URL скрипта для експорту даних опитувань та їх результатів
BTRX24_POLLS_URL="http://127.0.0.1/dev/post_debug.php"
;Ім`я POST змінної, в якій буде експортовано дані про опитування
BTRX24_POLLS_VAR="pollsupdtd"
Дані надсилаються методом POST у вигляді JSON, що вміщує наступну структуру:
Array
(
[poll_id(int)] => Array
(
[id] => existing poll ID (int)
[title] => existing poll title(string)
[enabled] => 1/0 enabled flag(int)
[votes] => Array
(
[0] => Array
(
[login] => userlogin1(string)
[vote] => vote option text(string)
[option_id] => vote option id(int)
[address] => userlogin1 address(string)
[date] => voting time Y-m-d H:i:s(string)
)
[1] => Array
(
[login] => userlogin1(string)
[vote] => vote option text(string)
[option_id] => vote option id(int)
[address] => userlogin1 address(string)
[date] => voting time Y-m-d H:i:s(string)
)
)
)
що на практиці, виглядає якось наступним чином:
{{:btrxpollsexport.png|}}
в секції **votes** знаходиться масив голосів користувачів в рамках конкретного опитування, за поточну добу.
надсилання даних відбувається за допомогою окремого виклику RemoteAPI - **btrxpolls** раз на добу
59 23 * * * /bin/ubapi "btrxpolls"
Вищевказані дані будуть надіслані для опитувань, що відповідають наступним критеріям:
* Активних (з галочкою "Включений") опитувань
* З типом "голосують користувачі"
* Поточна дата й час виклику експорту, знаходиться між датами початку та кінця опитування
* Для котрих **за поточну добу** здійснено хоча б один голос користувачами