<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>https:///index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B5-%D0%90PI</id>
	<title>Основное-АPI - Історія редагувань</title>
	<link rel="self" type="application/atom+xml" href="https:///index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%BE%D0%B5-%D0%90PI"/>
	<link rel="alternate" type="text/html" href=""/>
	<updated>2026-05-05T12:27:29Z</updated>
	<subtitle>Історія редагувань цієї сторінки в вікі</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id></id>
		<title>Sv в 19:25, 13 січня 2025</title>
		<link rel="alternate" type="text/html" href=""/>
		<updated>2025-01-13T19:25:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Нова сторінка&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Общая информация==&lt;br /&gt;
АPI запросы выполняются по http(s)-протоколу, в ответ приходит json. Тестировать АPI можно с консоли, например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В ответ приходит сообщение об ошибке «запрос не авторизован»:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;error&amp;quot; : &amp;quot;Вы не авторизованы&amp;quot;,&lt;br /&gt;
   &amp;quot;err_cod&amp;quot; : &amp;quot;unauthorized&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Если в ответе АPI  будет присутствовать ключ error - это означает, что произошла ошибка и в данном ключе текст ошибки. В большинстве случаев данный текст можно показывать абонентам. Может присутствовать ключ err_cod - код ошибки, который не зависит от локализации. Варианты:&lt;br /&gt;
&lt;br /&gt;
     unauthorized - либо не передана сессия, либо некорректная, либо устарела&lt;br /&gt;
     wrong_password - неудачная авторизация&lt;br /&gt;
&lt;br /&gt;
Чтобы выполнить АPI-запрос необходимо сперва залогиниться под логином и паролем пользователя и получить идентификатор сессии, который использовать в cookie  в последующих запросах.&lt;br /&gt;
&lt;br /&gt;
В cookie в параметре nolang можно указать язык, например, nolang=UA&lt;br /&gt;
&lt;br /&gt;
==Авторизация==&lt;br /&gt;
&lt;br /&gt;
 Логин: test&lt;br /&gt;
 Пароль: 123&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?_uu=test&amp;amp;_pp=123'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если логин и пароль верные, приходит ответ:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;ses&amp;quot; : &amp;quot;hHuidO6MqAwTcqOnZF4Qg&amp;quot;,&lt;br /&gt;
   &amp;quot;data&amp;quot; : {&lt;br /&gt;
      &amp;quot;trust&amp;quot; : 1,&lt;br /&gt;
      &amp;quot;id&amp;quot; : &amp;quot;357&amp;quot;,&lt;br /&gt;
      &amp;quot;role&amp;quot; : &amp;quot;user&amp;quot;&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;result&amp;quot; : &amp;quot;auth ok&amp;quot;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Нас интересует параметр ses, который необходимо посылать во всех запросах в cookie с именем noses&lt;br /&gt;
&lt;br /&gt;
Обратите внимание на параметр role - показывает кто авторизовался, админ или пользователь&lt;br /&gt;
&lt;br /&gt;
==Версия NoDeny==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=version' --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Функция аpi для пользователя==&lt;br /&gt;
===Получение данных пользователя===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main' --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В полученном ответе:&lt;br /&gt;
&lt;br /&gt;
    usr     : данные пользователя&lt;br /&gt;
    services: подключенные услуги&lt;br /&gt;
    credits : кредиты&lt;br /&gt;
    pays    : платежи&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
      &amp;quot;services&amp;quot; : [&lt;br /&gt;
         {&lt;br /&gt;
             &amp;quot;id&amp;quot; : &amp;quot;1537&amp;quot;,   &lt;br /&gt;
             &amp;quot;service_id&amp;quot; : &amp;quot;33&amp;quot;,&lt;br /&gt;
             &amp;quot;next_service_id&amp;quot; : &amp;quot;33&amp;quot;,&lt;br /&gt;
             &amp;quot;auto_renew&amp;quot; : &amp;quot;0&amp;quot;,&lt;br /&gt;
             &amp;quot;tm_start&amp;quot; : &amp;quot;1468324004&amp;quot;,&lt;br /&gt;
             &amp;quot;tm_end&amp;quot; : &amp;quot;1783684004&amp;quot;,&lt;br /&gt;
             &amp;quot;grp_list&amp;quot; : &amp;quot;,1,&amp;quot;,&lt;br /&gt;
             &amp;quot;pay_id&amp;quot; : &amp;quot;4544&amp;quot;,&lt;br /&gt;
             &amp;quot;category&amp;quot; : &amp;quot;&amp;quot;,&lt;br /&gt;
             &amp;quot;module&amp;quot; : &amp;quot;unlim&amp;quot;,&lt;br /&gt;
             &amp;quot;uid&amp;quot; : &amp;quot;357&amp;quot;,&lt;br /&gt;
             &amp;quot;no_renew&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
             &amp;quot;description&amp;quot; : &amp;quot;50 Mb unlim&amp;quot;,&lt;br /&gt;
             &amp;quot;tags&amp;quot; : &amp;quot;,speed=123,&amp;quot;,&lt;br /&gt;
             &amp;quot;finish_count&amp;quot; : &amp;quot;1&amp;quot;,&lt;br /&gt;
             &amp;quot;price&amp;quot; : &amp;quot;10&amp;quot;,&lt;br /&gt;
         },{&lt;br /&gt;
           ...&lt;br /&gt;
         }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент&lt;br /&gt;
&lt;br /&gt;
===Получение списка сообщений===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \&lt;br /&gt;
    --cookie &amp;quot;noses=hHuidO6MqAwTcqOnZF4Qg&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Параметр category:&lt;br /&gt;
    426 - сообщение через внешний сервис&lt;br /&gt;
    491 - сообщение от клиента&lt;br /&gt;
    492 - сообщение от клиента&lt;br /&gt;
    493 - сообщение клиента со смартфона&lt;br /&gt;
    480 - сообщение клиенту&lt;br /&gt;
    481 - сообщение клиенту, клиент ознакомлен&lt;br /&gt;
    482 - сообщение клиенту, блокирующее доступ до ознакомления&lt;br /&gt;
    488 - многоадресное сообщение клиентам&lt;br /&gt;
&lt;br /&gt;
Параметр from:&lt;br /&gt;
    user  - сообщение от клиента&lt;br /&gt;
    admin - сообщение клиенту&lt;br /&gt;
&lt;br /&gt;
===Отправка сообщения администрации===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \&lt;br /&gt;
    --cookie &amp;quot;noses=hHuidO6MqAwTcqOnZF4Qg&amp;quot; \&lt;br /&gt;
    -X POST -d &amp;quot;msg=У меня не работает интернет&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===История подключений===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_auth_log' \&lt;br /&gt;
    --cookie &amp;quot;noses=hHuidO6MqAwTcqOnZF4Qg&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если параметр end = 0 - подключение в данный момент активно&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Список услуг, которые можно подключить===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_select' \&lt;br /&gt;
    --cookie &amp;quot;noses=hHuidO6MqAwTcqOnZF4Qg&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если в услуге установлен ключ why_not, то в нем указана причина, почему данную услугу нельзя подключить. Варианты:&lt;br /&gt;
* already - эта услуга уже подключена&lt;br /&gt;
* analog - подключена аналогичная услуга и существует запрет на подключение схожих услуг, например, нельзя подключить два тарифа для доступа в интернет&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Подключение услуги===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&amp;amp;service_id=63' \&lt;br /&gt;
    --cookie &amp;quot;noses=hHuidO6MqAwTcqOnZF4Qg&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Установка &amp;quot;следующей&amp;quot; услуги===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&amp;amp;cmd=set_next&amp;amp;usr_service_id=1234&amp;amp;service_id=63' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
usr_service_id - это id уже установленной услуги абонента (поле id в таблице users_services)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Получение кредита===&lt;br /&gt;
&lt;br /&gt;
Информация о кредите, который можно получить:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_credit' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;credit&amp;quot; : {&lt;br /&gt;
      &amp;quot;gr&amp;quot; : &amp;quot;грн&amp;quot;,&lt;br /&gt;
      &amp;quot;full_amt&amp;quot; : &amp;quot;3.16&amp;quot;,&lt;br /&gt;
      &amp;quot;commission&amp;quot; : 0,&lt;br /&gt;
      &amp;quot;days&amp;quot; : 3,&lt;br /&gt;
      &amp;quot;amt&amp;quot; : 3.16&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;result&amp;quot; : &amp;quot;ok&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Получение кредита:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_credit&amp;amp;go=1' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат в ключе result:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ok              : успешно&lt;br /&gt;
blocked         : существует платеж-блокировка взятия кредита&lt;br /&gt;
other_exists    : существует активный кредит&lt;br /&gt;
no_more         : ранее брался кредит и он уже возвращен. Тем не менее после него не было платежей на сумму бОльшую  суммы кредита&lt;br /&gt;
many_nopay_days : не было ни одного положительного платежа за количество дней, указанных в настройках модуля&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пример ответа:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;result&amp;quot; : &amp;quot;blocked&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Пополнение счета карточкой пополнения счета===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_cards&amp;amp;cod=21242830587619' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат в ключе result:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ok                : успешно&lt;br /&gt;
wrong_code        : неверный код пополнения&lt;br /&gt;
already_activated : карточка уже активирована&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Регистрация токена для пуш-уведомлений===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_gcm&amp;amp;reg_id=c-kkWVxpBpM:APA91bFZGzWjxjWtnX2m0iu4yq-koveiZCk' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В результате параметр reg_id должен записаться в таблицу notifications_users&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Создание заявки на оплату в платежной системе Fondy===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_fondy&amp;amp;amt=100' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет возвращен id платежа-заявки для оплаты, а также сумма для оплаты (сумма может быть больше заказанной из-за комиссии)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Создание заявки на оплату в платежной системе Liqpay===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_lpay&amp;amp;amt=100' \&lt;br /&gt;
    --cookie 'noses=o5U0SSeFy5FiJWv5GaWjng'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Будет возвращен id платежа-заявки для оплаты, а также сумма для оплаты (сумма может быть больше заказанной из-за комиссии)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Автоматическое пополнение счета===&lt;br /&gt;
====Список токенов====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_autopays' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Результат в ключе result:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;result&amp;quot; : [&lt;br /&gt;
      {&lt;br /&gt;
         &amp;quot;expire_time&amp;quot; : &amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;last_pay_time&amp;quot; : &amp;quot;28.11.2021 19:48&amp;quot;,&lt;br /&gt;
         &amp;quot;id&amp;quot; : &amp;quot;107&amp;quot;,&lt;br /&gt;
         &amp;quot;type&amp;quot; : &amp;quot;paytoken&amp;quot;,&lt;br /&gt;
         &amp;quot;enabled&amp;quot; : &amp;quot;0&amp;quot;,&lt;br /&gt;
         &amp;quot;uid&amp;quot; : &amp;quot;188&amp;quot;,&lt;br /&gt;
         &amp;quot;create_time&amp;quot; : &amp;quot;1638121721&amp;quot;,&lt;br /&gt;
         &amp;quot;paysystem&amp;quot; : &amp;quot;fondy&amp;quot;,&lt;br /&gt;
         &amp;quot;card&amp;quot; : &amp;quot;473118XXXXXX9680&amp;quot;,&lt;br /&gt;
         &amp;quot;token&amp;quot; : &amp;quot;1e5aXXXXXXXXXXXXXX5b3&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
   ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Или когда нет ни одного токена:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;err_cod&amp;quot; : &amp;quot;no_tokens&amp;quot;,&lt;br /&gt;
   &amp;quot;error&amp;quot; : &amp;quot;Ще не підключено жодної карти, по якій можна здійснювати автоматичні платежі.&lt;br /&gt;
 Вам потрібно здійснити оплату як зазвичай і ми додамо карту, яку ви використовували&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Включение токена====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_autopays&amp;amp;id=107&amp;amp;act=on' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Выключение токена====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_autopays&amp;amp;id=107&amp;amp;act=off' \&lt;br /&gt;
    --cookie 'noses=hHuidO6MqAwTcqOnZF4Qg'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Модуль опроса===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Модуль опроса. АPI|Документация]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Функции аpi для администратора==&lt;br /&gt;
===Получение данных абонентов===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_users' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В ответе:&lt;br /&gt;
* dopdata - дополнительные поля учетной записи&lt;br /&gt;
* services - активные услуги&lt;br /&gt;
** next_title - имя услуги, которая будет подключена после завершения текущей&lt;br /&gt;
** next_service_id - id услуги, которая будет подключена после завершения текущей&lt;br /&gt;
** set_next_time - время, когда в последний раз была заказана смена услуги (null если не было заказов)&lt;br /&gt;
* last_traf - время последней активности по трафику&lt;br /&gt;
* last_auth - время последней активности по авторизации&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Начиная с ревизии 681: если необходимо получить только определенные поля, то их имена надо задать через запятую в параметре fields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_users&amp;amp;fields=name,last_auth' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для получения всех допполей: fields=dopfields&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Получение списка тикетов===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=op&amp;amp;act=tickets&amp;amp;start_date=31.01.2023&amp;amp;end_date=16.09.2023' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
start_date и end_date фильтруют список по дате создания (включительно, т.е. в примере будут получены все тикеты с датой создания от 31.01.2023 00:00:00 до 16.09.2023 23:59:59). end_date необязательный параметр.&lt;br /&gt;
&lt;br /&gt;
Возможные фильтры:&lt;br /&gt;
* creator - id создателя тикета&lt;br /&gt;
* performer - id любого из исполнителей (performer=0 - без исполнителя)&lt;br /&gt;
* level - приоритет&lt;br /&gt;
* type - тип (в виде числа). Типы задаються вами в настройках тикетов&lt;br /&gt;
* search_str - поиск по фрагменту текста в теме/комментарии или в любом сообщении тикета&lt;br /&gt;
* state - состояние:&lt;br /&gt;
** -1 - незакрытый тикет&lt;br /&gt;
** new - открытый&lt;br /&gt;
** active - в работе&lt;br /&gt;
** failed - не может быть исполнен&lt;br /&gt;
** check - необходима проверка&lt;br /&gt;
** alert - тревога&lt;br /&gt;
* private - приватность (1 - приватные, 0 - нет)&lt;br /&gt;
&lt;br /&gt;
В ответе:&lt;br /&gt;
* id - id тикета&lt;br /&gt;
* subject - тема тикета&lt;br /&gt;
* comment - комментарий&lt;br /&gt;
* state - статус тикета&lt;br /&gt;
* client_informed (1 - клиент проинформирован)&lt;br /&gt;
* performer_informed (1 - исполнитель проинформирован)&lt;br /&gt;
* creator - кто создал тикет&lt;br /&gt;
* updater - кто последним изменил тикет&lt;br /&gt;
* client - с кем связан тикет, если ни с кем, то {}&lt;br /&gt;
* performer - исполнитель 1 или {}&lt;br /&gt;
* performer2 - исполнитель 2 или {}&lt;br /&gt;
* performer3 - исполнитель 3 или {}&lt;br /&gt;
* performer_grp - поле &amp;quot;передано в отдел&amp;quot;, когда исполнитель не выбран, однако известно в какой группе он должен быть&lt;br /&gt;
&lt;br /&gt;
Чтобы администратор (оператор) имел доступ к тикетам, необходимо чтобы его административная запись была связана с какой-либо учетной записью в списке клиентов - рекомендуем сделать групу «сотрудники»/«техподдержка»/«монтажники»...&lt;br /&gt;
&lt;br /&gt;
Также у административной записи существует привилегия «Руководитель. Доступ ко всем тикетам». Если данная галка не стоит, то оператор увидит только те тикеты, которые либо не связаны ни с каким абонентом, либо связаны с абонентом, к группе которого есть доступ. Однако недоступный тикет может стать доступным, если в качестве исполнителя (любого из трех) будет назначен текущий оператор либо же параметр «передать в отдел» будет таким же как группа оператора (например, передано в отдел «монтажники»). Таким образом, монтажникам можно не давать доступ к абонентам, а руководитель будет назначать тикет конкретному монтажнику или передавать в отдель и там монтаджники сами разберутся&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Получение всех данных тикета #165 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=op&amp;amp;act=tickets&amp;amp;op=edit&amp;amp;id=165' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В ответе:&lt;br /&gt;
&lt;br /&gt;
* data - текущие данные тикета&lt;br /&gt;
* history - лог изменений&lt;br /&gt;
&lt;br /&gt;
Структура лога:&lt;br /&gt;
&lt;br /&gt;
* created_ts - таймстамп события&lt;br /&gt;
* created_time - время события в текстовом виде&lt;br /&gt;
* author - id кто изменил запись (по таблице администраторов)&lt;br /&gt;
* changes - список измененных полей:&lt;br /&gt;
** имя поля&lt;br /&gt;
** предыдущее значение&lt;br /&gt;
** установленное значение&lt;br /&gt;
&lt;br /&gt;
===Получение данных абонента===&lt;br /&gt;
&lt;br /&gt;
Для учетной записи с id=5:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main&amp;amp;uid=5' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Получение данных по всем услугам===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_services' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Получение информации по дополнительным полям учетных записей===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_dopdata' \&lt;br /&gt;
    --cookie 'noses=OIcU//chVAcIQH1AX158Ww'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В ответе:&lt;br /&gt;
* title - имя поля&lt;br /&gt;
* name - имя поля в базе данных в таблице data0&lt;br /&gt;
* flags - параметры поля&lt;br /&gt;
** b - убирать пробелы в начале&lt;br /&gt;
** c - убирать пробелы в конце&lt;br /&gt;
** f - убирать все пробелы&lt;br /&gt;
** d - преобразовать к нижнему регистру&lt;br /&gt;
** e - транслировать в латинские символы&lt;br /&gt;
** q - титульное поле (выводится в общем списке клиентов)&lt;br /&gt;
** h - уникальное&lt;br /&gt;
** i - запретить редактирование (кроме суперадмина)&lt;br /&gt;
** j - сортировать как число на странице поиска абонентов&lt;br /&gt;
** k - можно выбрать несколько значений&lt;br /&gt;
* type - тип поля&lt;br /&gt;
&lt;br /&gt;
Если тип поля select, то в param будет список значений для данного поля, при этом ключ - строка, которая хранится в базе, значение - строка, которая отображается пользователю&lt;/div&gt;</summary>
		<author><name>Sv</name></author>
	</entry>
</feed>