> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Struktur data elemen block

> Pelajari struktur pohon dan aturan penyusunan bertingkat elemen block dokumen online DingTalk, mencakup InlineElement, struktur data umum, serta daftar lengkap enum Emoji.

Dokumen online adalah sebuah pohon yang tersusun dari beberapa elemen block. Tipe BlockElement yang berbeda dapat menyusun tipe elemen yang berbeda di dalamnya. Misalnya, block Callout dapat menyusun `BlockElement` apa pun, tetapi block Paragraph hanya dapat menyusun InlineElement.

Struktur data dari sebuah elemen block adalah sebagai berikut:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": enum(BlockType),             // Tipe elemen block. Lihat enum `BlockType` di bagian bawah dokumen ini.
  /**
   * Berikut ini adalah semua tipe Block yang didukung, seperti Heading dan Paragraph.
   * Setiap tipe Block memiliki property-nya sendiri.
  */
  "blockquote": Object(Callout),
  "callout": Object(Callout),
  "columns": Object(Columns),
  "heading": Object(Heading),
  "paragraph": Object(Paragraph),
  "orderedList": Object(OrderedList)
  "unorderedList": Object(UnorderedList),
  "table": Object(Table),
  // Setiap tipe Block memiliki BlockChildren yang didukungnya sendiri. Lihat deskripsi `children` pada setiap tipe Block.

  "children": BlockChildren[ ],

}
```

## Struktur data elemen block

Dokumen online adalah struktur pohon yang tersusun dari beberapa **elemen block**. Tipe elemen block yang berbeda mendukung tipe elemen anak bertingkat yang berbeda:

* `children` dari `callout` dan `columns` harus berupa **array BlockElement**.
* `children` dari `paragraph`, `heading`, `orderedList`, `unorderedList`, dan `blockquote` harus berupa **array InlineElement**.
* `table` saat ini tidak mendukung penentuan `children`.

### Enum BlockType

| Nilai enum    | Deskripsi                                  |
| ------------- | ------------------------------------------ |
| paragraph     | Block paragraf.                            |
| heading       | Block heading.                             |
| blockquote    | Block kutipan.                             |
| callout       | Block callout.                             |
| columns       | Block kolom.                               |
| orderedList   | Block Daftar Bernomor.                     |
| unorderedList | Block Daftar Berpoin.                      |
| table         | Block Spreadsheet.                         |
| tableRow      | Block baris tabel (anak dari block tabel). |
| tableCell     | Block sel tabel (anak dari block tabel).   |

> Tipe elemen yang tidak didukung secara seragam mengembalikan `Undefined`.

### Paragraph

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "paragraph",
  "paragraph": {
    "text": "Konten teks paragraf",
    "indent": { "left": 32 },
    "folded": false
  },
  "children": [InlineElement]
}
```

| Nama field | Tipe           | Wajib | Deskripsi                                                                                                 |
| ---------- | -------------- | ----- | --------------------------------------------------------------------------------------------------------- |
| text       | string         | Tidak | Konten teks paragraf.                                                                                     |
| indent     | object(Indent) | Tidak | Nilai indentasi. `left` harus berupa integer lebih besar dari 0.                                          |
| folded     | boolean        | Tidak | Apakah paragraf dilipat (melipat elemen block dengan nilai indentasi lebih besar dari paragraf saat ini). |

* `children`: **array InlineElement**.
* Object `paragraph` **tidak boleh dihilangkan**. Ketika konten kosong, kirim `{}`.

### Heading

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "heading",
  "heading": {
    "level": 1,
    "text": "Heading level 1"
  },
  "children": [InlineElement]
}
```

| Nama field | Tipe          | Wajib | Deskripsi                                                                    |
| ---------- | ------------- | ----- | ---------------------------------------------------------------------------- |
| text       | string        | Tidak | Konten teks heading.                                                         |
| level      | integer(enum) | Tidak | Level heading. Rentang nilai: `1` hingga `6`. 1 menunjukkan heading level 1. |

* `children`: **array InlineElement**.

### Quote

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "blockquote",
  "blockquote": {
    "text": "Konten yang dikutip",
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| Nama field | Tipe           | Wajib | Deskripsi                 |
| ---------- | -------------- | ----- | ------------------------- |
| text       | string         | Tidak | Teks di dalam kutipan.    |
| indent     | object(Indent) | Tidak | Nilai indentasi tertentu. |

* `children`: **array InlineElement**.

### Block callout

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "callout",
  "callout": {
    "sticker": "灯泡",
    "showstk": true,
    "color": "#333333",
    "border": "#FFD700",
    "bgcolor": "#FFF9C4"
  },
  "children": [BlockElement]
}
```

| Nama field | Tipe               | Wajib | Deskripsi                                                                                |
| ---------- | ------------------ | ----- | ---------------------------------------------------------------------------------------- |
| sticker    | string(enum Emoji) | Tidak | Kode emoji. Lihat [Nilai enum Emoji](/id/open/development/enumeration-values-of-emojis). |
| showstk    | boolean            | Tidak | Apakah emoji ditampilkan.                                                                |
| color      | string             | Tidak | Warna teks.                                                                              |
| border     | string             | Tidak | Warna border.                                                                            |
| bgcolor    | string             | Tidak | Warna latar belakang.                                                                    |

* `children`: **array BlockElement** (InlineElement tidak diizinkan).

### Columns

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "columns",
  "columns": {
    "size": 2,
    "noFill": false
  },
  "children": [BlockElement]
}
```

| Nama field | Tipe    | Wajib | Deskripsi                                          |
| ---------- | ------- | ----- | -------------------------------------------------- |
| size       | number  | Tidak | Jumlah kolom.                                      |
| noFill     | boolean | Tidak | Apakah warna latar belakang diisi secara otomatis. |

* `children`: **array BlockElement** (InlineElement tidak diizinkan).

### Daftar Bernomor

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "orderedList",
  "orderedList": {
    "list": {
      "listId": "list-001",
      "level": 0,
      "listStyleType": "decimal",
      "listStyle": {
        "format": "decimal",
        "text": "%1.",
        "align": "left"
      },
      "symbolStyle": {
        "bold": false
      }
    },
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| Nama field | Tipe               | Wajib | Deskripsi                                                             |
| ---------- | ------------------ | ----- | --------------------------------------------------------------------- |
| list       | object(ListObject) | Ya    | Atribut spesifik Daftar Bernomor. Lihat [ListObject](#e6621bc176irg). |
| indent     | object(Indent)     | Tidak | Nilai indentasi. `left` harus berupa integer lebih besar dari 0.      |

* `children`: **array InlineElement**.

### Daftar Berpoin

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "unorderedList",
  "unorderedList": {
    "list": {
      "listId": "list-002",
      "level": 0,
      "listStyleType": "disc",
      "listStyle": {
        "format": "disc",
        "text": "%1",
        "align": "left"
      },
      "symbolStyle": {
        "bold": false
      }
    },
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| Nama field | Tipe               | Wajib | Deskripsi                                                            |
| ---------- | ------------------ | ----- | -------------------------------------------------------------------- |
| list       | object(ListObject) | Ya    | Atribut spesifik Daftar Berpoin. Lihat [ListObject](#e6621bc176irg). |
| indent     | object(Indent)     | Tidak | Nilai indentasi. `left` harus berupa integer lebih besar dari 0.     |

* `children`: **array InlineElement**.

### Spreadsheet

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "table",
  "table": {
    "rolSize": 3,
    "colSize": 4,
    "cells": [
      ["Baris1-Kol1", "Baris1-Kol2", "Baris1-Kol3", "Baris1-Kol4"],
      ["Baris2-Kol1", "Baris2-Kol2", "Baris2-Kol3", "Baris2-Kol4"],
      ["Baris3-Kol1", "Baris3-Kol2", "Baris3-Kol3", "Baris3-Kol4"]
    ]
  }
}
```

| Nama field | Tipe         | Wajib | Deskripsi                                         |
| ---------- | ------------ | ----- | ------------------------------------------------- |
| rolSize    | number       | Ya    | Jumlah baris.                                     |
| colSize    | number       | Ya    | Jumlah kolom.                                     |
| cells      | String\[]\[] | Tidak | Konten teks sel. Sebuah array String dua dimensi. |

* `children`: **Tidak didukung**. Penentuan children saat ini tidak diizinkan.

## Struktur data InlineElement

Elemen inline digunakan dalam `children` dari elemen block berbasis teks (paragraf, heading, daftar, dan sebagainya).

### Enum InlineType

| Nilai enum | Deskripsi |
| ---------- | --------- |
| text       | Teks.     |
| sticker    | Emoji.    |
| image      | Gambar.   |
| link       | Tautan.   |

### Text

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "text": "Teks merah tebal",
  "sz": 16,
  "color": "red",
  "highlight": "yellow",
  "bold": true,
  "italic": false,
  "stike": false,
  "underline": false,
  "fonts": "monospace"
}
```

| Nama field | Tipe               | Wajib | Deskripsi                                                                                                                                                                                                                                                                                                                          |
| ---------- | ------------------ | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| text       | string             | Ya    | Konten teks.                                                                                                                                                                                                                                                                                                                       |
| sz         | number             | Tidak | Ukuran font (satuan default: px).                                                                                                                                                                                                                                                                                                  |
| color      | string             | Tidak | Warna teks.                                                                                                                                                                                                                                                                                                                        |
| highlight  | string             | Tidak | Warna latar belakang sorotan.                                                                                                                                                                                                                                                                                                      |
| bold       | boolean            | Tidak | Apakah menerapkan tebal.                                                                                                                                                                                                                                                                                                           |
| italic     | boolean            | Tidak | Apakah menerapkan miring.                                                                                                                                                                                                                                                                                                          |
| stike      | boolean            | Tidak | Apakah menerapkan coret.                                                                                                                                                                                                                                                                                                           |
| underline  | boolean            | Tidak | Apakah menerapkan garis bawah.                                                                                                                                                                                                                                                                                                     |
| fonts      | string(enum Fonts) | Tidak | Font. Nilai enum:   - **monospace**: monospace font - **STSong**: STSong - **Microsoft YaHei**: Microsoft YaHei - **FangSong\_GB2312**: FangSong GB2312 - **Helvetica**: Helvetica - **Helvetica Neue**: Helvetica Neue - **Consolas**: Consolas - **宋体**: SimSun - **Impact**: Impact - **sanrif**: sanrif - **Calibri**: Calibri |

### Emoji

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "sticker",
  "properties": {
    "code": "大笑"
  }
}
```

| Nama field | Tipe               | Wajib | Deskripsi                                                                                |
| ---------- | ------------------ | ----- | ---------------------------------------------------------------------------------------- |
| code       | string(enum Emoji) | Ya    | Kode emoji. Lihat [Nilai enum Emoji](/id/open/development/enumeration-values-of-emojis). |

### Image

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "image",
  "properties": {
    "src": "https://example.com/image.jpg"
  }
}
```

| Nama field | Tipe   | Wajib | Deskripsi               |
| ---------- | ------ | ----- | ----------------------- |
| src        | string | Tidak | URL sumber daya gambar. |

### Link

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "link",
  "properties": {
    "href": "https://example.com"
  },
  "children": [
    { "text": "Klik untuk membuka tautan" }
  ]
}
```

| Nama field | Tipe   | Wajib | Deskripsi   |
| ---------- | ------ | ----- | ----------- |
| href       | string | Tidak | URL tautan. |

* `children`: **array Text**. Saat menyisipkan tautan, `children` harus ditentukan dan berisi setidaknya satu node teks yang `text`-nya tidak kosong.

## Struktur data umum

### Indent

| Nama field | Tipe   | Wajib | Deskripsi                                                                                               | Contoh |
| ---------- | ------ | ----- | ------------------------------------------------------------------------------------------------------- | ------ |
| left       | number | Tidak | Nilai indentasi tertentu. Harus berupa integer lebih besar dari 0, jika tidak akan mengembalikan error. | `32`   |

***

### ListObject

| Nama field    | Tipe                | Wajib | Deskripsi                                                                                                                                                                         |
| ------------- | ------------------- | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| listId        | string              | Tidak | ID dari daftar saat ini. Saat menyisipkan Daftar Bernomor bertingkat, pastikan `listId` konsisten di seluruh grup daftar bertingkat yang sama, jika tidak tampilannya akan salah. |
| level         | number              | Ya    | Tingkat daftar (dimulai dari 0).                                                                                                                                                  |
| listStyleType | string              | Ya    | Tipe gaya daftar.                                                                                                                                                                 |
| listStyle     | object(ListStyle)   | Ya    | Gaya daftar tertentu. Lihat [ListStyle](#bad921c2ebc3h).                                                                                                                          |
| symbolStyle   | object(SymbolStyle) | Tidak | Gaya simbol daftar. Lihat [SymbolStyle](#b16d5427cbutg).                                                                                                                          |

***

### ListStyle

| Nama field | Tipe   | Wajib | Deskripsi                                         |
| ---------- | ------ | ----- | ------------------------------------------------- |
| format     | string | Ya    | Format Daftar Berpoin.                            |
| text       | string | Ya    | Teks.                                             |
| align      | string | Ya    | Perataan, seperti `left`, `center`, atau `right`. |

***

### SymbolStyle

| Nama field | Tipe    | Wajib | Deskripsi                                   |
| ---------- | ------- | ----- | ------------------------------------------- |
| sz         | number  | Tidak | Ukuran font simbol Daftar Berpoin.          |
| shd        | string  | Tidak | Warna latar belakang simbol Daftar Berpoin. |
| fonts      | string  | Tidak | Format font simbol Daftar Berpoin.          |
| color      | string  | Tidak | Warna font simbol Daftar Berpoin.           |
| bold       | boolean | Tidak | Apakah menerapkan tebal.                    |
| strike     | boolean | Tidak | Apakah menampilkan coret.                   |
| italic     | boolean | Tidak | Apakah menampilkan miring.                  |

***

## Nilai enum Emoji (daftar lengkap kode emoji)

Nilai enum berikut dapat digunakan untuk `callout.sticker` dan elemen emoji inline `sticker.properties.code`.

| Emoji                          | Emoji                            | Emoji                            | Emoji                                |
| ------------------------------ | -------------------------------- | -------------------------------- | ------------------------------------ |
| `优先级: 1`  // Prioritas: 1      | `优先级: 2`  // Prioritas: 2        | `优先级: 3`  // Prioritas: 3        | `优先级: 4`  // Prioritas: 4            |
| `优先级: 5`  // Prioritas: 5      | `优先级: 6`  // Prioritas: 6        | `优先级: 7`  // Prioritas: 7        | `进度: 未开始`  // Progres: Belum dimulai |
| `进度: 20%`  // Progres: 20%     | `进度: 40%`  // Progres: 40%       | `进度: 50%`  // Progres: 50%       | `进度: 70%`  // Progres: 70%           |
| `进度: 90%`  // Progres: 90%     | `进度: 已完成`  // Progres: Selesai   | `微笑`  // Senyum                  | `憨笑`  // Cengengesan                 |
| `大笑`  // Tertawa               | `加油`  // Semangat                | `色`  // Ngiler                   | `偷笑`  // Terkikik                    |
| `跳舞`  // Menari                | `捂脸哭`  // Menutup wajah menangis | `笑哭`  // Tertawa sampai menangis | `流泪`  // Menitikkan air mata         |
| `疑问`  // Bertanya              | `傻笑`  // Senyum konyol           | `流鼻血`  // Mimisan                | `狗子`  // Anjing                      |
| `赞`  // Jempol                 | `OK`                             | `抱拳`  // Menangkupkan tangan     | `向上`  // Ke atas                     |
| `向下`  // Ke bawah              | `向左`  // Ke kiri                 | `向右`  // Ke kanan                | `资料`  // Profil                      |
| `本子`  // Buku catatan          | `笔记本`  // Laptop                 | `折线图`  // Garis                  | `柱状图`  // Kolom                      |
| `羽毛笔`  // Pena bulu            | `钢笔`  // Pena                    | `警告`  // Peringatan              | `问号`  // Tanda tanya                 |
| `禁止`  // Dilarang              | `禁行`  // Dilarang masuk          | `锁`  // Kunci                    | `气泡`  // Balon ucapan                |
| `沙漏`  // Jam pasir             | `公文包`  // Tas kerja              | `火箭`  // Roket                   | `火`  // Api                          |
| `奖牌`  // Medali                | `灯泡`  // Bohlam                  | `钉子`  // Paku                    | `旗子`  // Bendera                     |
| `茶`  // Teh                    | `休假`  // Cuti                    | `气球`  // Balon                   | `锦鲤`  // Ikan koi                    |
| `咖啡`  // Kopi                  | `奶茶`  // Teh susu                | `调色板`  // Palet                  | `感谢`  // Terima kasih                |
| `打招呼`  // Melambai             | `666`                            | `握手`  // Berjabat tangan         | `胜利`  // Kemenangan                  |
| `一点点`  // Sedikit              | `鼓掌`  // Bertepuk tangan         | `送花花`  // Mengirim bunga         | `比心`  // Hati dengan jari            |
| `加一`  // +1                    | `100分`  // Nilai 100             | `KPI`                            | `对勾`  // Centang                     |
| `爱心`  // Hati                  | `可爱`  // Lucu                    | `发呆`  // Melamun                 | `老板`  // Bos                         |
| `害羞`  // Malu                  | `闭嘴`  // Diam                    | `睡`  // Tidur                    | `大哭`  // Menangis keras              |
| `尴尬`  // Canggung              | `调皮`  // Nakal                   | `惊讶`  // Terkejut                | `流汗`  // Berkeringat                 |
| `广播`  // Siaran                | `自信`  // Percaya diri            | `你强`  // Kamu hebat              | `怒吼`  // Mengaum                     |
| `惊愕`  // Tercengang            | `快哭了`  // Hampir menangis        | `无聊`  // Bosan                   | `吐`  // Muntah                       |
| `算账`  // Menghitung utang      | `晕`  // Pusing                   | `摸摸`  // Mengelus                | `飞吻`  // Kirim ciuman                |
| `鄙视`  // Meremehkan            | `嘘`  // Sst                      | `思考`  // Berpikir                | `亲亲`  // Ciuman                      |
| `感冒`  // Flu                   | `对不起`  // Maaf                   | `再见`  // Selamat tinggal         | `投降`  // Menyerah                    |
| `哼`  // Hmph                   | `欠扁`  // Cari gara-gara          | `坏笑`  // Senyum licik            | `拜托`  // Tolong                      |
| `可怜`  // Kasihan               | `舒服`  // Nyaman                  | `爱意`  // Cinta                   | `财迷`  // Pencinta uang               |
| `迷惑`  // Bingung               | `PK`                             | `委屈`  // Merasa dizalimi         | `灵感`  // Inspirasi                   |
| `天使`  // Malaikat              | `鬼脸`  // Wajah hantu             | `凄凉`  // Suram                   | `郁闷`  // Muram                       |
| `吃瓜`  // Menonton drama        | `嘿嘿`  // Hehe                    | `抠鼻`  // Mengorek hidung         | `呲牙`  // Senyum lebar                |
| `彩虹`  // Pelangi               | `耶`  // Yay                      | `捂眼睛`  // Menutup mata           | `推眼镜`  // Membetulkan kacamata       |
| `暗中观察`  // Mengamati diam-diam | `开心`  // Senang                  | `惊喜`  // Kejutan                 | `回头`  // Menoleh                     |
| `发怒`  // Marah                 | `忍者`  // Ninja                   | `衰`  // Sial                     | `脑暴`  // Curah gagasan               |
| `冷笑`  // Senyum sinis          | `黑眼圈`  // Lingkaran hitam mata   | `恭喜`  // Selamat                 | `费解`  // Bingung                     |
| `收到`  // Diterima              | `炸弹`  // Bom                     | `白眼`  // Memutar mata            | `一团乱麻`  // Kekacauan                 |
| `无奈`  // Tak berdaya           | `敲打`  // Mengetuk                | `专注`  // Fokus                   | `忙疯了`  // Sibuk sekali               |
| `鞠躬`  // Membungkuk            | `摊手`  // Mengangkat bahu         | `抱抱`  // Memeluk                 | `举手`  // Mengangkat tangan           |
| `跪了`  // Berlutut              | `猫咪`  // Kucing                  | `二哈`  // Husky                   | `三多`  // Sanduo                      |
| `承让`  // Kamu mengalah         | `撒花`  // Konfeti                 | `邮件`  // Email                   | `文档`  // Dokumen                     |
| `演示`  // Presentasi            | `表格`  // Spreadsheet             | `生日快乐`  // Selamat ulang tahun   | `心碎`  // Patah hati                  |
| `红包`  // Amplop merah          | `嘴唇`  // Bibir                   | `鲜花`  // Bunga segar             | `残花`  // Bunga layu                  |
| `干杯`  // Bersulang             | `出差`  // Perjalanan dinas        | `时间`  // Waktu                   | `福`  // Keberuntungan                |
| `月饼`  // Kue bulan             | `礼物`  // Hadiah                  | `幼苗`  // Tunas                   | `烟花`  // Kembang api                 |
| `灯笼`  // Lampion               | `爆竹`  // Petasan                 | `鸡腿`  // Paha ayam               | `高铁`  // Kereta cepat                |
| `三连`  // Kombinasi tiga        | `OKR`                            | `Done`                           |                                      |

***
