n8n에서 HTTP Request 노드로 외부 API 연결하기
자동화 시스템에서 외부 API와의 연결은 매우 중요한 역할을 합니다. n8n은 다양한 외부 시스템과의 연동을 쉽게 설정할 수 있도록 돕는 툴로, 그 중에서도 HTTP Request 노드는 외부 API와의 연결을 간편하게 해줍니다. 이번 강의에서는 n8n에서 HTTP Request 노드를 사용하여 외부 API를 호출하고, 데이터를 가져오는 방법에 대해 설명하겠습니다.
1. HTTP Request 노드란?
n8n의 HTTP Request 노드는 외부 API와 연결하여 데이터를 가져오거나, 외부 서비스에 데이터를 전송하는 데 사용됩니다. API 호출을 통해 데이터를 가져오는 작업, 외부 시스템에 데이터를 전송하는 작업 등 다양한 API 관련 작업을 자동화할 수 있습니다. 예를 들어, 날씨 API에서 날씨 정보를 가져오거나, 결제 시스템의 API에 결제 정보를 전송하는 등의 작업을 수행할 수 있습니다.
HTTP Request 노드는 HTTP GET, POST, PUT, DELETE 등의 다양한 요청 방법을 지원하며, 요청 헤더, 바디 등을 세밀하게 설정할 수 있습니다. 이를 통해 다양한 외부 시스템과의 원활한 데이터 통신을 가능하게 합니다.
2. n8n에서 HTTP Request 노드 설정하기
n8n에서 HTTP Request 노드를 사용하려면 다음과 같은 간단한 단계를 따르세요.
- 노드 추가: n8n 워크플로우 편집기에서 "노드 추가" 버튼을 클릭하고 "HTTP Request"를 선택하여 노드를 추가합니다.
- URL 설정: API의 엔드포인트 URL을 입력합니다. 예를 들어, 날씨 정보를 가져오는 API의 URL을 입력할 수 있습니다.
- HTTP 메서드 선택: 외부 API의 요청 방식에 따라 HTTP 메서드를 선택합니다. 일반적으로 데이터를 가져오는 경우에는 GET, 데이터를 전송하는 경우에는 POST 메서드를 사용합니다.
- 헤더 설정: 일부 API는 인증을 요구하거나 특정 헤더 정보를 필요로 할 수 있습니다. 필요한 인증 정보나 기타 헤더 정보를 설정합니다.
- 파라미터 설정: 요청에 필요한 파라미터가 있다면, 이를 설정할 수 있습니다. 예를 들어, GET 요청의 쿼리 파라미터나 POST 요청의 바디를 설정할 수 있습니다.
- 응답 처리: API 호출 후 반환되는 응답 데이터를 처리하는 방법을 설정합니다. 응답이 JSON 형식으로 돌아오면, 해당 데이터를 후속 작업에 활용할 수 있습니다.
3. n8n에서 HTTP Request 노드로 외부 API 호출하기
이제 HTTP Request 노드를 사용하여 외부 API를 호출하는 예제를 살펴보겠습니다. 여기서는 간단한 날씨 API를 호출하여 날씨 정보를 가져오는 예제를 다루겠습니다.
예제: 날씨 API 호출하여 날씨 정보 가져오기
1. API 엔드포인트 설정: 날씨 정보를 제공하는 API(예: OpenWeatherMap API)의 엔드포인트 URL을 설정합니다. 예를 들어, `https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_API_KEY`와 같은 URL을 입력합니다. 여기서 `YOUR_API_KEY`는 API에서 제공하는 키로, 인증에 사용됩니다.
2. HTTP 메서드 설정: 날씨 정보를 가져오는 API는 GET 메서드를 사용하므로, HTTP Request 노드에서 메서드를 GET으로 설정합니다.
3. API 키 인증 설정: 대부분의 API는 인증을 요구합니다. OpenWeatherMap API는 `appid` 파라미터로 API 키를 전달해야 하므로, 이를 URL에 추가합니다.
4. 응답 데이터 처리: API 호출 후 응답은 JSON 형식으로 돌아옵니다. 날씨, 기온, 습도 등의 데이터를 응답에서 추출하여 후속 작업에서 사용할 수 있습니다. 예를 들어, JSON 응답에서 날씨 상태를 추출하고, 이를 이메일로 전송하거나 Slack 메시지로 보내는 작업을 연결할 수 있습니다.
- 응답 예시: { "weather": [{ "description": "clear sky" }], "main": { "temp": 295.15, "humidity": 72 } }
- 날씨 상태 추출: 응답에서 `weather[0].description`을 추출하여, "clear sky"라는 날씨 상태를 사용할 수 있습니다.
4. HTTP Request 노드를 활용한 다양한 API 호출 예제
n8n에서 HTTP Request 노드는 매우 유연하게 다양한 외부 API와 연동할 수 있습니다. 몇 가지 사용 예제를 소개합니다.
- Twitter API 호출: Twitter의 REST API를 사용하여 특정 트윗을 가져오거나, 새로운 트윗을 게시하는 작업을 자동화할 수 있습니다. HTTP Request 노드를 사용하여 API 요청을 보내고, 반환된 데이터를 처리할 수 있습니다.
- Google Sheets API 연동: Google Sheets API를 호출하여 스프레드시트에 데이터를 읽거나 쓸 수 있습니다. 예를 들어, 새로운 데이터를 입력하거나, 특정 조건에 맞는 데이터를 가져오는 작업을 자동화할 수 있습니다.
- 결제 시스템 API 호출: 결제 API를 호출하여 결제 정보를 전송하거나, 결제 상태를 확인하는 작업을 자동화할 수 있습니다. 결제 완료 시 알림을 보내거나, 결제 정보를 데이터베이스에 저장하는 등의 후속 작업을 처리할 수 있습니다.
- CRM API 연동: CRM 시스템과 연동하여 새로운 고객 정보를 추가하거나, 고객 데이터를 업데이트하는 작업을 자동화할 수 있습니다.
5. HTTP Request 노드의 고급 활용법
n8n에서 HTTP Request 노드를 사용할 때, 더 효율적으로 활용하기 위해 몇 가지 고급 기능을 사용할 수 있습니다.
- 다중 API 호출: 여러 개의 API를 연속적으로 호출하거나, 병렬로 처리할 수 있습니다. 예를 들어, 여러 개의 외부 시스템에서 데이터를 가져오고, 이를 하나의 워크플로우에서 처리하는 작업을 설정할 수 있습니다.
- 오류 처리: API 호출이 실패했을 때 적절한 오류 처리를 설정할 수 있습니다. 예를 들어, API 요청이 실패하면 알림을 보내거나, 재시도를 설정할 수 있습니다.
- 조건부 요청: 특정 조건에 따라 API 요청을 다르게 설정할 수 있습니다. 예를 들어, 사용자의 입력에 따라 다른 API를 호출하거나, 파라미터를 다르게 설정하여 요청할 수 있습니다.
6. 결론: n8n에서 HTTP Request 노드로 외부 API 호출하기
n8n에서 HTTP Request 노드는 외부 API와의 연동을 간단하게 처리할 수 있는 강력한 도구입니다. 외부 API와의 통합을 통해 다양한 데이터를 자동으로 처리하고, 외부 시스템과의 연동을 효율적으로 관리할 수 있습니다. 이번 강의에서는 HTTP Request 노드를 설정하고 활용하는 방법을 배웠으며, 다양한 API 호출 예제와 고급 활용법을 통해 실제 업무에 적용할 수 있는 자동화 작업을 만들 수 있게 되었습니다.
다음 강의에서는 n8n에서 API 호출 응답 처리 및 데이터 저장 방법에 대해 다룰 예정입니다. 더 많은 자동화 기술을 배우고, n8n을 활용한 작업을 최적화해 보세요!