Перейти к содержимому
ФреймворкJavaScript

BlockData: полезная нагрузка блока

Структура каждого блока в массиве blocks.

Обновлено 7 окт. 2026 г.Редактировать на GitHub
TypeScript
// Individual block structure
interface OutputBlockData {
  id?: string;        // Unique identifier (auto-generated)
  type: string;       // Tool name (e.g., "paragraph", "header")
  data: object;       // Tool-specific data
  tunes?: { [name: string]: BlockTuneData }; // Optional block tunes/metadata
  parent?: string;    // Id of the parent block (flat-with-references nesting)
  content?: string[]; // Ids of child blocks (flat-with-references nesting)
  indent?: number;    // Nesting/indent level
  lastEditedAt?: number; // Timestamp (ms since epoch) of the last edit — omitted until the block is actually edited
  lastEditedBy?: string; // Id of the user who last edited this block (from user.id config)
}

// Example blocks:
const paragraphBlock: OutputBlockData = {
  id: "p6QK0Xz1Ab",
  type: "paragraph",
  data: { "text": [{ "text": "Hello, world!" }] }
};

const headerBlock: OutputBlockData = {
  id: "hM3lTn9RdC",
  type: "header",
  data: { "text": [{ "text": "Chapter 1" }], "level": 1 }
};

// Each list item is its own block — the list tool saves a single item,
// not an items[] array
const listItemBlock: OutputBlockData = {
  id: "wY7bV2sQ8e",
  type: "list",
  data: {
    "text": [{ "text": "Item 1" }],
    "style": "unordered"
  }
};

OutputBlockData

СвойствоОписание
idstring (optional)

Уникальный идентификатор блока

typestring

Имя типа блока

dataobject

Данные, специфичные для блока

tunes{ [name: string]: BlockTuneData }

Тюны/метаданные блока

parentstring (optional)

Id родительского блока (плоская вложенность со ссылками). На входе нестрогая транспортная форма принимает также null. Это значение трактуется как отсутствие, то есть блок верхнего уровня.

contentstring[] (optional)

Id дочерних блоков (плоская вложенность со ссылками). На входе нестрогая транспортная форма принимает также null или []. Оба значения трактуются как отсутствие, то есть блок без дочерних блоков.

indentnumber (optional)

Уровень вложенности/отступа

lastEditedAtnumber (optional)

Метка времени (мс с начала эпохи) последнего изменения этого блока. Появляется, только когда содержимое блока действительно меняется. Загрузка документа правкой не считается, поэтому просто отрисованный документ сохраняет ровно то, что загрузил. equalsOutputData игнорирует это поле.

lastEditedBystring (optional)

Id пользователя, который последним изменил этот блок (из конфигурации user.id)