Користувальницькькі налаштування

Налаштування сайту


remoteapi

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
remoteapi [2023/06/15 17:07]
nightfly
remoteapi [2023/11/22 15:49]
nightfly [API віддаленого виклику процедур]
Рядок 1: Рядок 1:
 ====== API віддаленого виклику процедур ====== ====== API віддаленого виклику процедур ======
  
-У Ubilling починаючи з релізу 0.3.1 підтримується виклик зовнішніми програмами певних внутрішніх процедур білінгу. Для цього потрібна опція REMOTEAPI_ENABLED=1 **alter.ini**. Для авторизації використається серійний номер Ubilling.\\+У Ubilling починаючи з релізу 0.3.1 підтримується виклик зовнішніми програмами певних внутрішніх процедур білінгу. \\ 
 + 
 +Для цього потрібна опція  
 +<code ini> 
 +REMOTEAPI_ENABLED=1 
 +</code> 
 + 
 +в конфігураційному файлі  [[alteriniconf|alter.ini]]. Для авторизації використається серійний номер Ubilling.\\
  
 Формат викликів за допомогою HTTP GET запитів: Формат викликів за допомогою HTTP GET запитів:
Рядок 10: Рядок 17:
      
 На даний момент підтримуються наступні action:\\ На даний момент підтримуються наступні action:\\
-  * **reset + param [login]** - ресет пользователя, логин объязательный параметр. +  * **reset + param [login]** - ресет користувача, логін – обов'язковий параметр. 
-  * **handlersrebuild** - перестройка всех сетевых хендлеров и перезапуск dhcpd для соответствующих подсетей +  * **handlersrebuild** - перебудова всіх мережних хендлерів та перезапуск dhcpd для відповідних підмереж 
-  * **catvfeeprocessing** - снятие АП пользователей КТВ +  * **vserviceschargefee + param [nofrozen]** - зняття АП віртуальних сервісів. Необов'язковий параметр nofrozen - не знімати АП з відморозків. 
-  * **vserviceschargefee + param [nofrozen]** - снятие АП виртуальных сервисов. Необъязательный параметр nofrozen - не снимать АП с отморозков. +     * //**&period**//дозволяє вказати період зняття оплати днями для фільтрації сервісів за цією ознакою. Тільки сервісищо задовольняють умовам фільтрабудуть обробленіщо дозволяє, наприклад, зробити роздільну обробку сервісів з помісячним і поденним зняттям АП (так - таким чином можна робити кілька викликів vserviceschargefee з crontab): //&period=30// або //&period= 1//. \\ Також можна групувати періоди зняття оплат в одному виклику, розділяючи їх **підкресленням**: //&period=30_7_15//
-    * //**&period**//позволяет указать период снятия оплаты в днях для фильтрации сервисов по этому признаку. Только сервисыудовлетворяющие условиям фильтра будут обработанычто позволяет, например, сделать раздельную обработку сервисов с помесячным и подневным снятием АП(да - таким образом можно делать несколько вызовов vserviceschargefee из crontab): //&period=30// или //&period=1//. \\ Так же можно группировать периоды снятия оплат в одном вызове, разделяя их **подчеркиваниями**: //&period=30_7_15//+  * **discountprocessing** - обробка знижок 
-  * **discountprocessing** - обработка скидок +  * **backupdb** - резервування БД 
-  * **backupdb** - резервирование БД +  * **autocleandb** - зачистка БД від старих логів та детальної статистики 
-  * **autocleandb** - зачистка БД от старых логов и детальной статистики +  * **swpoll** - опитування всіх пристроїв з довідника "Комутатори" за допомогою SNMP з метою заповнення кешу сирих даних 
-  * **swpoll** - опрос всех устройств, из справочника "Свичи" при помощи SNMP с целью заполнения кеша сырых данных +  * **swping** - опитування всіх пристроїв з довідника "Комутатори" "на живість" за допомогою ICMP ping 
-  * **swping** - опрос всех устройств, из справочника "Свичи" "на живость" при помощи ICMP ping +  * **fullhostscan + param [traffdiff] + nn** - опитування всіх клієнтів з підмереж вказаних у довіднику "Мережі та сервіси" за допомогою nmap а також за вказівкою параметра traffdiff намагається аналізувати активність зі змін вихідного трафіку. Також параметр nn (наприклад &nn=1) відключає використання nmap, що радикально підвищує швидкодію виклику fullhostscan (рекомендовано)
-  * **fullhostscan + param [traffdiff] + nn** - опрос всех клиентов из подсетей указанных в справочнике "Сети и сервисы" при помощи nmap а также при указании параметра traffdiff пытается анализировать активность по изменениям исходящего трафика. Также параметр nn (например &nn=1) отключает использование nmap, что радикально повышает быстродействие вызова fullhostscan+  * **rebuilduserdatacache** - перебудовується кеш даних користувача в exports: cache_address, cache ipscache mac 
-  * **rebuilduserdatacache** - перестраивается кеш пользовательских даных в exports: cache_address, cache_ipscache_mac +  * **autofreeze + param [nocredit]** -  запускає процедуру автозаморозки користувачів з балансом нижче alter.ini:AUTOFREEZE_CASH_LIMIT 
-  * **autofreeze + param [nocredit]** - запускает процедуру автозаморозки пользователей с балансом ниже alter.ini:AUTOFREEZE_CASH_LIMIT +  * **autofreezemonth + param [nocredit]** - запускає процедуру автозаморозки користувачів з балансом нижче або рівним alter.ini:(AUTOFREEZE_CASH_LIMIT*вартість тарифу). Опційний параметр nocredit символізує своїм видом, виключення з автозаморозки користувачівякі скористалися функцією кредитування в кабінеті користувача в поточному місяці
-  * **autofreezemonth + param [nocredit]** - запускает процедуру автозаморозки пользователей с балансом ниже или равным alter.ini:(AUTOFREEZE_CASH_LIMIT*стоимость тарифа). Опциональный параметр nocredit символизирует своим видом исключение из автозаморозки пользователейвоспользовавшихся в текущем месяце функцией кредитования в кабинете пользователя. +  * **watchdog** - нацьковує собаку-спостерігаку на виконання її завдань 
-  * **watchdog** - натравливает собаку-наблюдаку на исполнение ее задач +  * **senddog** - [[senddog|собака-посилака]] пробігається по всіх чергах для відправлення та здійснює відправлення всіх повідомлень
-  * **senddog** - [[senddog|собака-посылака]] пробегается по всем очередям для отправки и осуществляет отправку всех сообщений+  * **senddog + [param chkmsgstatuses]** - необхідно лише за включеної історії СМС повідомленьЗобов'язує [[senddog|собаку-посилаку]] спробувати отримати статуси раніше відправлених СМС. 
-  * **senddog + [param chkmsgstatuses]** - нужно только при включенной истории СМС сообщенийОбязывает [[senddog|собаку-посылаку]] попытаться получить статусы ранее отправленных СМС. +   * **ukvfeeprocessing** - зняття АП користувачів [[ukv|УКВ]] 
-  * **ukvfeeprocessing** - снятие АП пользователей [[ukv|УКВ]] +  * **switchescoverage  param [1000x800]** - повертає карту покриття комутаторами, з розмірами вказаними у param у форматі XxY 
-  * **switchescoverage  param [1000x800]** - возвращает карту покрытия свитчами, с размерами указанными в param в формате XxY +  * **rebuildglscache** - примусово перебудовується кеш глобального пошуку
-  * **rebuildglscache** - принудительно перестраивается кеш глобального поиска+  * **uhwbrutecleanup** - очищує реєстр спроб перебору паролів UHW 
-  * **uhwbrutecleanup** - очищает реестр попыток перебора UHW +  * **cudiscounts** -  запускає механізм обробки [[cumulativediscounts|накопичувальних знижок]]. 
-  * **cudiscounts** - запускает механизм обработки [[cumulativediscounts|накопительных скидок]]. +  * **crimeandpunishment** - запускає механізм [[crimeandpunishment|обробки злочинів та кари]]. 
-  * **crimeandpunishment** - запускает механизм [[crimeandpunishment|обработки преступления и наказания]] +  * **oltpoll** - запускає опит усіх OLT пристроїв. 
-  * **oltpoll** - запускает опрос всех OLT устройств. +  * **reminder + [param force]**  - запускає SMS нагадуванняЧерга SMS буде оброблена під час наступного запуску senddog. Необов'язковий param=force здійснює примусову посилку всім користувачам, крім замороженихтрансліт примусовий.   
-  * **reminder + [param force]**  - запускает SMS напоминалку. Очередь SMS будет обработана при следующем запуске senddog. Необязательный param=force осуществляет принудительную посылку всем пользователям, кроме замороженных транслит принудителен.   +  * **friendshipdaily** - здійснює внесення відсотків за всіма дружніми платежами, за попередню добу. 
-  * **friendshipdaily** - производит внесение процентов по всем дружественным платежам, за предыдущие сутки+  * **freezemonth + [param debug2ublog]** - здійснює списання коштів у заморожених користувачів рівним alter.ini:FREEZEMONTH_COST. Необов'язковий параметр //debug2ublog// включає дебаг-режим та запис тогощо відбувається в веблог. 
-  * **freezemonth + [param debug2ublog]** - производит списание средств у замороженных пользователей равным alter.ini:FREEZEMONTH_COST. Необязательный параметр //debug2ublog// включает дебаг-режим и запись происходящего в веблог. +  * **writevlanmachistory** - робить опитування по влан термінаторам і заносить маки абонентів до таблиці, записує тільки якщо у якогось конкретного абонента змінився мак (дані бере зі своєї таблиціі не має нічого спільного з маком у nethosts), так само визначає сумарну кількість онлайн абонентів (вланів). 
-  * **writevlanmachistory** - делает опрос по влан терминаторам и заносит маки абонентов в таблицу, записывает только если у какого-то конкретного абонента сменился мак (данные берет из своей таблицыи не имеет ничего общего с маком в nethosts), так же определяет суммарное количество онлайн абонентов (вланов). +  * **dealwithit** - виконує для користувачів завдання, за поточну (та попередні) доби з планувальника "живи з цим"
-  * **dealwithit** - выполняет для пользователей задачи, за текущие сутки из планировщика "живи с этим"+  * **mgqueue** - Здійснює заплановані відписки від тарифів Megogo 
-  * **mgqueue** - Производит запланированные отписки от тарифов Megogo +  * **mgprocessing** - Здійснює нарахування АП за тарифами Megogo 
-  * **mgprocessing** - Производит начисление АП по тарифам Megogo +  * **mgfreecleanup** - Здійснює ліквідацію тестових підписок Megogo із простроченим періодом. 
-  * **mgfreecleanup** - Производит ликвидацию уже тестовых подписок Megogo с просроченым периодом. +  * **exhorse + [&ebobo=true]** - Здійснює збір даних та запис у базу, необхідних для роботи екзистенційного коня. 
-  * **exhorse + [&ebobo=true]** - Производит сбор данных и запись в базу, требуемых для работы экзистенциального коня. +  * **policedog** - Запускає швидке сканування собакою-поліціякою. Раз на півгодини-годину буде цілком нормально. 
-  * **policedog** - Запускает быстрое сканирование собакой-полициякой. Раз в полчаса-час будет вполне нормально. +  * **whydoyoucall** - Отримує дані з Askozia PBX про пропущені дзвінки
-  * **whydoyoucall** - Получает данные с Askozia PBX о пропущенных звонках+  * **whydoyoucallstats** - Записує статистику пропущених дзвінків за день у БД. 
-  * **whydoyoucallstats** - Записывает статистику пропущенных звонков за день в БД. +  * **nasmon** - здійснює опитування серверів NAS з довідника на тему їхньої живості
-  * **asterisk + [param login]** - позволяет получить логин клиента по номеру телефона +  * **mtsigmonpoll** - проводить опитування MikrotikUBNT та інших бездротових пристроївдля отримання рівнів сигналу. 
-  * **asterisk + [param realname]** - позволяет получить логин и ФИО клиента по номеру телефона в виде **[login]-[FIO]**; +  * **sormcast** - проводить вивантажування даних в ИС СОРМ Яхонт. 
-  * **asterisk + [param swstatus]** - позволяет получить состояние оборудования к которому привязан клиент в билинге по номеру телефона (Ответ будет: OK или DIE) +  * **askozianum + [param mobilenumber]** - повертає стан користувача за номером його мобільного номера: 0 - не знайдено, 1 - знайдено і з ним все добре, 2 - боржник, 3 - відморозок. 
-  * **asterisk** - возможен следующий запрос: **/?module=remoteapi&key=[ubserial]&action=asterisk&number=[mobile_number]&param=[login|realname|swstatus|userstatus|setcredit|paycardpay|setpause|setunpause|getuserdatabylogin|getuserdatabymobile|getcontractsbymobile|addusermobile|getvservicescount|getonlinedaysleft|getcontragentdata|getuserspends]** +  * **freezedayscharge + [param debug2ublog]** - запускає процес обробки заморожених користувачів при увімкненому обмеженні кількості днів заморозки. Списує або нараховує доступні дні заморозки, а також відключає заморожування тим, хто вичерпав свої доступні дні заморозки. Необов'язковий параметр //debug2ublog// включає дебаг-режим та запис тогощо відбувається в веблог. [[frozenchargedays|Докладніше]] 
-    * //**&param=userstatus**// - позволяет использовать два вполне себе "self explanationary" дополнительных параметра: **&ignorecache**=true и **&getmoney**=true +  * **mikrotikdnshaper + [param downshift]** - запускає обробку правил динамічного шейпера для [[mikrotikapi|Mikrotik NAS]]. Опціональний параметр **downshift** вказує обробникові повернути користувачам швидкості відповідно до їх тарифних планів. [[dnswitchmtik|Докладніше]] 
-    * //**&param=setcredit**// - **обязывает** использовать дополнительные параметры: **&login**=some_user_login, **&money**=123.45 и **&expiredays**=7.      +  * **getagentdata + [param login]** - повертає JSON з даними про присвоєному користувачеві контрагента
-    * //**&param=paycardpay**// - **обязывает** использовать дополнительные параметры: **&login**=some_user_login и **&paycardnum**=987654321. Параметр **&paycardcashtype**=24 - необязателен, подразумевает ID типа оплат и по-умолчанию равен 1. +  * **districtscache** - оновлює кеш присвоєних користувачам районів
-    * //**&param=setpause**// - **обязывает** использовать дополнительный параметр: **&login**=some_user_login. +  * **smszilla** + filterid + templateid + [translit] здійснює розсилку з заздалегідь заданими фільтрами з певним шаблоном та опціональним примусовим транслітом за допомогою [[smszilla|SMSZilla]]. 
-    * //**&param=setunpause**// - **обязывает** использовать дополнительный параметр: **&login**=some_user_login. Настойчиво рекомендуем использовать данный функционал крайне осторожно, поскольку каких либо особых проверок состояния юзера перед разморозкой НЕ проводится. +  * **multigen** - проводить швидку регенерацію всіх сценаріїв та відпрацювання необхідних сервісів [[multigen|КупаГен]]. 
-    * //**&param=getuserdatabylogin**// - **обязывает** использовать дополнительный параметр: **&login**=some_user_login. При использовании необязательного параметра **&userpass**=some_password будет произведена верификация пары "логин + пароль" перед возвратом данных юзера. +  * **multigentotal** - очищає всі сценарії, потім здійснює регенерацію всіх сценаріїв та виконує необхідні сервіси (не рекомендується використовувати просто так)  
-    * //**&param=getuserdatabymobile|getcontractsbymobile**//не подразумевают использования каких-либо дополнительных параметров, кроме **&number=[mobile_number]** и их действия/возвращаемые данные вполне себе соответствуют их наименованиям+  * **multigentraff** - агрегує статистику сесій з таблички акаунтингу та оновлює трафік користувачів stargazer-а. 
-    //**&param=addusermobile**// - помимо **&number=[mobile_number]** обязывает так же использовать параметр **&login**=some_user_login, что, как бы, логично. Необязательный параметр **&maxmobilesamnt**=4 указывает максимально возможное количество мобильных номеров на одного юзера. +  * **multigenpod + [param login]** - шле PoD на NAS користувача з логіном вказаним у параметрі param. Керується опцією MULTIGEN_POD_ON_MAC_CHANGE.
-    * //**getvservicescount**// - **подразумевает** возможность поиска юзера по номеру телефона **&number=[mobile_number]** или логину. Возвращает количество виртуальных сервисов, привязанных к определенному пользователю. +
-    * //**getonlinedaysleft**// - **подразумевает** возможность поиска юзера по номеру телефона **&number=[mobile_number]** или логину **&login**=some_user_login. Вы также можете использовать параметр **includevsrvs=true**чтобы включить стоимость виртуальных услуг в расчет "оставшихся дней в сети". Возвращает количество «оставшихся дней в сети» для определенного пользователя. +
-    * //**getcontragentdata**// - **подразумевает** возможность поиска юзера по номеру телефона **&number=[mobile_number]** или логину **&login**=some_user_login. Возвращает данные связанного контрагента для определенного пользователя. +
-    * //**getuserspends**// - **подразумевает** возможность поиска юзера по номеру телефона **&number=[mobile_number]** или логину **&login**=some_user_login. Вы также можете использовать параметр **includevsrvs=true**, для получения всех виртуальных услуг в дополнение к основному тарифу. Возвращает информацию о тарифе пользователя и его стоимости, а также, опционально, аналогичную информацию о виртуальных услугах пользователя в формате: +
-<code php> +
-        array(TarrifName => array('price' => TariffCost, 'daysperiod' => TariffChargePeriod), +
-              Vservice1 => array('price' => Vservice1Cost, 'daysperiod' => Vservice1ChargePeriod), +
-              Vservice2 => array('price' => Vservice2Cost, 'daysperiod' => Vservice2ChargePeriod),  +
-              VserviceN => array('price' => VserviceNCost, 'daysperiod' => VserviceChargePeriod) +
-             ) +
-        //Примечание: "TarrifName => TariffCost" - всегда первый элемент массива +
-</code> +
-  * +
-     * - ! - +
-        * //* Стоит отметить, что **getuserdatabylogin|getuserdatabymobile|getcontractsbymobile|getcontragentdata|getuserspends** возвращают данные в формате JSON.//\\ +
-        * //* Все значения дополнительных параметров, конечно же, указаны как пример.//\\ +
- +
- +
-  * **nasmon** - производит опрос серверов NAS из справочника на тему их живости. +
-  * **mtsigmonpoll** - производит опрос Mikrotik и UBNT устройств для получения уровней сигнала. +
-  * **sormcast** - производит выгрузку данных в [[sormyahont|ИС СОРМ Яхонт]]+
-  * **askozianum + [param mobilenumber]** - возвращает состояние пользователя по номеру его мобильного номера: 0 - не найден, 1 - найден и с ним все хорошо, 2 - должник, 3 - отморозок. +
-  * **freezedayscharge + [param debug2ublog]** - запускает процесс обработки замороженных пользователей при включенном ограничении количества дней заморозки. Списывает или начисляет доступные дни заморозки, а так же отключает заморозку тем, кто исчерпал свои доступные дни заморозки. Необязательный параметр //debug2ublog// включает дебаг-режим и запись происходящего в веблог. [[frozenchargedays|Подробнее]] +
-  * **mikrotikdnshaper + [param downshift]** - запускает обработку правил динамического шейпера для [[mikrotikapi|Mikrotik NAS]]. Опциональный параметр **downshift** указывает обработчику вернуть пользователям скорости согласно их тарифных планов. [[dnswitchmtik|Подробнее]] +
-  * **getagentdata + [param login]** - возвращает JSON с данными о присвоенном пользователю контрагенте+
-  * **districtscache** - обновляет кэш соответствия пользователей районам+
-  * **smszilla** + filterid + templateid + [translit] производит рассылку по заранее заданным фильтрам с определенным шаблоном и опциональным принудительным транслитом при помощи [[smszilla|SMSZilla]]. +
-  * **multigen** - производит быструю регенерацию всех сценариев и отработку требуемых сервисов +
-  * **multigentotal** - очищает все сценарии, потом производит регенерацию всех сценариев и выполняет требуемые сервисы (не рекомендуется использовать просто так) +
-  * **multigentraff** - аггрегирует статистику сессий из таблички аккаунтинга и обновляет трафик пользователей stargazer-а. +
-  * **multigenpod + [param login]** - шлет PoD на NAS пользователя с логином указанным в параметре param. Управляется опцией MULTIGEN_POD_ON_MAC_CHANGE.+
   * **onepunch + [param alias]** - запускает выполнение существующего [[onepunch|One-Punch]] скрипта.   * **onepunch + [param alias]** - запускает выполнение существующего [[onepunch|One-Punch]] скрипта.
-  * **paycardsqueue** - обрабатывает очередь платежных карточек и помечает их как полностью "использованные". +  * **paycardsqueue** - обробляє чергу платіжних карток і позначає їх як повністю "використані". 
-  * **salarytelegram** - рассылает сотрудникам [[salary|закрытые]] на них работы за день. +  * **salarytelegram** - розсилає співробітникам [[salary|закриті]] на них роботи за день. 
-  * **warehousetelegram** - рассылает сотрудникам [[warehouse|забронированные]] на них ТМЦ. +  * **warehousetelegram** - розсилає співробітникам [[warehouse|заброньовані]] на них ТМЦ. 
-  * **ddt** - вызывает периодическую обработку тарифов судного дня. +  * **ddt** - викликає періодичну обробку тарифів судного дня. 
-  * **visorcharge** - производит начисление средств для камер в случае их дефицита, в последний день месяца с основного аккаунта.+  * **visorcharge** - здійснює нарахування коштів для камер у разі їх дефіциту, в останній день місяця з основного облікового запису.
   * **fdbarchive** - производит сохранение текущего кэша FDB для архива. При необходимости производит ротацию.   * **fdbarchive** - производит сохранение текущего кэша FDB для архива. При необходимости производит ротацию.
-  * **remotedhcp** - возвращает данные необходимые для синхронизации [[remotedhcp|удаленными DHCP серверами]]. +  * **remotedhcp** - повертає дані, необхідні для синхронізації [[remotedhcp|віддаленими DHCP серверами]]. 
-  * **stgfeecharge2mysql** - создает кэш последних списаний денежных средств старгейзером со счета пользователя для каждого логина вытягивая это все из stargazer.log. Нужно для корректной работы функционала, включаемого опцией [[alteriniconf|alter.ini]] ONLINE_SHOW_LAST_FEECHARGE. +  * **stgfeecharge2mysql** - створює кеш останніх списань коштів старгейзером з рахунку користувача для кожного логіну витягаючи це все з stargazer.log. Потрібно для коректної роботи функціонала, що включає опцію [[alteriniconf|alter.ini]] ONLINE_SHOW_LAST_FEECHARGE. 
-  * **smartup** - вызов предназначен для обеспечения базовой интеграция c сервисом [[smartup|SmartUP]]. +  * **smartup** - виклик призначений для забезпечення базової інтеграції з сервісом [[smartup|SmartUP]]. 
-  * **envyarchive** - сохраняет конфигурацию всех завистливых устройств в архиве+  * **envyarchive** - зберігає конфігурацію всіх активних заздрісних пристроїв у архіві
-  * **autocredit** - вызывает [[autocredit|автоматическое кредитование]] особенных пользователей в последний день месяца+  * **autocredit** - викликає [[autocredit|автоматичне кредитування]] особливих користувачів в останній день місяця.  
-  * **sc** +[login,cr,end,fee,ct] - вызывает процедуру установки кредита пользователя+  * **sc** +[login,cr,end,fee,ct] - викликає процедуру встановлення кредиту користувача
-  * **pt** - вызывает обработку [[pt|Мощей тарифов]]. +  * **pt** - викликає обробку [[pt|Могутніх тарифів]]. 
-  * **usercash** - денежные операции пользователя. Принимает параметры login (логин), summ(сумма денег), ct(тип оплат), op (add/correct/set/mock), note(примечание). Пример: usercash&login=sometestuser&summ=2&ct=1&op=correct&note=test +  * **usercash** -  Фінансові операції користувача. Приймає параметри login (логін), summ(сума грошей), ct(тип оплати), op (add/correct/set/mock), note(примітка). Приклад: usercash&login=sometestuser&summ=2&ct=1&op=correct&note=test 
-  * **ptvchargefee** - производит начисление АП всем подписчикам [[prostotv|ProstoTV]]. +  * **ptvchargefee** - здійснює нарахування АП всім передплатникам [[prostotv|ProstoTV]]. 
-  * **karmaguard** - пытается автоматически чинить карму пользователям, у которых она по какой-то причине успела испортиться. +  * **karmaguard** - намагається автоматично ремонтувати карму користувачам, у яких вона з якоїсь причини встигла зіпсуватися. 
-  * **callmeback + [param number]** - создает новую заявку для модуля [[callmeback|Перезвоните мне пожалуйста]]. +  * **callmeback + [param number]** - створює нову заявку для модуля [[callmeback|Передзвоніть мені будь ласка]]. 
-  * **olltvchargefee** - производит тарификацию услуг [[olltv|OllTV]]. +  * **olltvchargefee** - здійснює тарифікацію послуг [[olltv|OllTV]]. 
-  * **opayzsmsnotify** - запуск рассылки СМС уведомлений OpenPayz. +  * **opayzsmsnotify** - запуск розсилки SMS сповіщень OpenPayz. 
-  * **cachedog** - следит за инвалидацией кэша полных пользовательских данных. В момент вызова проверяется состояние всех пользователей и в случае если оно не соответствует закэшированному в ключе USER_ALL_DATA - последний просто сбрасывается.+  * **cachedog** - стежить за інвалідацією кешу повних даних користувачаУ момент виклику перевіряється стан всіх користувачів і якщо вінне відповідає закешованому в ключі USER_ALL_DATA - останній просто прибивається.
   * **telepony + number** - реагує на вхідний дзвінок [[telepony|TelePony]].   * **telepony + number** - реагує на вхідний дзвінок [[telepony|TelePony]].
   * **fastping** - опитує пристрої з довідника комутаторів на живість за допомогою [[fastping|FastPing]].   * **fastping** - опитує пристрої з довідника комутаторів на живість за допомогою [[fastping|FastPing]].
Рядок 115: Рядок 91:
   * **feesharvester** - реплікує дані про нарахування АП з логу Stargazer до БД. З додатковим параметром full - сканує весь лог за весь час, з параметром today - тільки за поточну добу, без параметрів - за поточний місяць.   * **feesharvester** - реплікує дані про нарахування АП з логу Stargazer до БД. З додатковим параметром full - сканує весь лог за весь час, з параметром today - тільки за поточну добу, без параметрів - за поточний місяць.
   * **btrxupd** - Пушить за наявності всі зміни в абонбазі для [[btrx24|CRM Bitrix24]]   * **btrxupd** - Пушить за наявності всі зміни в абонбазі для [[btrx24|CRM Bitrix24]]
 +  * **btrxpolls** - пушить дані про всі наявні опитування та їх результати до [[btrx24|CRM Bitrix24]]
 +  * **setculpa + [login,culpa]** - встановлює користувачу login кульпу вказану в culpa
 +  * **pseudocrm + [param]** - виконує відповідний виклик функцій вказахнив в param з [[pseudocrm|PseudoCRM]].
 +  * **stickynotify** - виконує розсилку в Telegram всім активним працівникам, з кількістю їх активних персональних нотаток та нагадувань "на сьогодні".
 +  * **taskmannotify** - виконує розсилку в Telegram всім активним працівникам, з кількістю запланованих на них задач планувальника задач "на сьогодні".
  
-При неверных вызовах Remote API будет возвращать следующие исключения: 
-  * ERROR:GET_NO_ACTION - не указана процедура которую следует вызвать 
-  * ERROR:GET_WRONG_KEY - указан неверный серийный номер Ubilling 
-  * ERROR:NO_UBSERIAL_EXISTS - не сгенерирован серийный номер Ubilling (можно узнать в модуле "Состояние системы") 
-  * ERROR:GET_NO_KEY - не указан серийный номер Ubilling 
-  * ERROR:API_DISABLED - Remote API отключена при помощи параметра REMOTEAPI_ENABLED=0 в alter.ini 
-  * ERROR:GET_NO_PARAM - не указан объязательный параметр для вызова текущей процедуры (например логин пользователя) 
  
 +У разі неправильних викликів Remote API повертатиме наступні помилки:
  
-На данный момент вызовы reset и handlersrebuild используються для работы UHW. Пока что мы не хотим выносить слишком много излишнего функционала в это API в целях безопасности. Если вы хотите вызывать чтоо из того что делает Ubilling в своих внешних приложениях - мы с удовольствием рассмотрим все предложения.+  * ERROR:GET_NO_ACTION - не вказано процедуру, яку слід викликати 
 +  * ERROR:GET_WRONG_KEY - вказано невірний серійний номер Ubilling 
 +  * ERROR:NO_UBSERIAL_EXISTS - не згенеровано серійний номер Ubilling (можна дізнатися у модулі "Стан системи") 
 +  * ERROR:GET_NO_KEY - не вказано серійний номер Ubilling 
 +  * ERROR:API_DISABLED - Remote API вимкнено за допомогою параметру REMOTEAPI_ENABLED=0 в alter.ini 
 +  * ERROR:GET_NO_PARAM - не вказано обов'язковий параметр для виклику поточної процедури (наприклад, логін користувача)
  
-Если требуется вызов каких-то процедур из API (а оно для этого и есть), можно оформить это в таком виде:+ 
 +Якщо потрібно звідкись ззовні викликати якісь процедури з API (а воно для цього і є), можна оформити це в такому вигляді:
  
 <code bash>  <code bash> 
-/usr/local/bin/curl -o /dev/null "http://127.0.0.1/billing/?module=remoteapi&key=ваш_серийник&action=vserviceschargefee"+/usr/local/bin/curl -o /dev/null "http://127.0.0.1/billing/?module=remoteapi&key=ваш_серійник&action=vserviceschargefee"
 </code> </code>
-или так+ 
 +або так 
 <code bash>  <code bash> 
-/usr/local/bin/curl -o /dev/null "http://127.0.0.1/billing/?module=remoteapi&key=ваш_серийник&action=swping"+/usr/local/bin/curl -o /dev/null "http://127.0.0.1/billing/?module=remoteapi&key=ваш_серійник&action=swping"
 </code> </code>
  
-Мысль надеюсь понятна.\\ +Думка сподіваємось зрозуміла\\ 
-====== Обертка ====== + 
-Для удобства и красивости, можно воспользоваться вот таким скриптом **/bin/ubapi** (не забываем chmod a+x /bin/ubapi) :+====== Страшні виклики навколо Asterisk ====== 
 + 
 +  * **asterisk + [param login]** - дозволяє отримати логін клієнта за номером телефону 
 +  * **asterisk + [param realname]** - дозволяє отримати логін та ПІБ клієнта за номером телефону у вигляді **[login]-[ПІБ]**; 
 +  * **asterisk + [param swstatus]** - дозволяє отримати стан обладнання, до якого прив'язаний клієнт у білінгу за номером телефону (Відповідь буде: OK або DIE) 
 +  * **asterisk** - можливий наступний запит: **/?module=remoteapi&key=[ubserial]&action=asterisk&number=[mobile_number]&param=[login|realname|swstatus|userstatus|setcredit|paycardpay|setpause|setunpause|getuserdatabylogin|getuserdatabymobile|getcontractsbymobile|addusermobile|getvservicescount|getonlinedaysleft|getcontragentdata|getuserspends]** 
 +    * //**&param=userstatus**// - дозволяє використовувати два цілком собі "self explanationary" додаткові параметри: **&ignorecache**=true и **&getmoney**=true 
 +    * //**&param=setcredit**// - **зобов'язує** використовувати додаткові параметри: **&login**=some_user_login, **&money**=123.45 и **&expiredays**=7.      
 +    * //**&param=paycardpay**// - **зобов'язує** використовувати додаткові параметри: **&login**=some_user_login і **&paycardnum**=987654321. Параметр **&paycardcashtype**=24 - необов'язковий, має на увазі ID типу оплат і за замовчуванням рівний 1. 
 +    * //**&param=setpause**// - **зобов'язує** використовувати додатковий параметр: **&login**=some_user_login. 
 +    * //**&param=setunpause**// - **зобов'язує** використовувати додатковий параметр: **&login**=some_user_login. Наполегливо радимо використовувати цей функціонал дуже обережно, оскільки будь-яких спеціальних перевірок стану користувача перед розморожуванням не проводиться. 
 +    * //**&param=getuserdatabylogin**// - **зобов'язує** використовувати додатковий параметр: **&login**=some_user_login. При використанні необов'язкового параметра **&userpass**=some_password буде проведена верифікація пари "логін + пароль" перед поверненням даних користувача. 
 +    * //**&param=getuserdatabymobile|getcontractsbymobile**// - не мають на увазі використання будь-яких додаткових параметрівкрім **&number=[mobile_number]** та їх дії/повертані дані цілком відповідають їх найменуванням. 
 +    * //**&param=addusermobile**// - окрім **&number=[mobile_number]** зобов'язує також використовувати параметр **&login**=some_user_login, що, як би, логічно. Необов'язковий параметр **&maxmobilesamnt**=4 показує максимальну кількість мобільних номерів однією користувача. 
 +    * //**getvservicescount**// - **має на увазі** можливість пошуку користувача за номером телефону **&number=[mobile_number]** або логіну. Повертає кількість віртуальних сервісів, прив'язаних до певного користувача. 
 +    * //**getonlinedaysleft**// - **має на увазі можливість пошуку користувача за номером телефону **&number=[mobile_number]** або логіну **&login**=some_user_login. Ви також можете використовувати параметр **includevsrvs=true**, щоб включити вартість віртуальних послуг у розрахунок днів, що залишилися в мережі. Повертає кількість днів, що «залишилися в мережі» для певного користувача. 
 +    * //**getcontragentdata**// - **має на увазі можливість пошуку користувача за номером телефону **&number=[mobile_number]** або логіну **&login**=some_user_login. Повертає дані пов'язаного контрагента для певного користувача. 
 +    * //**getuserspends**// - **має на увазі** можливість пошуку користувача за номером телефону **&number=[mobile_number]** або логіну **&login**=some_user_login. Ви також можете використовувати параметр **includevsrvs=true** для отримання всіх віртуальних послуг на додаток до основного тарифу. Повертає інформацію про тариф користувача та його вартість, а також, опціонально, аналогічну інформацію про віртуальні послуги користувача у форматі: 
 +<code php> 
 +        array(TarrifName => array('price' => TariffCost, 'daysperiod' => TariffChargePeriod), 
 +              Vservice1 => array('price' => Vservice1Cost, 'daysperiod' => Vservice1ChargePeriod), 
 +              Vservice2 => array('price' => Vservice2Cost, 'daysperiod' => Vservice2ChargePeriod),  
 +              VserviceN => array('price' => VserviceNCost, 'daysperiod' => VserviceChargePeriod) 
 +             ) 
 +        //Примітка: "TarrifName => TariffCost" - завжди перший елемент масиву 
 +</code> 
 +  * 
 +     * - ! - 
 +        * //* Варто зазначити, що **getuserdatabylogin|getuserdatabymobile|getcontractsbymobile|getcontragentdata|getuserspends** повертають дані у форматі JSON.//\\ 
 +        * //* Всі значення додаткових параметрів, звичайно, вказані як приклад.//\\ 
 + 
 + 
 + 
 +====== Обгортка ====== 
 + 
 +Для зручності та красивості, можна скористатися ось таким скриптом **/bin/ubapi** (не забуваємо chmod a+x /bin/ubapi):
  
 <file bash ubapi> <file bash ubapi>
Рядок 158: Рядок 176:
 </file> </file>
  
-Начиная с релиза 0.8.0 он уже лежит по нужному пути. Вам стоит только установить в нем серийник вашего Ubilling. 
  
-====== И дальше что? ======+Починаючи з релізу 0.8.0, одразу після встановлення, він вже лежить по потрібному шляху. Та в нього вже вписано серійник вашого Ubilling. Тобто просто можете користуватись. 
 + 
 +====== А далі що? ======
  
-И как теперь будет выглядеть crontab -e в минимальном джентльменском наборе? А вот как-то так:+І як тепер виглядатиме crontab -e у мінімальному джентльменському наборі? А от якось так:
  
 <code bash> <code bash>
Рядок 186: Рядок 205:
 </code> </code>
  
-Это необходимый минимум(!) для обеспечения минимально рабочего состояния Ubilling.+Це необхідний мінімум(!) для забезпечення мінімально робочого стану Ubilling.
  
remoteapi.txt · Востаннє змінено: 2024/05/15 14:31 повз bobr