====== Інтеграція з 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" Вищевказані дані будуть надіслані для опитувань, що відповідають наступним критеріям: * Активних (з галочкою "Включений") опитувань * З типом "голосують користувачі" * Поточна дата й час виклику експорту, знаходиться між датами початку та кінця опитування * Для котрих **за поточну добу** здійснено хоча б один голос користувачами