D: 🚀 n8n의 HTTP Node는 워크플로우에서 외부 API와 통신할 때 가장 강력한 도구 중 하나입니다! 이 가이드에서는 초보자도 쉽게 따라할 수 있는 기본 설정부터 고급 활용법까지 단계별로 설명드리겠습니다.
1. HTTP Node란?
🔌 외부 서비스와 연결하는 ‘디지털 연결고리’
- REST API 호출 (GET/POST/PUT/DELETE)
- 웹훅(Webhook) 수신/발신
- JSON/XML 데이터 처리
- 인증(Authentication) 설정 가능
> 💡 예시: 날씨 API에서 데이터 가져오기, 슬랙에 메시지 보내기, 구글 시트에 데이터 저장 등
2. 기본 설정 따라하기
📍 Step 1: 노드 추가
- n8n 편집기에서 [+] 버튼 클릭
- “HTTP Request” 노드 검색 후 추가
📍 Step 2: 필수 옵션 설정
{
"url": "https://api.example.com/data",
"method": "GET",
"headers": {
"Content-Type": "application/json"
}
}
🛠️ 주요 파라미터:
URL
: 요청을 보낼 주소Method
: HTTP 메소드 선택Headers
: 필요한 헤더 추가
3. 고급 기능 활용법
🔐 인증 설정 유형
- Basic Auth: 사용자명/비밀번호 입력
"authentication": { "type": "basicAuth", "user": "username", "password": "mypassword" }
- OAuth2: 토큰 자동 갱신 가능
- API Key: 헤더나 쿼리에 키 추가
🔄 동적 URL 생성
// 표현식(Expression) 사용 예제
{{ $node["Webhook"].json["query"] }}/data?date={{ $json["today"] }}
4. 실전 예제 3가지
📌 예제 1: 공공데이터 API 연동
{
"url": "http://apis.data.go.kr/1360000/VilageFcstInfoService/getVilageFcst",
"method": "GET",
"query": {
"serviceKey": "your_api_key",
"pageNo": "1",
"numOfRows": "10"
}
}
📌 예제 2: 슬랙 메시지 전송
{
"url": "https://slack.com/api/chat.postMessage",
"method": "POST",
"headers": {
"Authorization": "Bearer xoxb-your-token"
},
"body": {
"channel": "#general",
"text": "{{ $node["Trigger"].json["message"] }}"
}
}
📌 예제 3: 웹훅 응답 처리
// 웹훅 수신 후 HTTP 응답
return {
statusCode: 200,
body: {
result: "success",
data: $input.all()
}
};
5. 트러블슈팅 팁
⚠️ 자주 발생하는 오류 & 해결법
- 401 Unauthorized: 인증 정보 재확인
- 404 Not Found: URL 경로 점검
- 429 Too Many Requests: 요청 제한 초과 시
Delay Node
추가 - Parsing Error:
Response Format
을 JSON/XML/Raw 중 선택
🔍 디버깅 도구
Request
/Response
탭에서 RAW 데이터 확인Run Data
로 각 단계 데이터 흐름 분석
6. 성능 최적화 방법
⚡ 프로처럼 쓰는 TIP
- 배치 처리: 여러 요청을 하나의 배열로 처리
// items 배열을 순회하며 처리 return items.map(item => ({ url: `https://api.example.com/${item.id}`, method: "GET" }));
- 캐싱 적용: 동일 요청 반복 시
Cache Node
활용 - 에러 핸들링:
Error Trigger
로 예외 상황 대처
🌈 마무리 n8n의 HTTP Node는 단순한 API 호출을 넘어 무한한 자동화 가능성을 열어줍니다! 이 가이드로 기본기를 튼튼히 하신 후, 다양한 서비스와의 연동을 시도해보세요.
❓ 궁금한 점은 댓글로 남겨주시면 빠르게 답변드리겠습니다!