첫 작업을 API로 호출하기까지
대상 프로그램이 설치된 PC에서 아래 순서대로 진행하세요. 한 작업만 먼저 연결해 보면 전체 흐름을 금방 익힐 수 있습니다.
-
설치하기
설치 파일을 실행합니다. API를 계속 받으려면 Windows 로그인 때 자동 실행을 켜 두세요.
창을 닫아도 프로그램은 트레이에서 계속 동작합니다. 다시 열려면 트레이 아이콘을 두 번 클릭하고, 완전히 끄려면 아이콘 메뉴에서 종료를 고릅니다.
-
작업 녹화하기
대상 프로그램을 미리 열어 두고 녹화 탭으로 갑니다.
- 작업 이름을 적습니다. 영어 소문자, 숫자,
_만 쓸 수 있습니다. 예:add_customer - 녹화 시작을 누르고 대상 프로그램을 평소처럼 클릭합니다.
- 값을 넣을 입력 칸을 클릭하면 API 입력 자리가 됩니다. 이름은
input1,input2순서로 붙으며 표에서 바꿀 수 있습니다. - 결과로 돌려받을 값이 있으면 다음 클릭은 결과로 읽기를 켜고 그 항목을 클릭합니다. 기본 이름은
result입니다. - 작업으로 저장을 누릅니다. 잘못 누른 단계는 마지막 단계 지우기로 지웁니다.
키보드 입력은 기록하지 않습니다. 매번 달라지는 값은 입력 칸 클릭으로 API 입력 자리로 만드세요.
- 작업 이름을 적습니다. 영어 소문자, 숫자,
-
시험하고 승인하기
작업 탭에서 방금 저장한 작업을 고릅니다. 상태는 아직 초안입니다.
- 시험 입력값 칸에 값을 넣습니다.
- 시험 실행을 누르고 오른쪽 결과를 확인합니다.
- 결과가 맞으면 승인을 누르고, 확인 창에서 단계 목록을 살펴본 뒤 예를 누릅니다.
{ "input1": "한빛상사" }승인된 작업만 API로 실행됩니다. 작업 내용이 바뀌면 승인이 풀립니다.
-
토큰 복사하기
설정 탭에서 토큰 복사를 누릅니다. 토큰이 유출됐다면 토큰 새로 만들기를 누르세요. 기존 토큰은 바로 쓸 수 없게 되므로, 호출하는 쪽도 새 토큰으로 바꿔야 합니다.
-
API로 호출하기
같은 PC에서 실행되는 프로그램이나 스크립트에서 호출합니다. 작업 탭의 API 주소 칸에 작업별 주소가 나옵니다.
PowerShell
$body = [Text.Encoding]::UTF8.GetBytes('{"input1": "한빛상사"}') Invoke-RestMethod http://127.0.0.1:18787/jobs/add_customer ` -Method Post -ContentType 'application/json' ` -Headers @{ Authorization = 'Bearer 복사한_토큰' } -Body $bodyPython
import requests res = requests.post( "http://127.0.0.1:18787/jobs/add_customer", headers={"Authorization": "Bearer 복사한_토큰"}, json={"input1": "한빛상사"}, timeout=120, ) print(res.status_code, res.json())성공 응답
{"outputs": {"result": "C-1024"}, "ms": 1840}프로그램이 켜져 있는지는
GET /health로 토큰 없이 확인합니다. 등록된 작업 목록은 토큰을 넣어GET /jobs로 조회합니다.
호출이 실패할 때
| 응답 | 확인할 것 |
|---|---|
| 연결 안 됨 | 트레이에서 SWGateway가 실행 중인지, 포트가 맞는지 확인하세요. |
| 400 | 요청 본문이 올바른 JSON인지 확인하세요. |
| 401 | 설정 탭의 토큰을 다시 복사해 넣으세요. |
| 404 | 작업 이름을 확인하고, 작업 탭에서 상태가 승인됨인지 확인하세요. |
| 422 | 입력 항목 이름이 작업과 정확히 같은지 확인하세요. 항목이 빠지거나 더 있어도 실패합니다. |
| 500 | 응답의 failed_step이 멈춘 단계입니다. 대상 프로그램이 열려 있는지 보고, 저장된 화면을 확인하세요. 위치: %LOCALAPPDATA%\SWGateway\failures |
| 503 | 작업은 한 번에 하나씩 실행됩니다. 다른 작업이 끝난 뒤 다시 호출하세요. |
실행 결과는 기록 탭에서 볼 수 있습니다. 포트는 %LOCALAPPDATA%\SWGateway\settings.json에 {"port": 18787} 형식으로 적어 바꾼 뒤 프로그램을 다시 시작합니다.
다른 서버에서 호출하기
기본 API는 프로그램이 설치된 PC 안에서만 호출할 수 있습니다. 클라우드 서버, 웹서비스, 다른 사무실의 시스템처럼 PC 밖에서 작업을 호출하려면 유료 외부 호출 기능이 필요합니다.
외부 호출 기능은 출시를 준비하고 있습니다. 요금은 요금제에서 확인하세요. 쓰려는 시스템과 PC 대수를 알려 주시면 도입 일정을 안내해 드립니다.
외부 호출 문의하기