Формат взаимодействия
API методы системы SPN24 работают по спецификации JSON-RPC (JavaScript Object Notation Remote Procedure Call)
Все передаваемые данные — простые объекты, сериализованные в JSON. Запрос — вызов определённого метода, предоставляемого удалённой системой. Он должен содержать три обязательных свойства:
- method — Строка с именем вызываемого метода.
 - params — Массив объектов, которые должны быть переданы методу, как параметры.
 - id — Значение любого типа, которое используется для установки соответствия между запросом и ответом.
 
Сервер должен отослать правильный ответ на каждый полученный запрос. Ответ должен содержать следующие свойства:
result — Данные, которые вернул метод. Если произошла ошибка во время выполнения метода, это свойство будет содержать значение NULL
error — Код ошибки, если произошла ошибка во время выполнения метода, иначе NULL
- id — То же значение, что и в запросе, к которому относится данный ответ.
 
Список всех публичных методов API можно найти на этой странице
Пример запроса к серверу
Пример простого запроса к серверу с использованием bash:
   1 QUERY_HOST="https://someserver/path/to/api"
   2 QUERY_ID="833105db-2dbe-d9ba-2ef4-0afe715dfe93"
   3 QUERY_METHOD="Session.signin"
   4 QUERY_HEADER="Content-Type: application/json"
   5 
   6 LOGIN="mylogin"
   7 PASSWORD="mypassword"
   8 
   9 QUERY_BODY="{
  10     'id': '$QUERY_ID',
  11     'method': '$QUERY_METHOD',
  12     'jsonrpc': '2.0',
  13     'params': {
  14         'username': '$LOGIN',
  15         'password': '$PASSWORD',
  16         'is_subagent': true
  17     }
  18 }"
  19 
  20 curl -i -X POST -H $QUERY_HEADER -d $QUERY_BODY $QUERY_HOST
Результат запроса
Результат запроса представляет собой объект следующего содержания: