|
|
(Не показано 8 проміжних версій цього користувача) |
Рядок 1: |
Рядок 1: |
| ==Общая информация==
| | В NoDeny+ используется два API: |
| API запросы выполняются по http(s)-протоколу, в ответ приходит json. Если в ответе присутствует ключ error - произошла ошибка. | |
|
| |
|
| Тестировать API можно с консоли, например:
| | * [[API для платежных терминалов]] |
| | | * [[API абонента|API]] |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl'
| |
| </source>
| |
| | |
| В ответ приходит сообщение об ошибке "запрос не авторизован":
| |
| <source lang="javascript">
| |
| {
| |
| "error" : "Вы не авторизованы",
| |
| "err_cod" : "unauthorized"
| |
| }
| |
| </source>
| |
| | |
| | |
| Вообще, если в ответе API будет присутствовать ключ error - это означает, что произошла ошибка и в данном ключе текст ошибки. В большинстве случаев, данный текст можно показывать абонентам. Может присутствовать ключ err_cod - код ошибки, который не зависит от локализации. Варианты:
| |
| | |
| unauthorized - либо не передана сессия, либо некорректная, либо устарела
| |
| wrong_password - неудачная авторизация
| |
| | |
| Чтобы выполнить API-запрос необходимо сперва залогиниться под логином и паролем пользователя и получить идентификатор сессии, который использовать в cookie в последующих запросах.
| |
| | |
| В cookie в параметре nolang можно указать язык, например, nolang=UA
| |
| | |
| == Авторизация==
| |
| | |
| Логин: test email
| |
| Пароль: 123
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?_uu=test%20email&_pp=123'
| |
| </source>
| |
| | |
| Если логин и пароль верные, приходит ответ:
| |
| | |
| <source lang="javascript">
| |
| {
| |
| "ses" : "hHuidO6MqAwTcqO/nZF4Qg",
| |
| "data" : {
| |
| "trust" : 1,
| |
| "id" : "357",
| |
| "role" : "user"
| |
| },
| |
| "result" : "auth ok"
| |
| }</source>
| |
| | |
| Нас интересует параметр ses, который необходимо посылать во всех запросах в cookie с именем noses
| |
| | |
| Обратите внимание на параметр role - показывает кто авторизовался, админ или пользователь
| |
| | |
| ==Получение данных пользователя==
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main' --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
| |
| </source>
| |
| | |
| В полученном ответе:
| |
| | |
| usr: данные пользователя
| |
| messages: сообщения для пользователя
| |
| services: услуги, подключенные пользователю
| |
| credits: кредиты
| |
| last_pay: данные по последнему платежу
| |
| | |
| Например:
| |
| | |
| <source lang="javascript">
| |
| {
| |
| "messages" : [
| |
| {
| |
| "timestamp" : "1465391425",
| |
| "text" : "Здравствуйте. Это тестовое сообщение",
| |
| "time" : "Сегодня в 16:10",
| |
| "id" : "4344",
| |
| "lang_code" : "msg_from_adm"
| |
| }
| |
| ],
| |
| "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",
| |
| },{
| |
| ...
| |
| }
| |
| }
| |
| </source>
| |
| | |
| Видно, что клиенту отправлено одно сообщение. При этом lang_code может принимать одно из следующих значений:
| |
| | |
| msg_from_adm - сообщение от администрации
| |
| change_srv_order_u - клиент заказал услугу
| |
| change_srv_order - заказал клиенту услугу кто-то иной (администратор, например)
| |
| | |
| Также видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент
| |
| | |
| ==Получение списка сообщений==
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \
| |
| --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
| |
| </source>
| |
| | |
| Параметр category:
| |
| 491 - сообщение от клиента
| |
| 480 - сообщение клиенту
| |
| 481 - сообщение клиенту, клиент ознакомлен
| |
| 482 - сообщение клиенту, блокирующее доступ до ознакомления
| |
| 488 - многоадресное сообщение клиентам
| |
| | |
| ==Отправка сообщения администрации==
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_message' \
| |
| --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg" \
| |
| -X POST -d "msg=У меня не работает интернет"
| |
| </source>
| |
| | |
| | |
| ==История подключений==
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_auth_log' \
| |
| --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
| |
| </source>
| |
| | |
| Если параметр end = 0 - подключение в данный момент активно
| |