Decontamination Result Response
SHIELDEX File 6.0When integrating the demilitarization APIResult ResponseDefines the field.
- Body Composition: Synchronous result → Asynchronous (Reception · Status Inquiry · Callback) → Common fields (
code/detailCode/server)
1. Overview of Result Reception Method
| division | method | endpoint | Timing of Result Reception |
|---|---|---|---|
| motive | Sync | POST /v5/cdr-sync | request responseFinal Resultto receive immediately |
| asynchronous | Reception | POST /v5/cdr | immediatelySubmission Responseonly return (not a result) |
| asynchronous | Status Check (Polling) | GET /v5/cdr/{jobID} | After checking the cycle (recommended 200ms), when completedResult Response |
| asynchronous | Callback | upon requestresult.callbackURLdesignate | When completed, to the specified URLResult PUSH |
Submission response ≠ Result responseasynchronous
POST /v5/cdrImmediate response is receipt confirmation (code·msg·jobID) is just. The actual demilitarization result is motivation(/v5/cdr-sync) or receive it through status inquiry or callback.
2. Motivation — Result Response (POST /v5/cdr-sync)
The synchronous API waits for the server to complete the deserialization beforeFinal Resultreturns at once.code: 3(In progress) is not returned, and the actual receipt code is0 / 1 / 2is.
2.1 Response Fields
| KEY | TYPE | Essential | Explanation |
|---|---|---|---|
jobID | String | Essential | Task ID |
code | int | Essential | Result Grade Code (§5) — In Motivation0 / 1 / 2full reception |
msg | String | Essential | Result Reason Message (=logReasonReason text) |
logReason | int | Essential | Detailed Results (Log Reason) Code |
detailCode | int | Selection | Additional classification value (§6).Only when activated through integration agreementincluded |
server | Object | Essential | Server Information for Processed Files (§7) |
2.2 detailCodeStar example
The example below is motivation(/v5/cdr-sync) · The status inquiry result response is commonly applied.serverThe object is the same form in all examples.
detailCode: 0— No risk factors (Safe)
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 0,
"msg": "[안전] 컨텐츠 요소 없음",
"logReason": 200004,
"detailCode": 0,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
detailCode: 1— There are risk factors (suspicion · warning · danger · forgery)
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 0,
"msg": "[의심] 컨텐츠 요소 감지",
"logReason": 200005,
"detailCode": 1,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 2,
"msg": "[차단] 확장자 위변조 파일 차단",
"logReason": 220355,
"detailCode": 1,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
detailCode: 2— Vaccine (Virus) Detection
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 2,
"msg": "[심각] 바이러스 검출 (감염 파일 삭제)",
"logReason": 990003,
"detailCode": 2,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
detailCode: 3— Unsupported files (Exception · Blocked)
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 2,
"msg": "[차단] 미지원 확장자",
"logReason": 210211,
"detailCode": 3,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
detailCode: -1— Error
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 2,
"msg": "[오류] 인터페이스 통신 오류",
"logReason": 900052,
"detailCode": -1,
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
Core:
detailCode: -1isErrormeans. Logarithm master’slogtype_id=V20(error)Multiple Log Reasonswithout dividing into individual values,common-1It is processed in an integrated manner. The detailed reason for what kind of error islogReason/msgI confirm.
3. Asynchronous — Receipt Response (POST /v5/cdr)
Immediate response of asynchronous request.since it is not a decontamination result detailCode · server is not included.
| KEY | TYPE | Explanation |
|---|---|---|
code | int | Reception Code (0Submission Successful /1Duplicate Request /2Block /3Service connection failed /5Access Control Block) |
msg | String | Reception Message |
jobID | String | Task ID |
{
"code": 0,
"msg": "success",
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e"
}
After submission, the result is**Status Inquiry (§4)orCallback (§4.2)**receives.
4. Asynchronous — Receiving Results (Status Check · Callback)
4.1 Status Inquiry (GET /v5/cdr/{jobID})
Response Field · Meaning**Motivation Results (§2)**is the same. If the processing is not finishedcode: 3(This is in progress) may be returned.
| KEY | TYPE | Essential | Explanation |
|---|---|---|---|
jobID | String | Essential | Task ID |
code | int | Essential | Result Grade Code (§5) —0 / 1 / 2 / 3(in progress) |
msg | String | Essential | Result Reason Message |
logReason | int | Essential | Detailed Results (Log Reason) Code |
detailCode | int | Selection | Additional classification value (§6, only when active) |
server | Object | Essential | Processing Server Information (§7) — Included in the Result Response |
detailCodeRefer to §2.2 for the JSON example.
4.2 Callback Result Full Text
upon requestresult.callbackURLIf specified, the result will be PUSHed to the corresponding URL upon completion of the demilitarization. The synchronous status inquiry response andOnly the field notation is slightly different.(the meaning of the value is the same).
- Result reason text in a separate field
logReasonMsgIt is provided. msgis"success"fixedis (reason text islogReasonMsgis included).
| KEY | TYPE | Explanation |
|---|---|---|
jobID | String | Task ID |
code | int | Result Grade Code (§5) |
detailCode | int | Additional classification value (§6, only when active) |
logReason | int | Detailed Results (Log Reason) Code |
logReasonMsg | String | Detailed result reason text |
msg | String | "success"fixed |
server | Object | Processing Server Information (§7) |
{
"jobID": "ed43f9a5-8caa-11f1-a4cd-f5c4fa6d387e",
"code": 0,
"detailCode": 0,
"logReason": 200004,
"logReasonMsg": "[안전] 컨텐츠 요소 없음",
"msg": "success",
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
}
detailCode 0~3 · -1The meaning and mapping are the same as §2.2 · §6.
5. ResultscodeDefinition
| code | meaning | Download | Personality |
|---|---|---|---|
0 | Decontamination Success (Completed) | possible | final |
1 | Importing Original Files by Policy | possible | final |
2 | Import Block / System·Engine Error | impossible | final |
3 | Processing in progress | — | Incomplete (Polling Only) |
- motive(
/v5/cdr-sync**)**waits until completion and then returns, so the actual receipt code is0/1/2is.3(In progress) will not be returned. codemultiple in onelogReasonThis maps to (1:N). The integration quarter must becodebased on the valueto,logReason(msgUse it for detailed reason identification, user guidance, and log recording purposes.- In the status inquiry API, it is not the result thatQuery Control ResponseNo work ID (
-3), invalid request(5This can be returned.
6. detailCode— Additional classification value
codeFor integrations where detailed branching is difficult with only (0/1/2)Integer Additional Classification Valueis.
**Only included in responses for activated integrations.**When inactive, the field itself does not appear in the response, so it is 100% identical to the existing specification. The activation status will be discussed during integration.
| detailCode | meaning | Representative Example (logReason) |
|---|---|---|
-1 | Error —logtype_id=V20Log ReasonCommon -1to integrate | 900052etc V20(error) series multiple |
0 | No Hazard Elements (Safety) | 200004[Safety] No content elements |
1 | Risk factors present (suspicion · warning · danger · forgery) | 200005~`200007,220355` etc. |
2 | Vaccine (Virus) Detection | 990003[Serious] Virus Detection |
3 | Unsupported Files (Exceptions · Blocked) | 210211, 230213, 240215 |
Output Criteria (Summary)— Determine the result log reason and risk road.
- Explicit Mapping:
200004→0,200005~`200007/220355등→1,990003→2,210211/230213/240215(미지원)→3` - 'File reconstruction complete'
200000/200001is based on risk level0(safety)/1(suspicion·warning·danger·forgery)/2(Serious) rated - Error(
logtype_id=V20) toSystem·Engine ErrorCorresponding multiple log reasons → CommondetailCode: -1
For the complete JSON example, please refer to §2.2.
7. server— Processing Server Information
harmlessnessProcessed Serverwill be included in the response to identify.
| KEY | TYPE | Explanation |
|---|---|---|
serverId | String | Processing Server ID |
serverName | String | Server Name |
ipList | String[] | Server representative IP (1) |
macList | String[] | MAC address corresponding to the representative IP (1) |
"server": {
"serverId": "A64B2A42-99AF-CF00-29C1-366B9CCFE002",
"serverName": "SANITIZE-NODE-01",
"ipList": ["10.10.12.226"],
"macList": ["00:50:56:aa:41:ec"]
}
ipList·macListis the server'sRepresentative IP/MAC pairOnly includes the NICs (not the entire NIC list).- If the server information could not be found
serverIdFill the tenserverNameis an empty string,ipList·macListis an empty array([]) responds.- asynchronous**Submission Response (§3)**in
serverdoes not include.