13.5.5 Асинхронное использование API
Метод для асинхронного получения ответов с использованием асинхронного эндпоинта .../async/.req:
Список недоступных методов для async запросов:
local-authad-authtaskdesktop-connect
Запрос:
{
"jsonrpc": "2.0",
"method": "version",
"id": "1f8afbfc-f974-4dda-b72e-6a193e45163c"
}
Успешный ответ:
{
"jsonrpc": "2.0",
"id": "1f8afbfc-f974-4dda-b72e-6a193e45163c",
"result": {
"code": 999,
"message": "Request queued"
}
}
Вызов task(), eсли исходный запрос не был ещё обработан, то поле result->data->replied будет содержать false, а поле result->data->response будет иметь значение null.
Запрос:
{
"jsonrpc": "2.0",
"method": "task",
"params": {
"id": "1f8afbfc-f974-4dda-b72e-6a193e45163c"
},
"id": "e57cc331-d28b-439b-a288-458648e178aa"
}
Успешный ответ:
{
"jsonrpc": "2.0",
"id": "e57cc331-d28b-439b-a288-458648e178aa",
"result": {
"code": 1,
"data": {
"method": "version",
"replied": true,
"reply_time": 1735322132,
"request": {
"id": "35a662ab-7d23-41f3-bcbe-e28de9e37afc",
"jsonrpc": "2.0",
"method": "version",
"params": {
"api_version": 3,
"origin_url": "https://federation.z.vstack.com/.req"
}
},
"response": {
"id": "35a662ab-7d23-41f3-bcbe-e28de9e37afc",
"jsonrpc": "2.0",
"result": {
"code": 1,
"data": {
"build_date": 1735322105,
"cargo_pkg_version": "1.0.0",
"git_hash": "17fd45cccf48459192f694d21141417f4388a5af"
}
}
},
"sync_req": true,
"ts": 1735322131
}
}
}