C++(Win32 API + WinHTTP)로 Slack에 메시지를 전송하는 방법 【Webhook 지원】
Slack에 C++로 메시지를 전송하고 싶다. Node.js나 Python에서는 자주 볼 수 있지만, 「C++ × Win32 API × WinHTTP」로 구현하는 케이스는 드물죠.
이 글에서는 Webhook URL을 사용하여 Slack에 C++로 메시지를 전송하는 방법 을 단계별로 알기 쉽게 설명합니다.
✅ 전체 흐름
Slack에 메시지를 전송하려면 다음 단계를 따릅니다.
- Slack의 Webhook URL(API 키) 얻기
- WinHTTP를 사용하여
POST요청 보내기 - JSON 형식으로 메시지 본문 작성하기
- 결과 확인하고 완료!
🔑 Step1: Slack Webhook URL 얻는 방법
Slack에서는 Incoming Webhooks 기능을 사용하여 외부 서비스에서 간단히 메시지를 전송할 수 있습니다.
얻는 순서
- https://api.slack.com/apps 에 접속
Create New App클릭From scratch를 선택하고 앱 이름과 전송할 워크스페이스를 선택- 왼쪽 메뉴에서 「Incoming Webhooks」 를 선택하고 활성화
- 「Add New Webhook to Workspace」 를 클릭하고 채널을 선택
- 발행된 URL(예:
https://hooks.slack.com/services/xxx/yyy/zzz) 복사
이 URL이 API 키처럼 작동합니다.
💻 Step2: C++ 코드로 Slack에 메시지 전송
사용하는 기술
- Win32 API
- WinHTTP(표준 라이브러리)
- JSON 형식의 메시지
샘플 코드(Slack 전송)
| |
🧪 JSON 메시지 커스터마이즈
Slack의 Webhook에서는 다음과 같은 파라미터를 포함할 수 있습니다:
| |
📌 보충 사항
Content-Type은 반드시"application/json"을 지정- Webhook URL은 그대로
wstring으로 전달(URL 인코딩 불필요) - HTTPS 통신이므로
WINHTTP_FLAG_SECURE를 잊지 마세요
🎉 부록: Slack에서의 전송 확인 예시
Slack에 이처럼 표시됩니다:
| |
✍️ 요약
| 항목 | 내용 |
|---|---|
| 전송 방식 | Webhook (Incoming Webhooks) |
| 통신 라이브러리 | WinHTTP |
| 데이터 형식 | JSON |
| 사용 가능 파라미터 | text, username, icon_emoji, channel 등 |
C++로 Slack 연동이라니… 라고 생각했던 당신도 오늘부터 알림 Bot을 연동할 수 있습니다!
🚀 다음 예고?
만약 관심이 있다면 다음에는:
- 파일 첨부
- 버튼이 포함된 UI
- Slack App + OAuth2에 의한 유연한 API 조작
등 한 걸음 더 나아간 Slack 연동도 소개할 수 있습니다!
