Формат взаимодействия
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
Результат запроса
Результат запроса представляет собой объект следующего содержания: