|
|
(Не показано 26 проміжних версій цього користувача) |
Рядок 1: |
Рядок 1: |
| API запросы выполняются по http(s)-протоколу, в ответ приходит json | | В NoDeny+ используется два API: |
| Если в ответе присутствует ключ error - произошла ошибка
| |
|
| |
|
| Тестировать API можно с консоли, например:
| | * [[API для платежных терминалов]] |
| | | * [[API абонента|API]] |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl'
| |
| </source>
| |
| | |
| В ответ приходит сообщение об ошибке "запрос не авторизован":
| |
| <source lang="javascript">
| |
| {
| |
| "error" : "unauthorized"
| |
| }
| |
| </source>
| |
| | |
| Необходимо сперва залогиниться под логином и паролем пользователя и получить идентификатор сессии, который использовать в cookie в последующих запросах
| |
| | |
| == Авторизация==
| |
| | |
| Логин: test email
| |
| Пароль: 123
| |
| | |
| <source lang="bash">
| |
| curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?_mod=external&_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
| |
| | |
| ==Получение данных пользователя==
| |
| | |
| <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: услуги, подключенные пользователю
| |
| tmp_pays: кредиты
| |
| last_pay: данные по последнему платежу
| |
| | |
| Например:
| |
| | |
| <source lang="javascript">
| |
| {
| |
| "messages" : [
| |
| {
| |
| "timestamp" : "1465391425",
| |
| "text" : "Здравствуйте. Это тестовое сообщение",
| |
| "time" : "Сегодня в 16:10",
| |
| "id" : "4344",
| |
| "lang_code" : "msg_from_adm"
| |
| }
| |
| ],
| |
| "services" : [
| |
| {
| |
| "service_id" : "33",
| |
| "frozen" : null,
| |
| "text" : "21.01.2016 09:13 подключена услуга: 50 Mb unlim",
| |
| "id" : "1256",
| |
| "title" : "50 Mb unlim",
| |
| "time_start" : "1453360404",
| |
| "time_left" : -11944491,
| |
| "next_service_price" : "10",
| |
| "next_service_id" : "33",
| |
| "next_service_title" : "50 Mb unlim"
| |
| },{
| |
| ...
| |
| }
| |
| }
| |
| </source>
| |
| | |
| Видно, что клиенту отправлено одно сообщение. При этом:
| |
| lang_code:
| |
| msg_from_adm - сообщение от администрации
| |
| change_srv_order_u - клиент заказал услугу
| |
| change_srv_order - заказал клиенту услугу кто-то иной (администратор, например)
| |
| | |
| Также видно, что подключено несколько услуг (2я и последующие заменены на троеточие). next_service_id - id услуги, которая будет подключена когда завершится текущая. Поскольку service_id = next_service_id - будет подключена таже услуга, которая действует в данный момент
| |