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

Как устроен сеанс API

Транспорт, жизненный цикл сеанса и fail-closed обработка отказов.

CLI запускается с аргументом –session. Он пишет одну JSON-строку готовности в stdout. Затем клиент отправляет по одной JSON-строке в stdin и получает по одной JSON-строке ответа из stdout.

const child = spawn(binary, ["--session"], {
stdio: ["pipe", "pipe", "inherit"],
});
child.stdin.write(JSON.stringify(request) + "\n");
Шаг Что сохранять Почему
open_workbook_subset payload.subsetId Идентифицирует книгу в этом процессе
open_workbook_subset payload.activeSheet.path Это sheetKey для мутаций
apply_cell_edits payload.workbookHistory.revision Новая принятая ревизия
каждый ответ ok / code / payload Ошибки типизированы; нельзя рисовать успех при ok=false
save_workbook_subset destinationUri Абсолютный file:// URI выходного файла
if (!response.ok) {
throw new Error(response.code + ": " + JSON.stringify(response));
}

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

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