지정한 네이버웍스 사용자에게 봇을 통해 메시지를 발송하는 API입니다. 현재는 단순 텍스트 전송 기능만 제공합니다. JWT모듈은 Naver 개발문서를 참고하였으며, RestAPI 기능은 IT Infra팀 자체적으로 설계와 개발을 하였습니다.
RestAPI를 사용하면 Works의 복잡한 jwt 발급-인증과 bot ID 설정-권한 문제를 신경 쓸 필요가 없이 필수 정보만 전달하면 됩니다.
http://{API서버IP}/send
(Python Flask 기반이며 Gunicorn으로 구동됩니다. 개발 서버는 내부망이며, 외부 접근은 공인 IP를 통해 제한적으로 허용됩니다.)
| Key | Value | 필수 | 설명 |
|---|---|---|---|
Content-Type |
application/json |
Y | 요청 본문이 JSON 형식임을 나타냅니다. |
X-Api-Key |
{API 키} |
Y | 인증을 위한 비밀 키입니다. (IT Infra 담당자에게 요청) |
관리자에게 요청email (string, 필수): 알림을 받을 사람의 네이버 웍스 계정 (Works 이메일 주소)message (string, 필수): 전송할 텍스트 메시지 내용아래 명령어를 터미널에 붙여넣으면 즉시 메시지가 전송됩니다.
curl -X POST http://<API서버IP>/send \
-H "Content-Type: application/json" \
-H "X-Api-Key: <API Secret Key>" \
-d '{
"email": "<수신자 ID>",
"message": "<메시지 내용>"
}'
또는
API_URL="http://<API서버IP>/send"
API_KEY='<API Secret Key>'
curl -v -X POST "$API_URL" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $API_KEY" \
-d '{"email":"<수신자 ID>","message":"<메시지 내용>"}'
200 OK{
"success": true,
"message": "Message sent successfully.",
"response": "Success"
}
{"error": "Unauthorized"}: 헤더가 없거나 API 키 값이 틀렸을 경우 발생합니다.{"error": "Missing 'email' or 'message' in request body"}: 필수 요청 값이 누락된 경우 발생합니다.