# 웹훅 형태

## Payload

<table data-full-width="true"><thead><tr><th width="133">속성</th><th width="79">유형</th><th width="95">필수 여부</th><th>설명</th></tr></thead><tbody><tr><td>event</td><td>string</td><td>Y</td><td>웹훅이 무엇에 대한 내용인지(= 구독 중인 웹훅 이벤트)를 나타냅니다<br><mark style="color:orange;"><code>생성</code>, <code>수정</code>, <code>삭제</code>, <code>병합</code></mark> 중 하나의 값을 가집니다.</td></tr><tr><td>occurredAt</td><td>string</td><td>Y</td><td>해당 이벤트가 언제 발생했는지를 나타냅니다. <br>ISO 8601 형식으로 millisecond까지 표현된 ’YYYY-MM-DDThh:mm:ss.SSSZ’ 형식의 <mark style="color:blue;">string</mark> 값입니다.</td></tr><tr><td>source</td><td>string</td><td>Y</td><td>해당 이벤트가 누구에 의해 발생한 이벤트인지를 나타냅니다. <br><mark style="color:orange;"><code>API</code>, <code>시스템</code>, <code>데이터 가져오기</code>, <code>시퀀스</code>, <code>웹 폼</code>, <code>워크플로우</code>, <code>사용자</code>, <code>고객</code></mark> 중 하나의 값을 가집니다. <br><mark style="color:orange;"><code>API</code></mark> : api 요청에 의해 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>시스템</code></mark> : 시스템 연산에 의해 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>데이터 가져오기</code></mark> : <mark style="color:red;"><code>회사 설정</code>> <code>데이터 가져오기</code></mark>를 한 결과 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>시퀀스</code></mark> : 시퀀스 등록에 의해 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>웹 폼</code></mark> : 웹 폼 제출로 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>워크플로우</code></mark> : 워크플로우에 의해 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>사용자</code></mark> : 사용자가 브라우저를 통해 한 행위에 의해 발생한 웹훅을 의미합니다. <br><mark style="color:orange;"><code>고객</code></mark> : 고객에 의해 발생한 웹훅을 의미합니다. (수신 거부 여부, 수신 거부 사유)</td></tr><tr><td>sourceId</td><td>string</td><td>N</td><td>해당 이벤트가 구체적으로 누구에 의해 발생한 이벤트인지를 나타냅니다. <br>source가 <mark style="color:orange;"><code>API</code></mark> 이면 사용된 API 토큰의 “사용자 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>시스템</code></mark>이면 <mark style="color:blue;">null</mark> 값을 가집니다. <br>source가 <mark style="color:orange;"><code>데이터 가져오기</code></mark>면 데이터 가져오기에 사용된 “파일/스프레드시트 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>시퀀스</code></mark>면 “시퀀스 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>웹 폼</code></mark>이면 “웹 폼 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>워크플로우</code></mark>면 “워크플로우 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>사용자</code></mark>면 “사용자 ID”를 의미합니다. <br>source가 <mark style="color:orange;"><code>고객</code></mark>이면 “고객 ID”를 의미합니다.</td></tr><tr><td>objectType</td><td>string</td><td>Y</td><td>해당 이벤트가 무엇을 나타내는 이벤트인지를 설명합니다. <br><mark style="color:orange;"><code>딜</code>, <code>리드</code>, <code>고객</code>, <code>회사</code></mark> 중 하나의 값을 가집니다.</td></tr><tr><td>customObjectDefinitionId</td><td>string</td><td>N</td><td>커스텀 오브젝트는 사용자가 필요에 따라 여러 종류를 만들 수 있으므로(예: 티켓, 매출 관리, 강좌), 이 값으로 어떤 정의에서 발생한 이벤트인지 구분합니다.<br><mark style="color:orange;"><code>objectType</code></mark> 이 기본 오브젝트(딜, 리드, 고객, 회사)인 경우 이 필드는 포함되지 않습니다.<br><mark style="color:orange;"><code>objectType</code></mark> 이 커스텀 오브젝트인 경우에만 포함되며, 값은 해당 커스텀 오브젝트 정의의 고유 ID입니다.</td></tr><tr><td>objectId</td><td>string</td><td>Y</td><td>해당 이벤트가 구체적으로 무엇을 나타내는 이벤트인지를 설명합니다.<br>objectType이 <mark style="color:orange;"><code>딜</code></mark> 이면 “딜 ID”를 의미합니다. <br>objectType이 <mark style="color:orange;"><code>리드</code></mark> 면 “리드 ID”를 의미합니다. <br>objectType이 <mark style="color:orange;"><code>고객</code></mark> 이면 “고객 ID”를 의미합니다. <br>objectType이 <mark style="color:orange;"><code>회사</code></mark> 면 “회사 ID”를 의미합니다.</td></tr><tr><td>eventId</td><td>string</td><td>Y</td><td>웹훅이 어떤 행위에 의해 발생했는지(= 트리거) 식별하기 위한 값으로, 웹훅이 고유한 값을 가지는 것은 아닙니다. ex) 고객을 생성하면, “event: <mark style="color:orange;"><code>생성</code></mark>”과 “event: <mark style="color:orange;"><code>수정</code></mark>”이 같이 발생하며 이들 웹훅은 “고객 생성”이라는 트리거를 식별하고자 동일한 eventId를 가질 수 있습니다. <br>ex) 고객을 병합하면, “event: <mark style="color:orange;"><code>삭제</code></mark>”과 “event: <mark style="color:orange;"><code>병합</code></mark>”이 같이 발생하며 이들 웹훅은 “고객 병합”이라는 트리거를 식별하고자 동일한 eventId를 가질 수 있습니다.</td></tr><tr><td>fieldName</td><td>string</td><td>N</td><td>event가 <mark style="color:orange;"><code>수정</code></mark>인 경우 값이 존재하며 그 외의 경우 <mark style="color:blue;">undefined</mark> 값을 가집니다. <br>어떤 필드에 대한 수정 웹훅인지를 나타냅니다.</td></tr><tr><td>beforeField</td><td>any</td><td>N</td><td>event가 <code>수정</code>인 경우 값이 존재하며 그 외의 경우 <mark style="color:blue;">undefined</mark> 값을 가집니다. <br>fieldName에 해당하는 필드가 수정되기 전 값을 나타냅니다. <br>- 필드가 <mark style="color:red;"><code>데이터 암호화 사용</code></mark>이 활성화 되어 있으면 <mark style="color:orange;"><code>암호화된 데이터</code></mark> 라는 상수 값을 가집니다. <br>- 필드가 비어 있으면 <mark style="color:blue;">null</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>True / False</code></mark> 유형이면 <mark style="color:blue;">boolean</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>날짜</code></mark> 유형이면 ‘YYYY-MM-DD’ 형식의 <mark style="color:blue;">string</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>날짜 (시간)</code></mark> 유형이면 ‘YYYY-MM-DD 오전/오후 hh시 mm분’ 형식의 <mark style="color:blue;">string</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>숫자</code></mark> 유형이면 <mark style="color:blue;">number</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>텍스트</code></mark> 유형 또는 <mark style="color:red;"><code>단일 선택</code></mark>유형이면 <mark style="color:blue;">string</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>복수 선택</code></mark> 유형이면 <mark style="color:blue;">string[]</mark> 값을 가집니다. <br>- 필드가 <mark style="color:red;"><code>XXX(단일)</code></mark> 유형( <mark style="color:red;"><code>회사 (단일)</code>, <code>고객 (단일)</code>, <code>사용자 (단일)</code></mark> 등)이면 <mark style="color:blue;">{id: string; name: string;}</mark> 값을 가집니다. <br><br>id는 해당 유형의 식별자 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 ID”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 ID”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자ID”를 의미합니다. <br>name은 해당 유형의 이름 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 이름”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 이름”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자이름”을 의미합니다. <br>필드가 <mark style="color:red;"><code>XXX(복수)</code></mark> 유형( <mark style="color:red;"><code>회사 (복수)</code>, <code>고객 (복수)</code>, <code>사용자 (복수)</code></mark> 등)이면 <mark style="color:blue;">{id: string; name: string;}[]</mark> 값을 가집니다. id는 해당 유형의 식별자 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 ID”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 ID”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자ID”를 의미합니다. <br>name은 해당 유형의 이름 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 이름”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 이름”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자이름”을 의미합니다.</td></tr><tr><td>afterField</td><td>any</td><td>N</td><td>event가 <mark style="color:orange;"><code>수정</code></mark>인 경우 값이 존재하며 그 외의 경우 <mark style="color:blue;">undefined</mark> 값을 가집니다. <br>fieldName에 해당하는 필드의 수정된 값을 나타냅니다. <br>필드가 <mark style="color:red;"><code>데이터 암호화 사용</code></mark>이 활성화 되어 있으면 <mark style="color:orange;"><code>암호화된 데이터</code></mark> 라는 상수 값을 가집니다. <br>필드가 비어 있으면 <mark style="color:blue;">null</mark> 값을 가집니다. <br>필드가 <mark style="color:red;"><code>True / False</code></mark> 유형이면 <mark style="color:blue;">boolean</mark> 값을 가집니다. <br>필드가 <mark style="color:red;"><code>날짜</code></mark> 유형이면 ‘YYYY-MM-DD’ 형식의 <mark style="color:blue;">string</mark> 값을 가집니다. <br>필드가 <mark style="color:red;"><code>날짜 (시간)</code></mark> 유형이면 ‘YYYY-MM-DD 오전/오후 hh시 mm분’ 형식의 <mark style="color:blue;">string</mark> 값을 가집니다. <br>필드가 <mark style="color:red;"><code>숫자</code></mark> 유형이면 number 값을 가집니다. <br>필드가 <mark style="color:red;"><code>텍스트</code></mark> 유형 또는 <code>단일 선택</code> 유형이면 string 값을 가집니다. <br>필드가 <mark style="color:red;"><code>복수 선택</code></mark> 유형이면 string[] 값을 가집니다. <br>필드가 <mark style="color:red;"><code>XXX(단일)</code></mark> 유형( <mark style="color:red;"><code>회사 (단일)</code>, <code>고객 (단일)</code>, <code>사용자 (단일)</code></mark> 등)이면 <mark style="color:blue;">{id: string; name: string;}</mark> 값을 가집니다. <br>id는 해당 유형의 식별자 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 ID”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 ID”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자ID”를 의미합니다. <br>name은 해당 유형의 이름 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 이름”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 이름”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자이름”을 의미합니다. <br>필드가 <mark style="color:red;"><code>XXX(복수)</code></mark> 유형( <mark style="color:red;"><code>회사 (복수)</code>, <code>고객 (복수)</code>, <code>사용자 (복수)</code></mark> 등)이면 <mark style="color:blue;">{id: string; name: string;}[]</mark> 값을 가집니다. <br>id는 해당 유형의 식별자 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 ID”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 ID”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자ID”를 의미합니다. <br>name은 해당 유형의 이름 (<mark style="color:red;"><code>회사 (단일)</code></mark> 유형이면 “회사 이름”, <mark style="color:red;"><code>고객 (단일)</code></mark> 유형이면 “고객 이름”, <mark style="color:red;"><code>사용자 (단일)</code></mark> 유형이면 “사용자이름”을 의미합니다.</td></tr></tbody></table>
