
개요
Twenty의 Webhook은 CRM에서 특정 이벤트가 발생할 때 실시간 알림으로 귀하의 애플리케이션에 데이터를 전송하여 API를 보완합니다. API의 변경 사항을 계속해서 폴링하는 대신, 특정 이벤트가 발생할 때 Twenty가 귀하의 시스템으로 데이터를 푸시하도록 웹훅을 설정할 수 있습니다 (예: 새 레코드가 생성되거나 기존 레코드가 업데이트될 때). 이것은 외부 시스템을 Twenty와 즉시 그리고 효율적으로 동기화하는 데 도움이 됩니다. 웹훅을 통해 Twenty는 귀하가 지정한 URL로 이벤트에 대한 세부 정보를 포함한 HTTP POST 요청을 보냅니다. 그런 후 귀하의 애플리케이션에서 해당 데이터를 처리할 수 있습니다(예: 외부 데이터베이스 업데이트, 워크플로우 트리거, 경고 전송 등).웹훅 설정하기
Twenty에서 웹훅을 생성하려면 귀하의 Twenty 앱의 API 및 웹훅 설정을 사용하세요.- 설정으로 이동: 귀하의 Twenty 애플리케이션에서 설정 → API 및 웹훅으로 이동하세요.
- 웹훅 생성: 웹훅 아래에서 + 웹훅 생성을 클릭하세요.
- URL 입력: Twenty가 웹훅 요청을 보내고자 하는 귀하 서버의 엔드포인트 URL을 제공합니다. 이는 POST 요청을 처리할 수 있는 공개적으로 접근 가능한 URL이어야 합니다.
- 저장: 웹훅을 생성하려면 저장을 클릭하세요. 새로운 웹훅은 즉시 활성화됩니다.
이벤트 및 페이로드
웹훅이 설정되면, CRM 데이터에서 트리거 이벤트가 발생할 때마다 Twenty가 지정된 URL로 HTTP POST 요청을 보냅니다. 웹훅을 트리거하는 일반적인 이벤트는 다음과 같습니다:- 레코드 생성됨: 예를 들어, 새로운 사람이 추가됨 (
person.created), 새로운 회사가 생성됨 (company.created), 노트가 생성됨 (note.created) 등. - 레코드 업데이트됨: 예를 들어, 기존 사람의 정보가 업데이트됨 (
person.updated), 회사 레코드가 편집됨 (company.updated) 등. - 레코드 삭제됨: 예를 들어, 사람이나 회사가 삭제됨 (
person.deleted,company.deleted). - 기타 이벤트: 해당되는 경우 다른 개체 이벤트나 사용자 정의 트리거 (예를 들어, 작업이 업데이트되거나 다른 개체가 업데이트된 경우에도 유사한 이벤트 유형이 사용됩니다,
task.created,note.updated등).
"이벤트"는 발생한 일을 지정합니다 (person.created)."데이터"는 새 레코드의 세부 정보를 포함하고 있습니다 (API를 통해 그 사람을 요청했을 경우 받게 되는 동일한 정보)."타임스탬프"는 이벤트가 발생한 시간입니다 (UTC 기준).
"이벤트" 유형을 확인하여 어떤 일이 발생했는지 이해한 후, "데이터"를 적절히 사용합니다 (예: 시스템에 새 연락처를 생성하거나 기존 연락처를 업데이트).
참고: 웹훅 엔드포인트로부터 2xx HTTP 상태로 응답하여 성공적인 수신을 확인하는 것이 중요합니다. Twenty 웹훅 발신자가 2xx 응답을 받지 못하면, 전송이 실패했다고 간주할 수 있습니다. (추후, 실패한 웹훅을 다시 보내는 재시도 로직이 시도될 수 있으니 데이터를 처리한 후 가능한 빨리 200 OK를 반환하도록 노력하세요).
웹훅 검증
웹훅 엔드포인트의 보안을 보장하기 위해, Twenty는X-Twenty-Webhook-Signature 헤더에 서명을 포함합니다.
이 서명은 귀하의 웹훅 비밀을 사용하여 계산된 요청 페이로드에 대한 HMAC SHA256 해시입니다.
서명을 검증하려면 다음이 필요합니다:
- 타임스탬프 (
X-Twenty-Webhook-Timestamp헤더에서)와 콜론, 그리고 페이로드의 JSON 문자열을 연결합니다. - 귀하의 웹훅 비밀을 키로 사용하여 HMAC SHA256 해시를 계산합니다
- 결과적인 16진수 다이제스트와 서명 헤더를 비교합니다