# 웹훅 이용하기

프릭스에서 제공하는 웹훅 이벤트 목록입니다.

워크스페이스 내 "설정 메뉴 > 웹훅 관리"에서 웹훅을 관리할 수 있습니다.

* 직접 원하는 이벤트에 맞게 웹훅을 추가할 수 있습니다.
* 원하는 계약 태그를 선택하여 해당 태그가 붙은 계약서 이벤트에만 웹훅을 발송할 수 있습니다. (태그 필터 미등록 시 모든 이벤트 발송)
* 웹훅 로그 목록을 확인할 수 있습니다.

<br>

## 웹훅 태그 필터

**계약서 이벤트**(`CONTRACT_CREATED`, `SIGNATURE_*` 이벤트 포함)에 대해 특정 계약 태그를 선택하여 웹훅을 등록할 수 있습니다.

### 태그 필터의 동작 방식

* **태그 미등록**: 웹훅이 모든 계약서 이벤트를 수신합니다.
* **태그 등록**: 해당 태그가 붙은 계약서 이벤트에만 웹훅이 발송됩니다.
* **다중 태그 등록**: 등록된 태그 중 **하나 이상**이 계약서에 붙어있으면 웹훅이 발송됩니다

### 태그 필터 제약사항

* **영업문서 이벤트**(`DOCUMENT_*`)와 태그 필터는 함께 사용할 수 없습니다.
  * 영업문서에는 태그가 없기 때문에, 웹훅 UI에서 영업문서 이벤트를 선택하면 태그 입력 필드가 자동으로 숨겨집니다.
  * 계약서 이벤트와 영업문서 이벤트를 함께 선택한 경우, 혼합된 상태에서도 태그 필터링이 불가능합니다.

<br>

## (1) 웹훅 이벤트 타입

웹훅으로 등록할 수 있는 이벤트 타입은 아래와 같습니다.

| 이벤트 타입                  | 설명                                                         | 카테고리 |
| ----------------------- | ---------------------------------------------------------- | ---- |
| CONTRACT\_CREATED       | 계약서 등록 이벤트입니다.                                             | 계약서  |
| SIGNATURE\_CREATED      | 전자서명 생성 이벤트입니다.                                            | 전자서명 |
| SIGNATURE\_CONCLUDED    | 모든 참여자가 서명을 완료하여 계약이 체결되는 이벤트입니다.                          | 전자서명 |
| SIGNATURE\_PARTICIPATED | 개별 전자서명 참여자의 서명 완료 이벤트입니다.                                 | 전자서명 |
| SIGNATURE\_EXPIRED      | 전자서명이 체결되지 않고 만료된 경우, 만료일 다음날 오전 11시에 호출되는 전자서명 만료 이벤트입니다. | 전자서명 |
| DOCUMENT\_CREATED       | 영업문서 생성 완료 이벤트입니다.                                         | 영업문서 |

<br>

## (2) 계약서 카테고리 웹훅 이벤트 본문

계약서 카테고리의 웹훅 요청의 Body 예시입니다.

```json
{
  "eventType": "CONTRACT_CREATED",
  "createdAt": "2024-11-15T00:00:00.000Z",
  "contract": {
    "uuid": "ed976505-bcbd-47bd-913d-f4cde05dea7a", // 문서 식별값 (uuid 값을 api에서 사용)
    "title": "A컴퍼니 MOU", // 계약서 이름
    "status": "CREATED", // 계약 상태 (CREATED, CONCLUDED)
    "createdAt": "2024-11-15T00:00:00.000Z",
    "tagIds": [1, 3], // 계약서에 붙은 태그 ID 목록 (태그 필터 등록 시에만 포함)
    "tagNames": ["production", "important"] // 계약서에 붙은 태그 이름 목록 (태그 필터 등록 시에만 포함)
  }
}
```

> **참고**: `tagIds`와 `tagNames`는 웹훅 등록 시 태그를 선택한 경우에만 payload에 포함됩니다.

<br>

## (3) 전자서명 카테고리 웹훅 이벤트 본문

전자서명 카테고리의 웹훅 요청의 Body 예시입니다.

```json
{
  "eventType": "SIGNATURE_CREATED",
  "createdAt": "2024-11-15T00:00:00.000Z",
  "contract": {
    "uuid": "ed976505-bcbd-47bd-913d-f4cde05dea7a", // 문서 식별값 (uuid 값을 api에서 사용)
    "title": "A컴퍼니 MOU", // 계약서 이름
    "status": "CREATED", // 계약 상태 (CREATED, CONCLUDED)
    "createdAt": "2024-11-01T00:00:00.000Z",
    "tagIds": [1, 3], // 계약서에 붙은 태그 ID 목록 (태그 필터 등록 시에만 포함)
    "tagNames": ["production", "important"] // 계약서에 붙은 태그 이름 목록 (태그 필터 등록 시에만 포함)
  },
  "signature": {
    "uuid": "57139f5c-37d0-4c30-bdb6-ef6106040756", // 전자서명 식별자
    "title": "A컴퍼니 MOU 서명 요청", // 전자서명 이름
    "status": "WAITING", // 상태 (WAITING, DONE, CANCELED / WAITING은 서명 요청 후 대기 상태를 의미)
    "createdAt": "2024-11-15T00:00:00.000Z"
  }
}
```

<br>

## (4) 영업문서 카테고리 웹훅 이벤트 본문

영업문서 카테고리의 웹훅 요청의 Body 예시입니다.

```json
{
  "eventType": "DOCUMENT_CREATED",
  "createdAt": "2024-11-15T00:00:00.000Z",
  "document": {
    "id": 1,
    "uuid": "ed976505-bcbd-47bd-913d-f4cde05dea7a", // 문서 식별값 (uuid 값을 api에서 사용)
    "title": "A컴퍼니 영업문서", // 영업문서 이름
    "status": "CREATED", // 영업문서 상태 (CREATED, SENT, APPROVED, DELETED)
    "createdAt": "2024-11-01T00:00:00.000Z",
    "updatedAt": "2024-11-01T00:00:00.000Z"
  }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://api-kit.prix.im/webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
