Перейти к содержимому
FastOffice

Объекты запросов и ответов

Минимальная последовательность команд, обязательные и рекомендуемые поля запроса, envelope ответа и обработка ошибок.

Каждое сообщение — обычный JSON-объект. Поле id выбирает клиент; Rust возвращает его без изменения. Поэтому ответы можно сопоставлять с запросами даже при параллельной работе.

{"id":"ping-1","cmd":"ping"}
{"id":"open-1","cmd":"open","path":"/absolute/input.docx","document_id":"my-document"}
{"id":"model-1","cmd":"model"}
{"id":"insert-1","cmd":"mutate","operation_kind":"insert-text","paragraph_index":0,"offset":0,"text":"Привет из API. ","document_id":"my-document","transaction_order":1,"transition_kind":"api-insert"}
{"id":"save-1","cmd":"save","path":"/absolute/output.docx"}
{"id":"shutdown-1","cmd":"shutdown"}
Поле Назначение Правило
id Корреляция запроса и ответа Уникально в пределах активных запросов
cmd Имя команды сессии Одно из supported_commands bootstrap
path Входной или выходной файл Только абсолютный путь
document_id Стабильная идентичность документа Передавайте в open и мутациях
transaction_order Порядок изменений Монотонно растёт: 1, 2, 3…
transition_kind Причина/тип перехода Короткая диагностическая метка
operation_kind Семантическая операция Например insert-text
// Успех
{"id":"ping-1","ok":true,"cmd":"ping","elapsed_ms":0,"result":{"pong":true}}
// Ошибка
{"id":"bad-1","ok":false,"cmd":"mutate","elapsed_ms":0,"error":"..."}

ШАГ 4

Ассистент документации

Ответ собран из документации и может быть неточным — сверяйтесь с источниками.