Automate File Transfers
반복 전송을 스케줄 또는 트리거 기반으로 자동화합니다. 자동화(automation)는 표준 CRUD로 관리합니다.
| 목적 | 메서드 · 경로 |
|---|---|
| 자동화 생성 | POST /api/automation |
| 목록 조회 | GET /api/automation |
| 상세 조회 | GET /api/automation/{automationId} |
| 상세 조회 (진행률·OS) | GET /api/automation/{automationId}/details |
| 업데이트 | PATCH /api/automation/{automationId} |
| 삭제 | DELETE /api/automation/{automationId} |
| 일시 중지/재개 | POST /api/automation/pause |
| 장비 경로 유효성 검사 | POST /api/automation/checkValidDevicePath |
생성 예시:
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
curl -X POST https://exacoola.innorix.com/api/automation \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Automation e7f2a9b3-5c1d-4e9a-8b72-3d4e9f102a8c",
"schedule": {
"type": "day",
"hour": "09",
"minute": "30",
"timezone": "America/New_York",
"startDate": "2025-02-27T14:30:00.000Z",
"endDate": "2025-02-28T14:30:00.000Z"
},
"details": [
{
"sourceItem": [
"D:/Projects/data/exported_users.csv",
"D:/Projects/data/sales_report.pdf"
],
"targetPath": "D:/Backup/Daily_Reports",
"senderId": "user123",
"receiverId": "backup_sys_001",
"step": 1,
"fileCount": 2,
"folderCount": 0,
"sizeCount": 1000
}
]
}'
응답:
json
1
2
3
4
5
{
"status_code": 200,
"message": "success",
"data": { "automationId": "auto_301", "status": "active" }
}
업데이트 — PATCH /api/automation/{automationId}
bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl -X PATCH https://exacoola.innorix.com/api/automation/auto_301 \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"name": "Nightly backup (updated)",
"schedule": {
"type": "day",
"hour": "02",
"minute": "00",
"timezone": "Asia/Seoul",
"startDate": "2026-01-01T00:00:00.000Z",
"endDate": "2026-12-31T00:00:00.000Z"
},
"details": [
{
"sourceItem": [
"D:/Logs/application.log"
],
"targetPath": "D:/Logs/Archive",
"senderId": "app_server_01",
"receiverId": "log_archiver",
"step": 1,
"fileCount": 1,
"folderCount": 0,
"sizeCount": 1000
}
]
}'
일시 중지/재개 — POST /api/automation/pause
bash
1
2
3
4
5
curl -X POST https://exacoola.innorix.com/api/automation/pause \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "pause": true }'
장비 경로 유효성 검사 — POST /api/automation/checkValidDevicePath
자동화를 만들기 전, 여러 장비에서 대상 경로가 유효한지 확인합니다.
bash
1
2
3
4
5
6
7
8
curl -X POST https://exacoola.innorix.com/api/automation/checkValidDevicePath \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"deviceList": ["6825bf6bd75095bd0c9ab2f5", "6825c0bdfaa222ffa5b160a7"],
"pathEncodeList": ["685a75571b83d6e0cef3228f_ino_aG1rYW5nL2R1bW15Mg", "685a75571b83d6e0cef3228f_ino_aG1rYW5nL2R1bW15Mg"]
}'
응답:
json
1
2
3
[
{ "deviceId": "DEVICE_001", "isValid": true }
]
상세 조회 (진행률·OS 타입) — GET /api/automation/{automationId}/details
전송 진행률과 장비 OS 타입까지 함께 조회합니다.
| 파라미터 | 타입 | 설명 |
|---|---|---|
page | integer | 페이지 번호 |
size | integer | 페이지당 개수 |