웹훅 (Webhook)
다음 문서는 웹훅 사용 방법 및 웹훅 페이로드에 대한 설명이 담긴 문서 입니다.
웹훅 데이터를 받을 API 서버가 구성 되어 있어야 합니다.
[미팅 수립 관련 이벤트]
[리드 관련 이벤트]
[딜 관련 이벤트]
[파이프라인 관련 이벤트]
[사용 방법]
1. 웹훅 설정 페이지
왼쪽 하단의 프로필 버튼을 클릭 후 설정 페이지로 진입합니다.
왼쪽 메뉴 패널에서 웹훅 메뉴를 클릭합니다.
2. 웹훅 추가
웹훅 추가 버튼을 클릭합니다.
나타난 모달 창에서 필드에 해당 하는 값을 추가 합니다.
URL: 웹훅을 받을 API 주소를 작성 합니다. (POST 요청을 받을 수 있는 핸들러로 지정)
전송할 이벤트: [웹훅 이벤트]설명 참조하여 필요한 웹훅 이벤트를 선택 합니다. (다중 선택 가능)
3. 추가된 웹훅 활성화
추가한 웹훅은 바로 활성화 되지 않습니다.
따라서 활성 토글 버튼을 클릭하여 웹훅 이벤트를 활성화 해야합니다.
활성화 이후 이벤트 발생시 입력한 URL로 웹훅 이벤트 정보가 전송됩니다.
Etc. 웹훅 테스트 전송
실제 이벤트 정보를 받기 전 테스트를 위해 테스트용 웹훅 이벤트를 받을 수 있습니다.
테스트 발송 버튼을 클릭하여 입력 필드를 채운 후 전송 버튼을 클릭하면 테스트용 웹훅 이벤트 정보를 받을 수 있습니다.
URL: 테스트용 웹훅 이벤트를 받을 API 주소를 작성합니다. (POST 요청을 받을 수 있는 핸들러로 지정)
전송할 이벤트: [웹훅 이벤트]설명 참조하여 필요한 웹훅 이벤트를 선택 합니다. (하나만 선택 가능)
[웹훅 이벤트]
리캐치에서 제공하는 웹훅 이벤트는 총 5가지 입니다.
5가지 이벤트에 대한 목록은 다음과 같습니다.
form-submitted
invitee-created
meeting-created
meeting-rescheduled
meeting-cancelled
웹훅에서 제공되는 데이터는 다음과 같은 구조를 가집니다.
wid: 웹훅을 식별 할 수 있는 UUID
event_type: 제공되는 웹훅에 대한 이벤트 타입
payload: 제공되는 각 웹훅 이벤트에 대한 페이로드
payload 에서 자주 사용되는 주요 필드
source: 이벤트가 트리거된 각 기능의 주요 데이터를 나타내는 필드 입니다. 예) type이 logic일 경우 어떤 워크플로우에서 발생한 것인지에 대한 데이터
type: 이벤트가 발생된 기능의 타입을 나타냅니다.
logic : 워크플로우 기능
multi-use : 예약페이지 기능
link_id: 예약 페이지, 워크플로우, 시간제안 기능 등에서 사용되는 값이며 미팅 수립 때 사용되는 기능들의 고유 링크 id 입니다. 예시) * https://teamslug.recatch.cc/workflows/<link_id> * https://teamslug.recatch.cc/booking/<link_id> * https://teamslug.recatch.cc/meeting/<link_id>
title: 이벤트가 발생된 생성한 기능의 제목
Form Submitted
Form Submitted 이벤트는 워크플로우의 기능을 통해 생성한 폼에서 제출 이벤트가 발생 하였을 때 웹훅 이벤트가 트리거 됩니다.
현재 제공 되는 예시 데이터는 웹훅의 `payload` 필드에 대한 부분입니다. 다른 웹훅 예시 데이터 또한 같습니다.
웹훅으로 전달 되는 payload 는 다음과 같습니다.
source
link_id
title
type
logic
id: 제출된 폼 정보의 고유함을 나타내는 UUID 형식의 id 입니다.
title: 폼을 생성 할 때 입력했던 폼의 제목 입니다.
submitted_datetime: 폼이 제출된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
qualified: 워크플로우 기능을 통해 미팅 배정이 되었다면 true, 미팅 미배정으로 메세지 혹은 링크 보내기로 되었을 경우 false로 표기됩니다.
question_and_answers: 폼 제출 시 입력했던 질문과 답변에 대한 값입니다.
`<form_label> : <form_answer>` 이와 같은 형태로 폼에 대한 질문과 답변을 나타냅니다.
Invitee Created
Invitee Created 이벤트는 워크플로우, 예약 페이지 기능에서 email 기준으로 첫 미팅이 수립이 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
created_datetime: 미팅이 수립된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-meet: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름 입니다.
email: 미팅 주최자의 이메일 입니다.
timezone: 미팅 주최자의 timezone 입니다.
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
question_and_answers: 미팅 수립시 입력한 폼의 질문 답변에 대한 값입니다.
`<form_name> : <form_answer>`와 같은 형태로 출력되어 보여집니다.
Meeting Created
Meeting Created 이벤트는 워크플로우, 예약 페이지 기능을 이용하여 미팅이 수립 되었을 때 트리거 되는 웹훅 이벤트 입니다.
Invitee Created 이벤트와 다른 점은 첫 미팅과 상관 없이 미팅이 수립 될 때 마다 트리거 됩니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
created_datetime: 미팅이 수립된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-meet: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름 입니다.
email: 미팅 주최자의 이메일 입니다.
timezone: 미팅 주최자의 timezone 입니다.
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
question_and_answers: 미팅 수립시 입력한 폼의 질문 답변에 대한 값입니다.
`<form_name> : <form_answer>`와 같은 형태로 출력되어 보여집니다.
Meeting Rescheduled
Meeting Rescheduled 이벤트는 워크플로우, 예약 페이지 기능에서 수립된 미팅의 일정을 수정 할 때 트리거되는 웹훅 이벤트 입니다.
웹훅으로 전달되는 페이로드는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
before_rescheduled_datetime: 미팅 일정이 수정 되기 전의 시간 값입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
after_rescheduled_datetime: 수정된 미팅 일정에 대한 시간 값입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
rescheduled_reason: 일정 수정 시 작성하는 일정 수정 사유에 대한 값입니다.
meet: 미팅의 종류에 대한 데이터 입니다.
type
offline: 오프라인 미팅
phone: 전화 미팅
zoom: 줌 미팅
google-meet: 구글 미팅
custom: 커스텀 미팅
[Optional] value Optional 예시) 전화 미팅 일 때 폼 질문에 휴대전화 항목이 없을 경우
zoom, google-mee: 온라인 미팅 URL 주소
phone: 폼 질문 목록에서 추가한 휴대전화 항목 값
offline: 미팅 방법 추가 시 입력한 회사 주소
custom: 미팅 방법 추가 시 입력한 전달 사항
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름
email: 미팅 주최자의 이메일
timezone: 미팅 주최자의 timezone
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
Meeting Cancelled
Meeting Cancelled 이벤트는 워크플로우, 예약 페이지 기능에서 수립된 미팅이 취소되었을 때 트리거되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 payload는 다음과 같습니다.
source
link_id
title
type
multi-use
logic
id: 수립된 미팅에 대한 id 값입니다.
title: 미팅 수립에 사용된 기능의 제목 입니다.
cancelled_datetime: 미팅 취소 되기 전 수립된 미팅의 일정에 대한 시간 값입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
cancelled_reason: 미팅 취소 시 작성하는 미팅 취소 사유에 대한 값입니다.
organizer: 미팅 주최자에 대한 데이터 입니다.
name: 미팅 주최자의 이름
email: 미팅 주최자의 이메일
timezone: 미팅 주최자의 timezone
invitee: 미팅 참여자의 정보를 나타내는 필드 입니다.
name: 미팅 참여자의 이름 입니다.
email: 미팅 참여자의 이메일 입니다.
timezone: 미팅 참여자의 timezone 입니다.
[Optional] company: 미팅 참여자의 회사 정보 입니다.
[Optional] phone: 미팅 참여자의 전화번호 입니다.
[Optional] note: 미팅 참여자가 작성한 전달 사항 정보 입니다.
Lead Created
Lead Created 이벤트는 리드 수동 추가 혹은 폼 제출 등을 통해 리드가 추가 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 페이로드는 다음과 같습니다.
source: 리드가 수집된 경로에 대한 정보 값을 나타냅니다. ( 시간 제안 하기 기능을 통해 수집된 리드 일 경우 값은 null )
link_id
title
type
multi-use
logic
id: 리드의 고유한 id 값을 나타냅니다.
fields_data: 생성된 리드의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드를 수동으로 추가 하였을 경우 null )
created_datetime: 리드가 생성된 시간 값입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
assignee: 리드 담당자에 대한 정보 입니다.
( 리드에 담당자가 할당 되지 않았을 경우 null )
name: 리드 담당자 이름
email: 리드 담당자 이메일
Lead Deleted
Lead Deleted 이벤트는 리드가 삭제 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달되는 페이로드는 다음과 같습니다.
source: 리드가 수집된 경로에 대한 정보 값을 나타냅니다. ( 시간 제안 하기 기능을 통해 수집된 리드 일 경우 값은 null )
link_id
title
type
multi-use
logic
id: 리드의 고유한 id 값을 나타냅니다.
fields_data: 삭제하는 대상 리드의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드를 수동으로 추가 하였을 경우 null )
deleted_datetime: 리드가 삭제된 시간 값입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
assignee: 리드 담당자에 대한 정보 입니다.
( 리드에 담당자가 할당 되지 않았을 경우 null )
name: 리드 담당자 이름
email: 리드 담당자 이메일
Lead Updated
Lead Updated 이벤트는 리드 정보 수정, 담당자 변경 등 리드에 대한 정보가 변경 되었을 때 트리거 되는 웹훅 이벤트 입니다.
웹훅으로 전달 되는 페이로드는 다음과 같습니다.
id: 리드의 고유한 id 값을 나타냅니다.
original_data: 수정 되기 전 리드의 필드 값들을 나타냅니다.
updated_data: 수정 된 이후 리드의 필드 값들을 나타냅니다.
updated_datetime: 리드가 업데이트 된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
[ 데이터 유의 사항 ]
리드의 필드 데이터는 기본 name, email, phone, company 필드와 직접 생성한 커스텀 필드의 값을 가집니다.
리드의 담당자가 변경 되었을 경우 assignee 필드 object 안에 변경된 담당자 정보인 email, name 값을 가지고 있습니다.
original_data 필드의 assignee 필드 값이 null 이고 updated_data 필드의 assignee 필드값이 존재 할 때 => 리드에 담당자가 새로 할당 됨을 나타냅니다.
Deal Created
Deal Created 이벤트는 딜이 생성 되었을 때 트리거 되는 웹훅 이벤트 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assignee: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
created_datetime: 딜이 추가된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Deal Deleted
Deal Deleted 이벤트는 딜이 삭제 되었을 때 트리거 되는 웹훅 이벤트 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assignee: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
deleted_datetime: 딜이 삭제 된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Allocated
Pipeline Allocated 이벤트는 딜을 파이프라인에 할당 하였을 때 트리거 되는 웹훅 이벤트 입니다.
pipeline: 할당된 파이프라인의 정보 값을 나타냅니다.
id: 할당된 파이프라인의 id 값 입니다.
title: 할당된 파이프라인의 제목 값 입니다.
stage: 파이프라인 내 딜을 할당한 단계에 대한 정보 값 입니다.
id: 파이프라인의 단계에 대한 id 값 입니다.
title: 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에 할당된 대상 딜의 정보 값 입니다.
id: 딜의 고유 id 값 입니다.
record_type: 딜의 종류를 나타내는 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assignee: 딜의 담당자에 대한 정보 입니다.
( 딜 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
allocated_datetime: 파이프라인에 할당한 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Moved
Pipeline Moved 이벤트는 파이프라인에 할당 되어 있는 딜을 다른 단계로 이동 시 트리거 되는 웹훅 이벤트 입니다.
source_pipeline: 이동 전 딜이 할당 되어 있던 pipeline의 정보를 나타냅니다.
id: 이동 전 할당 되어있던 파이프라인의 id 값 입니다.
title: 이동 전 할당 되어있던 파이프라인의 제목 값 입니다.
stage: 이동 전 할당 되어있던 파이프라인의 단계에 대한 정보를 나타냅니다.
id: 이동 전 할당 되어있던 파이프라인의 단계에 대한 id 값 입니다.
title: 이동 전 할당 되어있던 파이프라인의 단계에 대한 제목 값 입니다.
target_pipeline: 이동한 pipeline의 정보를 나타냅니다.
id: 이동 후 할당된 파이프라인의 id 값 입니다.
title: 이동 후 할당된 파이프라인의 제목 값 입니다.
stage: 이동 후 할당된 파이프라인의 단계에 대한 정보를 나타냅니다.
id: 이동 후 할당된 파이프라인의 단계에 대한 id 값 입니다.
title: 이동 후 할당된 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에서 단계를 이동 한 대상 딜의 정보 값 입니다.
id: 딜의 고유 id 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assignee: 딜 담당자에 대한 정보 입니다.
( 딜에 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
moved_datetime: 다른 파이프라인 단계로 이동한 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Pipeline Deallocated
Pipeline Deallocated 이벤트는 파이프라인에 할당되어 있던 딜이 할당 해제가 되었거나 딜 삭제로 인해 파이프라인으로 부터 할당 해제가 되었을 때 트리거되는 웹훅 이벤트 입니다.
pipeline: 할당된 파이프라인의 정보 값을 나타냅니다.
id: 할당된 파이프라인의 id 값 입니다.
title: 할당된 파이프라인의 제목 값 입니다.
stage: 파이프라인 내 리드를 할당한 단계에 대한 정보 값 입니다.
id: 파이프라인의 단계에 대한 id 값 입니다.
title: 파이프라인의 단계에 대한 제목 값 입니다.
deal: 파이프라인에 할당 해제 한 대상 딜의 정보 값 입니다.
id: 리드의 고유 id 값 입니다.
fields_data: 딜의 필드 정보 값을 나타냅니다. 기본적인 name, email, phone, company 필드 뿐만 아닌 생성한 커스텀 필드들의 값을 포함한 정보 입니다.
question_and_answers: 워크플로우와 같은 기능 등을 통해 리드가 생성 될 때 리드가 입력한 폼의 답변들이 모아져 있는 값입니다. ( 리드 혹은 딜을 수동으로 추가 하였을 경우 null )
assignee: 딜 담당자에 대한 정보 입니다.
( 딜에 담당자가 할당 되지 않았을 경우 null )
name: 딜 담당자 이름
email: 딜 담당자 이메일
deallocated_datetime: 파이프라인으로 부터 할당 해제된 시간 값 입니다. (UTC 기준 / ISO 8601 형식을 따릅니다.)
Last updated