Формат протокола JSON-RPC в API

Формат протокола JSON-RPC в API

Протокол передачи между вашей информационной системой (ИС) и сервером использует json-формат, который поддерживает спецификацию JSON-RPC v2.0. Все дополнительные типы данных описываются отдельно, дополняя типы данных в спецификации.

Запросы должны выполняться с использованием кодировки UTF-8.

Объект запроса в JSON-RPC v2.0

По стандарту json-объект запроса должен содержать параметры:

  • "jsonrpc" со значением"2.0", версия спецификации JSON-RPC;
  • method со значением метода бизнес-логики;
  • params с объектом передаваемых параметров;
  • id со строковым или целочисленным значением.

Объект ответа в JSON-RPC v2.0

Json-объект ответа должен содержать значения:

  • "jsonrpc" — версия спецификации JSON-RPC;
  • id со строковым или целочисленным значением, аналогично объекту запроса;
  • error — выводится при ошибке;
  • result — результат выполнения методов. Не имеет четкого формата. Например, если метод вернул null, то в json-объекте ответа появится "result":null.

Объект ошибки в JSON-RPC v2.0

Объект ошибки содержит поля:

  • code — целочисленный код ошибки;
  • message — текстовое сообщение об ошибке;
  • data — опциональный параметр, который в Saby используется для передачи информации о типе исключения и трассировки места возникновения исключения с сервера на клиент;
  • details — параметр, который не показывается пользователю в сообщении, но перед отправкой логируется именно это сообщение с подробным описанием причины проблемы.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.