ADDRESS  26, Sambugol-ro, Gwacheon-si, Gyeonggi-do, Republic of Korea
 +82-31-697-4501

© 2019 SHIELDEX Co.,Ltd.

SHIELDEX WebAPI 가이드

SHIELDEX의 WebAPI는 2가지 방식으로 제공되며, 원하는 방식으로 선택해서 사용하실 수 있습니다.

각각의 로직 흐름은 아래와 같습니다.

무해화 완료 통지 방식
  1. form-data 전송 방식을 통한 무해화 요청

  2. 무해화가 완료된 파일과 결과를 callback으로 통지 받음

  • 연동하는 서버에서 무해화 완료에 대한 통지를 받기 위한 웹서버 개발 필요

무해화 완료 체크 방식
  1. form-data 전송 방식을 이용하여 무해화 처리 요청

  2. 요청에 대한 응답으로 작업ID 응답

  3. 작업ID 를 이용하여 무해화 처리가 완료되었는지 체크

  4. 무해화 완료가 된 경우 파일 다운로드 요청

  • 무해화가 완료되었는지 수시로 확인 후 다운로드를 요청하는 방식으로 Postman과 같은 테스트 툴에서도 사용 가능

무해화 완료 통지 방식 (ver.2)
무해화 처리 요청
form-data 전송을 통해 간편하게 문서 무해화 요청을 할 수 있습니다.
/v2/Sanitize
[ Request ]
POST
http://{SHIELDEX_address}:8087/SDFileProxy/v2/Sanitize
무해화 요청 전문

{

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"SVR_IP":"{svr_ip}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}

HTTP

POST /SDFileProxy/v2/Sanitize HTTP/1.1

Host: {SHIELDEX_address}:8087

Content-Type: multipart/form-data;

Content-Disposition: form-data; name="json"

{

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"SVR_IP":"{svr_ip}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}

Content-Disposition: form-data; name="files";

filename=”{upload_file}

cURL

curl -X POST \

  http://{SHIELDEX_address}:8087/SDFileProxy/v2/Sanitize \

  -H 'content-type: multipart/form-data;

  -F 'json={

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"SVR_IP":"{svr_ip}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}' \

  -F 'files={upload_file}

무해화 처리를 요청할 파일을 포함하여 form-data로 전송해야 합니다. 요청 항목 중 svr_ip 에 무해화 처리 결과를 통지 받을 서버 정보가 포함되어 있어야 정상적으로 처리 결과를 수신할 수 있습니다.
[ Response ]
무해화 요청 전문에 대한 응답은 아래와 같습니다.
무해화 요청 전문

{

“msg”:”{msg}”,

“job_id”:”{job_id}”,

“code”:{code}

}

Job_id의 경우 현재 무해화 진행 중인 작업의 유니크한 id로, 다음에 기술할 무해화 완료된 파일 다운로드 방식에서 사용합니다.
무해화 처리 완료

무해화 처리가 완료되면 요청 전문에 있던 svr_ip의 서버로 무해화 완료 전문 및 파일을 form-data로 전달합니다. 무해화 완료 전문은 기존에 무해화 요청 전문 밑에 결과에 대한 값을 추가하여 전달합니다.

무해화가 완료된 파일의 경우 무해화 완료 전문과 함께 “files”라는 이름으로 form-data에 포함되어 전달됩니다.

만약, 무해화 실패 시 파일은 전송되지 않으며, 실패 전문만 전달됩니다.

무해화 완료 통지 전문

{

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"SVR_IP":"{svr_ip}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}",

 

“SAN_CODE”:”<code>”,

“SAN_MSG”:”<msg>”,

“LOG_REASON”:”<log_reason>”,

“LOG_REASON_MSG”:”<log_msg>

}

SHIELDEX LogReason 문서 보기
무해화 완료 통지 방식 (ver.3)
무해화 처리 요청
form-data 전송을 통해 간편하게 문서 무해화 요청을 할 수 있습니다.
/v3/Sanitize
[ Request ]
POST
http://{SHIELDEX_address}:8087/SDFileProxy/v3/Sanitize
무해화 요청 전문

{

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}

HTTP

POST /SDFileProxy/v3/Sanitize HTTP/1.1

Host: {SHIELDEX_address}:8087

Content-Type: multipart/form-data;

Content-Disposition: form-data; name="json"

{

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}

Content-Disposition: form-data; name="files";

filename=”{upload_file}

cURL

curl -X POST \

http://{SHIELDEX_address}:8087/SDFileProxy/v3/Sanitize \

  -H 'content-type: multipart/form-data;

  -F 'json={

"USER_ID":"{user_id}",

"USER_NAME":"{user_name}",

"USER_DEPARTMENT":"{user_department}",

"USER_DUTYNAME":"{user_dutyname}",

"FI_PATH":"{file_path}",

"FI_FILENAME":"{file_name}"

}' \

  -F 'files={upload_file}

무해화를 요청할 파일을 포함한 form-data로 전송해야 합니다. 기본적인 요청 전문은 같으며, 무해화 완료 통지를 받을 웹서버가 필요하지 않아 웹서버 정보를 포함하지 않습니다
[ Response ]
무해화 요청 전문에 대한 응답은 아래와 같습니다.
무해화 요청 전문

{

“msg”:”{msg}”,

“job_id”:”{job_id}”,

“code”:{code}

}

Job_id의 경우 현재 무해화 요청에 대한 유니크한 키 값으로 사용됩니다. 이후 무해화가 종료되었는지 확인하거나, 무해화가 완료된 파일을 요청하는 전문에 사용하기 때문에 매우 중요합니다.
무해화 처리 요청
form-data 전송을 통해 간편하게 문서 무해화 요청을 할 수 있습니다.
/v3/Sanitize
[ Request ]
​GET
http://{SHIELDEX_address}:8087/SDFileProxy/v3/Sanitize
무해화 요청 전문

{

"job_id”:”{job_id}

}

HTTP

GET /SDFileProxy/v3/Status/ HTTP/1.1

Host: {SHIELDEX_address}:8087

cache-control: no-cache

{"job_id":"{job_id}"}

cURL

curl -X GET \

  http://{SHIELDEX_address}:8087/SDFileProxy/v3/Status/ \

-d '{"job_id":"{job_id}"}'

무해화 진행을 확인하기 위해 무해화 요청 시 응답으로 전달 받은 작업 id 값을 전달합니다.
[ Response ]
무해화 진행 상태 확인 요청 전문에 대한 응답은 아래와 같습니다.
무해화 요청 전문

{

“job_id”:”{job_id}”,

“status”:<status>,

“LogReason”:”<log_reason>

}

무해화가 완료 상태라도 LogReason 값이 LogReason 문서의 실패 값에 포함된다면, 무해화 처리가 실패한 것입니다.

status 값은 CDR 작업 상태에 대한 결과 값이기 때문에 CDR 처리의 성공 혹은 실패에 대한 결과 값는 LogReason 문서를 참고하시기 바랍니다.

SHIELDEX LogReason 문서 보기
무해화가 완료된 파일 다운로드 요청
무해화 작업 상태가 완료되었으며, LogReason 값이 LogReason 문서의 성공 값에 포함된 값일 경우에 무해화 처리가 완료된 파일을 요청할 수 있습니다. 만약 위 조건과 일치하지 않은 경우에는 404 NOT_FOUND 에러가 전달됩니다.
/v3/Download
[ Request ]
​GET
http://{SHIELDEX_address}:8087/SDFileProxy/v3/Download
무해화가 완료된 파일 다운로드 요청 전문

{

"job_id”:”{job_id}

}

HTTP

GET /SDFileProxy/v3/Status/ HTTP/1.1

Host: {SHIELDEX_address}:8087

cache-control: no-cache

{"job_id":"{job_id}"}

cURL

curl -X GET \

  http://{SHIELDEX_address}:8087/SDFileProxy/v3/Download/ \

-d '{"job_id":"{job_id}"}'

무해화 처리가 완료된 파일을 다운로드 하기 위해서 무해화 처리를 요청했을 때 응답 받은 job_id 값을 전달해야 합니다.
[ Response ]
무해화가 완료된 파일 요청에 대한 응답은 아래와 같습니다.
요청에 대한 응답 전문은 따로 존재하지 않으며, 무해화 요청에 대한 결과 값은 무해화 진행 상태 요청을 통해 확인하실 수 있습니다.