API: відмінності між версіями

Матеріал з NoDeny
Перейти до навігації Перейти до пошуку
Рядок 44: Рядок 44:


<source lang="bash">
<source lang="bash">
curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?' --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main' --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"
</source>
</source>



Версія за 13:36, 8 червня 2016

API запросы выполняются по http(s)-протоколу, в ответ приходит json Если в ответе присутствует ключ error - произошла ошибка

Тестировать API можно с консоли, например:

curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl'

В ответ приходит сообщение об ошибке "запрос не авторизован":

{
   "error" : "unauthorized"
}

Необходимо сперва залогиниться под логином и паролем пользователя и получить идентификатор сессии, который использовать в cookie в последующих запросах

Авторизация

Логин: test email Пароль: 123

curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?_mod=external&_uu=test%20email&_pp=123'

Если логин и пароль верные, приходит ответ:

{
   "ses" : "hHuidO6MqAwTcqO/nZF4Qg",
   "data" : {
      "trust" : 1,
      "id" : "357",
      "role" : "user"
   },
   "result" : "auth ok"
}

Нас интересует параметр ses, который необходимо посылать во всех запросах в cookie с именем noses

Получение данных пользователя

curl 'https://app.nodeny-plus.com.ua/cgi-bin/noapi.pl?a=u_main' --cookie "noses=hHuidO6MqAwTcqO/nZF4Qg"

В полученных данных:

   usr: данные пользователя
   messages: сообщения для пользователя
   services: услуги, подключенные пользователю
   tmp_pays: кредиты
   last_pay: данные по последнему платежу

Например, клиенту послано одно сообщение:

"messages" : [
         {
            "timestamp" : "1465391425",
            "text" : "Здравствуйте. Это тестовое сообщение",
            "time" : "Сегодня в 16:10",
            "id" : "4344",
            "lang_code" : "msg_from_adm"
         }
      ]

Здесь:

  lang_code:
     msg_from_adm - сообщение от администрации
     change_srv_order_u - клиент заказал услугу
     change_srv_order - заказал клиенту услугу кто-то иной (администратор, например)