Основное API: відмінності між версіями
Sv (обговорення | внесок) |
Sv (обговорення | внесок) Немає опису редагування |
||
Рядок 98: | Рядок 98: | ||
Видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент | Видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент | ||
==Получение списка сообщений== | ===Получение списка сообщений=== | ||
<source lang="bash"> | <source lang="bash"> | ||
Рядок 121: | Рядок 121: | ||
==История подключений== | ===История подключений=== | ||
<source lang="bash"> | <source lang="bash"> | ||
Рядок 131: | Рядок 131: | ||
==Список услуг, которые можно подключить== | ===Список услуг, которые можно подключить=== | ||
<source lang="bash"> | <source lang="bash"> | ||
Рядок 143: | Рядок 143: | ||
==Подключение услуги== | ===Подключение услуги=== | ||
<source lang="bash"> | <source lang="bash"> | ||
Рядок 151: | Рядок 151: | ||
==Установка "следующей" услуги== | ===Установка "следующей" услуги=== | ||
<source lang="bash"> | <source lang="bash"> | ||
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&cmd=set_next&usr_service_id=1234&service_id=63' \ | curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&cmd=set_next&usr_service_id=1234&service_id=63' \ | ||
--cookie | --cookie 'noses=hHuidO6MqAwTcqO/nZF4Qg' | ||
</source> | </source> | ||
usr_service_id - это id уже установленной услуги абонента (поле id в таблице users_services) | usr_service_id - это id уже установленной услуги абонента (поле id в таблице users_services) | ||
==Регистрация токена для пуш-уведомлений== | ===Регистрация токена для пуш-уведомлений=== | ||
<source lang="bash"> | <source lang="bash"> | ||
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_gcm&red_id=c-kkWVxpBpM:APA91bFZGzWjxjWtnX2m0iu4yq-koveiZCk' \ | curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_gcm&red_id=c-kkWVxpBpM:APA91bFZGzWjxjWtnX2m0iu4yq-koveiZCk' \ | ||
--cookie | --cookie 'noses=hHuidO6MqAwTcqO/nZF4Qg' | ||
</source> | </source> | ||
В результате параметр reg_id должен записаться в таблицу notifications_users | В результате параметр reg_id должен записаться в таблицу notifications_users | ||
==Создание заявки на оплату в платежной системе Fondy== | ===Создание заявки на оплату в платежной системе Fondy=== | ||
<source lang="bash"> | <source lang="bash"> | ||
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_fondy&amt=100' \ | curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_fondy&amt=100' \ | ||
--cookie | --cookie 'noses=OIcU//chVAcIQH1AX158Ww' | ||
</source> | </source> | ||
Будет возвращен id платежа-заявки для оплаты | Будет возвращен id платежа-заявки для оплаты | ||
==Функции api для администратора== | |||
===Получение всех данных абонентов=== | |||
<source lang="bash"> | |||
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_users' \ | |||
--cookie 'noses=OIcU//chVAcIQH1AX158Ww' | |||
</source> | |||
В ответе: | |||
* dopdata - дополнительные поля учетной записи | |||
* services - активные услуги | |||
** next_title - имя услуги, которая будет подключена после завершения текущей | |||
** next_service_id - id услуги, которая будет подключена после завершения текущей | |||
** set_next_time - время, когда в последний раз была заказана смена услуги (null если не было заказов) | |||
* last_traf - время последней активности по трафику | |||
* last_auth - время последней активности по авторизации |
Версія за 17:58, 23 лютого 2018
Общая информация
API запросы выполняются по http(s)-протоколу, в ответ приходит json. Если в ответе присутствует ключ error - произошла ошибка.
Тестировать API можно с консоли, например:
curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl'
В ответ приходит сообщение об ошибке "запрос не авторизован":
{
"error" : "Вы не авторизованы",
"err_cod" : "unauthorized"
}
Если в ответе API будет присутствовать ключ error - это означает, что произошла ошибка и в данном ключе текст ошибки. В большинстве случаев данный текст можно показывать абонентам. Может присутствовать ключ err_cod - код ошибки, который не зависит от локализации. Варианты:
unauthorized - либо не передана сессия, либо некорректная, либо устарела wrong_password - неудачная авторизация
Чтобы выполнить API-запрос необходимо сперва залогиниться под логином и паролем пользователя и получить идентификатор сессии, который использовать в cookie в последующих запросах.
В cookie в параметре nolang можно указать язык, например, nolang=UA
Авторизация
Логин: test email Пароль: 123
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?_uu=test%20email&_pp=123'
Если логин и пароль верные, приходит ответ:
{
"ses" : "hHuidO6MqAwTcqO/nZF4Qg",
"data" : {
"trust" : 1,
"id" : "357",
"role" : "user"
},
"result" : "auth ok"
}
Нас интересует параметр ses, который необходимо посылать во всех запросах в cookie с именем noses
Обратите внимание на параметр role - показывает кто авторизовался, админ или пользователь
Функция api для пользователя
Получение данных пользователя
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main' --cookie 'noses=hHuidO6MqAwTcqO/nZF4Qg'
В полученном ответе:
usr: данные пользователя services: услуги, подключенные пользователю credits: кредиты pays: платежи
Например:
{
"services" : [
{
"id" : "1537",
"service_id" : "33",
"next_service_id" : "33",
"auto_renew" : "0",
"tm_start" : "1468324004",
"tm_end" : "1783684004",
"grp_list" : ",1,",
"pay_id" : "4544",
"category" : "",
"module" : "unlim",
"uid" : "357",
"no_renew" : "1",
"description" : "50 Mb unlim",
"tags" : ",speed=123,",
"finish_count" : "1",
"price" : "10",
},{
...
}
}
Видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент
Получение списка сообщений
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \
--cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
Параметр category:
491 - сообщение от клиента 480 - сообщение клиенту 481 - сообщение клиенту, клиент ознакомлен 482 - сообщение клиенту, блокирующее доступ до ознакомления 488 - многоадресное сообщение клиентам
Отправка сообщения администрации
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \
--cookie "noses=hHuidO6MqAwTcqO/nZF4Qg" \
-X POST -d "msg=У меня не работает интернет"
История подключений
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_auth_log' \
--cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
Если параметр end = 0 - подключение в данный момент активно
Список услуг, которые можно подключить
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_select' \
--cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
Если в услуге установлен ключ why_not, то в нем указана причина, почему данную услугу нельзя подключить. Варианты:
- already - эта услуга уже подключена
- analog - подключена аналогичная услуга и существует запрет на подключение схожих услуг, например, нельзя подключить два тарифа для доступа в интернет
Подключение услуги
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&service_id=63' \
--cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
Установка "следующей" услуги
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_srv_add&cmd=set_next&usr_service_id=1234&service_id=63' \
--cookie 'noses=hHuidO6MqAwTcqO/nZF4Qg'
usr_service_id - это id уже установленной услуги абонента (поле id в таблице users_services)
Регистрация токена для пуш-уведомлений
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_gcm&red_id=c-kkWVxpBpM:APA91bFZGzWjxjWtnX2m0iu4yq-koveiZCk' \
--cookie 'noses=hHuidO6MqAwTcqO/nZF4Qg'
В результате параметр reg_id должен записаться в таблицу notifications_users
Создание заявки на оплату в платежной системе Fondy
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_fondy&amt=100' \
--cookie 'noses=OIcU//chVAcIQH1AX158Ww'
Будет возвращен id платежа-заявки для оплаты
Функции api для администратора
Получение всех данных абонентов
curl 'http://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=api_users' \
--cookie 'noses=OIcU//chVAcIQH1AX158Ww'
В ответе:
- dopdata - дополнительные поля учетной записи
- services - активные услуги
- next_title - имя услуги, которая будет подключена после завершения текущей
- next_service_id - id услуги, которая будет подключена после завершения текущей
- set_next_time - время, когда в последний раз была заказана смена услуги (null если не было заказов)
- last_traf - время последней активности по трафику
- last_auth - время последней активности по авторизации