외부 호출용 웹훅 생성
REST API 소스에 웹훅을 만들면 소스의 인증 정보와 네트워크 경로를 사용하여 HTTP 요청을 실행할 수 있습니다. 소스를 저장하고 접근 권한을 관리할 프로젝트를 준비합니다. 이미 사용할 소스가 있다면 웹훅 생성 단계부터 시작합니다.
연결 실행 위치 선택
새 연결에는 Foundry 워커를 권장합니다. Foundry에서 직접 도달할 수 있는 서비스는 직접 연결 외부 통신 정책을, 별도 사설 네트워크의 서비스는 에이전트 프록시 외부 통신 정책을 연결합니다. 후자는 연산을 Foundry에서 수행하면서 에이전트를 네트워크 경로로 사용합니다.
사설 IP로만 접근할 수 있는 대상에는 에이전트의 host override를 사용할 수 있습니다. 에이전트 버전 9.2446.0 이상에서 다음과 같이 설정합니다.
- Data Connection의
Agents에서 대상 에이전트를 선택합니다. Agent settings에 사용할 호스트 이름과 실제 사설 IP의 대응을 추가합니다.- 저장한 뒤 에이전트를 다시 시작합니다.
- 소스와 외부 통신 정책에는 사설 IP 대신 그 호스트 이름을 사용합니다.
예를 들어 가상 내부 주소 10.0.0.1을 my-private-internal-database.local에 대응시킬 수 있습니다. Foundry에서는 호스트 이름으로 연결을 시작하고 에이전트가 네트워크 경계에서 실제 IP로 해석합니다. 이 설정은 해당 에이전트의 모든 연결에 적용되며 일반 DNS 조회보다 우선합니다.
기존 에이전트 워커는 Legacy 방식입니다. 웹훅과 대량 동기화를 같은 에이전트에서 실행하면, 작업이 도착 순서로 실행되어 짧은 웹훅이 긴 동기화 뒤에서 대기할 수 있습니다. 이 방식을 운영해야 한다면 웹훅 전용 에이전트를 분리하는 구성을 권장합니다.
REST API 소스 만들기
- Data Connection의
Sources탭에서New source를 선택합니다. - 소스 유형으로
REST API를 선택합니다. - 대상 API의 도메인, 필요한 인증 정보와 외부 통신 정책을 구성하고 프로젝트에 저장합니다.
소스에는 연결을 만드는 데 필요한 주소와 인증 정보를 넣습니다. 개별 요청의 상대 경로, 쿼리 매개변수, 추가 헤더와 본문은 웹훅에서 구성합니다. 세부 연결 및 인증 방식은 REST API 소스에 있습니다.
다른 소스 종류도 웹훅을 지원할 수 있습니다. SAP처럼 Task body를 사용하는 유형은 해당 작업 스키마를 따라야 합니다. 기존 Salesforce 또는 magritte-rest-v2 기반 구성을 새로 만드는 대신 현행 REST API 소스로 이전합니다.
웹훅 요청 구성
소스의 Webhooks 탭에서 New webhook을 선택합니다.
- 이름과 필요한 설명을 입력합니다.
- 함수로 게시할지 결정합니다. 게시하려면
Function configuration을 켜고 온톨로지와 함수 API 이름을 지정합니다. 이 선택은 되돌릴 수 없으며 게시된 함수는 삭제할 수 없습니다. - 사용할 소스를 선택합니다. 소스 화면에서 시작했다면 미리 선택되어 있습니다.
- 요청에 사용할 입력 매개변수를 추가합니다.
- HTTP 메서드와 경로, 쿼리 매개변수, 헤더 및 본문을 구성합니다. 입력 매개변수는 이 위치들에서 참조할 수 있습니다.
- 필요한
Limits를 지정합니다. 기본 제한 시간은 20초이며 최대 180초까지 설정할 수 있습니다. Create를 선택합니다.
가상 업무 API에 항목을 만드는 예라면 메서드는 POST, 상대 경로는 /api/v1/createItem, 본문 형식은 Raw JSON으로 구성하고 문자열 입력 두 개를 본문 필드에 연결할 수 있습니다. 실제 경로와 필드 이름은 호출할 API의 계약에 맞춥니다.
기존 설정 재사용
비슷한 엔드포인트의 웹훅을 만들려면 소스 Webhooks 탭의 Actions 메뉴 또는 웹훅 페이지의 Actions에서 Duplicate를 선택합니다. 복제한 뒤 대상 경로와 입력 및 출력 매핑을 수정합니다.
cURL 요청을 가져올 수도 있습니다. 요청 편집기의 Import from cURL을 선택하고 명령을 입력한 뒤 Import cURL을 선택합니다. 가져오기는 지원되는 cURL 옵션을 사용하고 대상 도메인이 소스에 이미 등록되어 있을 때 새 Call을 만듭니다. 가져온 요청에서도 비밀 정보는 소스의 비밀 정보 참조로 관리합니다.
요청 확인과 출력 정의
저장 후 Test Connection 옆 패널에서 요청을 실행하고 응답을 확인할 수 있습니다. 쓰기 요청은 실제 외부 시스템을 변경하므로 시험용 대상과 입력을 먼저 정합니다. 성공한 시험 응답은 출력 매개변수를 정의할 때 추출할 값의 제안으로 사용할 수 있습니다.
응답 전체, 객체의 키 또는 배열 인덱스로 값을 추출하고, 호출 결과를 다음 요청에 참조하는 방법은 웹훅 설정 참조에 있습니다. OAuth 토큰을 발급받은 뒤 그 토큰으로 업무 API를 호출하는 구성은 Microsoft Graph 예제에서 설명합니다.