Skip to main content

커스텀 API

사용자가 정의한 API를 호출하는 노드입니다.


설명​

커스텀 API 노드는 외부 API를 직접 호출하여 데이터를 가져올 수 있는 노드입니다.

URL, HTTP 메서드, 헤더, 본문 등을 자유롭게 설정하여 다양한 REST API를 호출할 수 있습니다. Single 모드와 Dataset 모드를 지원하며, JSON 응답을 자동으로 CSV로 변환하는 기능도 제공합니다.

API가 문서나 이미지 파일을 내려주면 파일을 캔버스에 저장하고 파일 링크를 반환합니다. 문서 데이터 노드에 파일을 업로드한 것처럼 데이터 테이블에서 내려받을 수 있습니다. 파일 내용은 바꾸지 않고 받은 그대로 저장합니다.

저장하는 파일 형식​

확장자형식
.pdfPDF
.doc, .docxMicrosoft Word
.ppt, .pptxMicrosoft PowerPoint
.xlsx, .odsMicrosoft Excel / OpenDocument Spreadsheet
.hwp, .hwpx한글
.txt, .md, .markdown텍스트 / 마크다운
.html, .htm, .xml웹 마크업
.jsonJSON
.csv, .tsv표 형식 텍스트
.java, .jsp, .js, .c, .h, .cpp, .cc, .cxx, .hpp소스 코드
.jpg, .jpeg, .png, .gif, .webp, .svg, .tif, .tiff, .bmp이미지

응답 헤더를 보고 파일인지 판단합니다. 아래 조건 중 하나에 해당하는 성공 응답만 파일로 저장합니다.

  • Content-Disposition 헤더에 attachment나 파일명이 있습니다
  • Content-Type이 PDF·Office·한글·이미지 형식이거나 application/octet-stream입니다

파일명은 Content-Disposition의 파일명을 먼저 쓰고, 없으면 URL 경로의 마지막 부분을 씁니다. 한글 파일명(filename*=UTF-8''...)도 그대로 유지합니다. 파일명에 확장자가 없으면 Content-Type에 맞는 확장자를 붙입니다. 예를 들어 image/png 응답은 .png가 붙습니다.


포트 구성​

입력 포트​

  • 데이터셋 (Dataset 모드 선택 시): API 요청에 사용할 데이터

출력 포트​

  • 데이터셋: API 응답 데이터가 포함된 데이터셋

파일 응답은 response 컬럼 대신 다음 두 컬럼으로 반환합니다.

  • file_name: 저장한 파일명
  • file_path: 저장한 파일의 위치. 데이터 테이블에서 파일 아이콘과 함께 표시됩니다

입력 데이터셋에 같은 이름의 컬럼이 있으면 출력 컬럼 앞에 response_를 붙입니다. 그래도 겹치면 겹치지 않을 때까지 반복해서 붙입니다.


속성​

요청 모드​

API 호출 방식을 선택합니다:

  • 단일 요청: 단일 API 호출 (속성 직접 입력)
  • 데이터셋 요청: 입력 데이터셋의 각 행마다 API 호출 (컬럼 선택)

URL​

  • 단일 요청: 호출할 API의 엔드포인트 URL을 입력합니다
  • 데이터셋 요청: URL이 포함된 데이터셋의 컬럼을 선택합니다

예시: https://api.example.com/data

Method​

  • 단일 요청: HTTP 메서드를 선택합니다
  • 데이터셋 요청: HTTP 메서드가 포함된 데이터셋의 컬럼을 선택합니다

사용 가능한 메서드:

  • GET: 데이터 조회
  • POST: 데이터 생성
  • PUT: 데이터 전체 수정
  • PATCH: 데이터 일부 수정
  • DELETE: 데이터 삭제

Headers​

  • 단일 요청: HTTP 요청 헤더를 JSON 형식으로 입력합니다
  • 데이터셋 요청: 헤더 정보가 포함된 데이터셋의 컬럼을 선택합니다

예시:

{
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_TOKEN"
}

Body​

  • 단일 요청: HTTP 요청 본문을 입력합니다. POST, PUT, PATCH 메서드 사용 시 필요합니다
  • 데이터셋 요청: 요청 본문이 포함된 데이터셋의 컬럼을 선택합니다

예시:

{
"key": "value",
"name": "example"
}

자동 변환(JSON -> CSV, CSV -> JSON)​

API 응답이 JSON 형식일 때 자동으로 CSV 형식으로 변환할지 선택합니다.

  • 켜짐: JSON 응답을 테이블 형태로 자동 변환
  • 꺼짐: 원본 JSON 응답 그대로 반환

파일 응답은 자동 변환 설정과 관계없이 파일로 저장합니다.

Content-Type이 JSON이나 XML인 응답은 Content-Disposition에 파일명이 붙어 있어도 파일로 저장하지 않고 위 설정대로 처리합니다. JSON·XML 파일을 파일 그대로 받으려면 API가 application/octet-stream으로 내려줘야 합니다.


사용 방법​

단일 요청​

  1. 노드를 캔버스에 추가합니다
  2. 요청 모드에서 단일 요청을 선택합니다
  3. URL을 입력합니다
  4. Method를 선택합니다
  5. (필요시) Headers를 입력합니다
  6. (필요시) Body를 입력합니다
  7. 자동 변환 설정을 선택합니다
  8. 실행하기 버튼을 클릭합니다
  9. 출력 포트에서 API 응답 데이터를 확인할 수 있습니다

데이터셋 요청​

  1. 노드를 캔버스에 추가합니다
  2. API 요청 정보가 포함된 데이터셋을 입력 포트에 연결합니다
  3. 요청 모드에서 데이터셋 요청을 선택합니다
  4. URL 컬럼에서 URL이 있는 컬럼을 선택합니다
  5. (필요시) Method 컬럼에서 메서드가 있는 컬럼을 선택합니다
  6. (필요시) Headers 컬럼에서 헤더가 있는 컬럼을 선택합니다
  7. (필요시) Body 컬럼에서 본문이 있는 컬럼을 선택합니다
  8. 자동 변환 설정을 선택합니다
  9. 실행하기 버튼을 클릭합니다
  10. 출력 포트에서 각 행마다 호출된 API 응답 데이터를 확인할 수 있습니다

파일 내려받기​

  1. 파일을 내려주는 API를 URL에 입력하고 실행하기 버튼을 클릭합니다
  2. 출력 포트에 데이터 테이블 노드를 연결합니다
  3. file_path 셀에 마우스를 올리면 셀 오른쪽에 다운로드 아이콘이 나타납니다
  4. 다운로드 아이콘을 클릭해 파일을 내려받습니다

주의사항​

API 키 보안

API 키나 토큰은 민감한 정보입니다. headers에 포함할 때 주의하세요.

데이터셋 요청

데이터셋 요청에서는 입력 데이터셋의 각 행마다 API를 호출하므로, 많은 요청이 발생할 수 있습니다.

저장하지 않는 파일 형식

압축 파일·오디오·동영상처럼 저장하는 파일 형식에 없는 파일은 저장하지 않습니다. 이런 응답은 response 컬럼에 텍스트로 들어가서 내용을 알아볼 수 없습니다. 실패한 응답(4xx·5xx)도 파일로 저장하지 않습니다.