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

# 이벤트 묶기

> 여러 변경을 이벤트 하나로 합치는 규칙과 전송 시점을 정리합니다.

속성과 본문 이벤트는 바로 전송하지 않습니다. 같은 대상의 같은 종류 변경을 60초 동안 모아 이벤트 하나로 보냅니다.

## 60초 묶기

첫 변경부터 60초가 지나면 이벤트를 전송합니다. 그 사이 변경이 더 있어도 60초는 늘어나지 않습니다. `timestamp`는 첫 변경의 시각입니다.

| 상황 | 결과 |
| - | - |
| 같은 행의 속성 3개를 33초에 걸쳐 고침 | 첫 변경 약 60초 뒤 `page.properties_updated` 하나, `updated_properties`에 속성 3개 |
| 같은 행의 속성과 본문을 함께 고침 | 종류가 달라 이벤트 2개 |
| 같은 문서의 본문을 여러 번 고침 | `page.content_updated` 하나, 블록 ID 합침 |
| 여러 사람이 고침 | `authors`에 작성 순서대로 한 번씩 |
| 속성 이름 · 선택지 · 새 속성을 함께 바꿈 | `data_source.schema_updated` 하나 |

## 바로 전송하는 이벤트

다음 이벤트는 모으지 않습니다. 수 초 안에 전송합니다.

* `page.locked` · `page.unlocked`
* `data_source.content_updated`
* `comment.created` · `comment.updated` · `comment.deleted`

## 합치거나 전송하지 않는 경우

### 만든 직후의 수정

만든 뒤 60초 안에 고친 속성은 `page.created`에 합칩니다. `page.properties_updated`는 전송하지 않고 `authors`만 합칩니다.

| 구독 | 받는 이벤트 |
| - | - |
| `page.created`를 고른 구독 | `page.created` 하나 |
| `page.created` 없이 `page.properties_updated`를 고른 구독 | 만든 뒤의 수정을 `page.properties_updated`로 받습니다. |

만들 때 함께 넣은 값은 어느 구독에도 `page.properties_updated`로 전송하지 않습니다. 본문 변경은 합치지 않고 `page.content_updated`로 따로 전송합니다.

### 값 되돌리기

| 변경 | 결과 |
| - | - |
| 속성 값을 바꿨다가 60초 안에 되돌림 | `updated_properties: []`로 전송합니다. |
| 같은 값을 다시 씀 | 전송하지 않습니다. |
| 속성을 만들고 지우는 등 구조 변경을 60초 안에 되돌림 | 전송하지 않습니다. |
| 본문 블록을 고쳤다가 되돌림 | `updated_blocks`에 그 블록이 들어갑니다. |

### 지우기와 되살리기

| 변경 | 결과 |
| - | - |
| 지우고 60초 안에 되살림 | `page.deleted`와 `page.undeleted` 모두 전송하지 않습니다. 데이터베이스도 같습니다. |
| 지우고 60초가 지난 뒤 되살림 | `page.deleted`와 `page.undeleted`를 차례로 전송합니다. 다시 읽으면 `in_trash: false`입니다. |
| 고치고 60초 안에 지움 | 그 행의 다른 이벤트는 바로 전송하고, `page.deleted`는 삭제 후 60초가 지난 뒤 전송합니다. |

### 하위 문서가 있는 행

휴지통 · 되살리기 · 옮기기는 최상위 대상의 이벤트 하나만 전송합니다. 하위 문서가 있는 행을 지우면 그 행의 `page.deleted` 하나뿐입니다. 하위 문서를 먼저 따로 지운 뒤 행을 지우면 두 이벤트를 모두 전송합니다.

### 구독을 켜기 전의 변경

인증이나 다시 시작 전의 변경은 전송하지 않습니다. 그 뒤의 변경은 앞서 시작된 60초 구간에 들어가도 전송합니다.

## 도착 순서

이벤트는 구독마다 동시에 5개까지 전송합니다. 그래서 도착 순서가 변경 순서와 다를 수 있습니다. 변경이 한꺼번에 많으면 이벤트는 기다렸다가 차례로 전송합니다.

이벤트의 값으로 상태를 판단하지 마세요. 받은 ID로 API를 호출해 현재 값을 읽으세요.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.