모든 콜렉션
협업 기능
커넥트
Incoming / Outgoing
전체 멤버에게 Team Incoming Webhook을 발송하고 싶습니다.
전체 멤버에게 Team Incoming Webhook을 발송하고 싶습니다.
1주 전에 업데이트함

1. Team Incoming Webhook 개요

외부 데이터를 JANDI에서 수신하고 싶을 때 사용되는 기능이 Incoming Webhook 입니다. 하지만 외부 데이터를 전송하고 싶은 경우 개인별로 다음과 같은 절차를 거쳐야 합니다.

개인별로 Incoming Webhook을 생성하고, 생성된 URL을 담당자에게 전달합니다. 담당자는 URL과 개인 정보를 매칭하여 저장하고, 입·퇴사 또는 인사 이동이 있을 경우 기존에 이 멤버들이 만든 Incoming Webhook의 각 등록 및 삭제를 진행합니다.

위의 예시처럼 개인별로 Incoming Webhook을 생성시 팀 차원에서 관리가 어렵습니다. 이를 해결하기 위해 Team Incoming Webhook이 개발됐습니다.

관리자 혹은 소유자가 Team Incoming Webhook을 한 번만 생성해 생성된 URL에 메시지와 함께 개인 식별자 (잔디의 가입된 계정 e-mail)를 전송하면 개인별 메시지 수신이 가능해집니다.

이를 통해 잔디와 외부 서버간 자유로운 통신과 개인별 메시지 전송이 가능해지면서 업무 환경에 따라 단체 메시지를 보내는 등 폭 넓은 활용이 가능합니다.

2. Team Incoming Webhook Data Format

Team Incoming Webhook은 RESTFul API로서 아래에 명시한 형식으로 데이터를 전송해야만 합니다.

{      "email":"jandi@tosslab.com",    "body":"[김잔디 님의 휴가 신청서 결재 완료]",    "connectColor":"#FAC11B",    "connectInfo":[         {            "title":"2017년 10월 24일 휴가 신청이 결재 되었습니다.",          "description":"2017.10.24 ~ 2017.10.26 연차 신청",          "imageUrl":"http://www.jandi.com/image.jpg"       },       {            "title":"2017년 10월 24일 휴가 신청이 결재 되었습니다.",          "description":"2017.10.24 ~ 2017.10.26 연차 신청 "       }    ] }

<JSON ​Object ​Field>

Field

Data ​Type

Description

email

String

JANDI에 설정된 개인 이메일

- 같은 내용으로 여러명에게 발송 시 컴마(,)로 구분

- 여러 건 한번에 발송 시 최대 100건만 가능

(100건 초과시 모두 발송 미처리)

body

String

​ 최상단에 노출할 메시지

connectColor

String

​ ​메시지 하단 Bar의 색상

connectInfo

Object [ ​]

​ ​메시지 하단 말풍선에 노출될 메시지 들의 배열

<connectInfo ​Object ​Field>

Field

Data ​Type

Description

title

String

​ ​메시지 하단 말풍선 내 최상단 메시지

description

String

​ ​메시지 하단 말풍선 내 중간 메시지

imageUrl

String

​ ​메시지 하단 말풍선 내 노출할 Link URL

3. Team Incoming Webhook Request

Webhook은 ​HTTP​ ​POST​ ​Method​ 만을 지원하며,​

request에는 반드시 AcceptContent-Type을 다음과 같이 지정해줘야 합니다.

Accept: application/vnd.tosslab.jandi-v2+json

Content-Type: application/json

또한 2.​​Team​ ​Incoming​ ​Webhook​ ​Data​ ​Format에 명시된 Field 외에 다른 Field가 존재할 경우 무시하거나 에러를 반환하니 참고해주세요.

curl \-X POST \https://wh.jandi.com/connect-api/team-webhook/279/7dbe00d0784c8cf1758f04d824510703 \-H 'Accept:application/vnd.tosslab.jandi-v2+json' \-H 'Content-Type:application/json' \--data-binary '{    "email":"jandi@tosslab.com",    "body":"[김잔디 님의 휴가 신청서 결재 완료]",    "connectColor":"#FAC11B",    "connectInfo":[         {            "title":"2017년 10월 24일 휴가 신청이 결재 되었습니다.",          "description":"2017.10.24 ~ 2017.10.26 연차 신청",          "imageUrl":"http://www.jandi.com/image.jpg"       },       {            "title":"2017년 10월 24일 휴가 신청이 결재 되었습니다.",          "description":"2017.10.24 ~ 2017.10.26 연차 신청 "       }    ] }'

Response는 다음과 같습니다.

{  validEmails: [email1, email2, ...], // 발송된 이메일 주소  invalidEmails: [email1, email2, ...] // 발송되지 않은 이메일 주소}

99. Limit
- 60 requests / min
- 500 requests / 10 min
- 제한에 걸렸을 경우 응답코드: 429

위 Request가 정상적으로 수신될 경우 JANDI에 노출되는 메시지는 아래 이미지의 예시들을 참고해주세요.

<연차 현황 확인 메시지>

위와 같이 개인 ‘채팅 JANDI’에 메시지를 보내는 'Team Incoming Webhook'을 사용하고 싶으시다면 매뉴얼대로 내부적으로 연동 작업이 끝내고

Team Incoming Webhook에 적용할 프로필 이름을 저희 팀에 알려주세요.

URL 적용에 필요한 Team ID, WebhookToken 발급을 저희 토스랩에서 해드립니다.

https://wh.jandi.com/connect-api/team-webhook/{Team ID}/{Token}\ 식으로 넣어주시면 됩니다.

support@tosslab.com 또는 잔디 어플 내 [1:1 문의하기]로 연락해주시면 됩니다.

해당 기능은 유료 팀에만 적용 가능합니다.

답변이 도움되었나요?