Create a File Transfer
연결된 장비 사이에 1회성 전송을 생성하고, 진행 중 제어(취소·일시중지·재개)합니다.
전송할 경로 탐색
POST /api/explorer/fileSearchV3/{deviceId} — 장비 경로 탐색
전송을 만들기 전에 소스 장비의 파일/폴더 경로를 확인합니다.
bash
1
2
3
4
5
curl -X POST https://exacoola.innorix.com/api/explorer/fileSearchV3/dev_a1 \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "path": "/data/export", "onlyFolder": false }'
1회성 전송 생성
POST /api/transfer/manualTransfer — 1회성 전송 생성
bash
1
2
3
4
5
6
7
8
9
10
11
12
curl -X POST https://exacoola.innorix.com/api/transfer/manualTransfer \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"sourceId": "6901ae48ca578216fd739f78",
"targetId": "690037c22d309a7bc494bc53",
"targetPath": "690037c22d309a7bc494bc53_ino_QzovVXNlcnMvaW5ub3JpeC9Eb3dubG9hZHMvTmV3IGZvbGRlciAoMyk",
"sourceItem": [
{ "filePath": "C:/Users/MY PC/Downloads/100 files/New folder" }
]
}'
응답:
json
1
2
3
4
5
{
"status_code": 201,
"message": "success",
"data": { "monitorId": "mon_7788", "status": "queued" }
}
응답의 monitorId는 이후 제어·모니터링에 사용됩니다.
전송 제어
| 목적 | 메서드 · 경로 |
|---|---|
| 전송 취소 | PATCH /api/transfer/cancel/{monitorId} |
| 일시 중지 | PATCH /api/transfer/pause/{monitorId} |
| 재개 | PATCH /api/transfer/resume/{monitorId} |
| 통합 제어 | POST /api/transfer/control |
bash
1
2
3
curl -X PATCH https://exacoola.innorix.com/api/transfer/pause/mon_7788 \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
취소·재개도 동일한 형태입니다: PATCH /api/transfer/cancel/{monitorId}, PATCH /api/transfer/resume/{monitorId} (요청 본문 없음).
통합 제어 — POST /api/transfer/control
여러 제어 동작을 하나의 엔드포인트로 처리합니다. event에 pause_transfer / resume_transfer / cancel_transfer 등을 전달합니다.
bash
1
2
3
4
5
curl -X POST "https://exacoola.innorix.com/api/transfer/control?workSpaceId=<WORKSPACE_ID>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "event": "pause_transfer", "transferId": "transfer_123" }'
다중 취소 · 실패 재시도 · 재실행
| 목적 | 메서드 · 경로 |
|---|---|
| 여러 전송 취소 | POST /api/transfer/cancel-transfer-list |
| 실패 파일 재시도 | POST /api/transfer/retry-failed-files |
| 이전 전송 재실행 | POST /api/transfer/{monitorId}/replay |
| 전송 파일 목록 조회 | GET /api/transfer/{id}/get-files |
여러 전송 취소 — POST /api/transfer/cancel-transfer-list
bash
1
2
3
4
5
curl -X POST "https://exacoola.innorix.com/api/transfer/cancel-transfer-list?workSpaceId=<WORKSPACE_ID>" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "monitorIds": ["monitor_123", "monitor_456"] }'
실패 파일 재시도 — POST /api/transfer/retry-failed-files
bash
1
2
3
4
5
6
7
8
9
10
curl -X POST https://exacoola.innorix.com/api/transfer/retry-failed-files \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{
"monitorId": "69a5580ba461fef1ffdc4990",
"filesRetry": [
{ "filePath": "C:/Users/MY PC/Downloads/test/file.txt", "isFolder": false }
]
}'
이전 전송 재실행 — POST /api/transfer/{monitorId}/replay
bash
1
2
3
4
5
curl -X POST https://exacoola.innorix.com/api/transfer/mon_7788/replay \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>" \
-H "Content-Type: application/json" \
-d '{ "action": "replay" }'
전송 파일 목록 조회 — GET /api/transfer/{id}/get-files
| 파라미터 | 타입 | 설명 |
|---|---|---|
current_path | string | 조회할 하위 경로 |
page | integer | 페이지 번호 |
size | integer | 페이지당 결과 수 |
idType | string | ID 종류 (transfer / monitor) |
bash
1
2
3
curl "https://exacoola.innorix.com/api/transfer/mon_7788/get-files?page=1&size=50" \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"