Skip to main content

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

divisionmethodendpointTiming of Result Reception
motiveSyncPOST /v5/cdr-syncrequest responseFinal Resultto receive immediately
asynchronousReceptionPOST /v5/cdrimmediatelySubmission Responseonly return (not a result)
asynchronousStatus Check (Polling)GET /v5/cdr/{jobID}After checking the cycle (recommended 200ms), when completedResult Response
asynchronousCallbackupon requestresult.callbackURLdesignateWhen completed, to the specified URLResult PUSH

Submission response ≠ Result responseasynchronousPOST /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

KEYTYPEEssentialExplanation
jobIDStringEssentialTask ID
codeintEssentialResult Grade Code (§5) — In Motivation0 / 1 / 2full reception
msgStringEssentialResult Reason Message (=logReasonReason text)
logReasonintEssentialDetailed Results (Log Reason) Code
detailCodeintSelectionAdditional classification value (§6).Only when activated through integration agreementincluded
serverObjectEssentialServer 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.

KEYTYPEExplanation
codeintReception Code (0Submission Successful /1Duplicate Request /2Block /3Service connection failed /5Access Control Block)
msgStringReception Message
jobIDStringTask 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.

KEYTYPEEssentialExplanation
jobIDStringEssentialTask ID
codeintEssentialResult Grade Code (§5) —0 / 1 / 2 / 3(in progress)
msgStringEssentialResult Reason Message
logReasonintEssentialDetailed Results (Log Reason) Code
detailCodeintSelectionAdditional classification value (§6, only when active)
serverObjectEssentialProcessing 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 fieldlogReasonMsgIt is provided.
  • msgis"success" fixedis (reason text islogReasonMsgis included).
KEYTYPEExplanation
jobIDStringTask ID
codeintResult Grade Code (§5)
detailCodeintAdditional classification value (§6, only when active)
logReasonintDetailed Results (Log Reason) Code
logReasonMsgStringDetailed result reason text
msgString"success"fixed
serverObjectProcessing 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

codemeaningDownloadPersonality
0Decontamination Success (Completed)possiblefinal
1Importing Original Files by Policypossiblefinal
2Import Block / System·Engine Errorimpossiblefinal
3Processing in progressIncomplete (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 be code based 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.

detailCodemeaningRepresentative Example (logReason)
-1Error —logtype_id=V20Log ReasonCommon -1to integrate900052etc V20(error) series multiple
0No Hazard Elements (Safety)200004[Safety] No content elements
1Risk factors present (suspicion · warning · danger · forgery)200005~`200007,220355` etc.
2Vaccine (Virus) Detection990003[Serious] Virus Detection
3Unsupported Files (Exceptions · Blocked)210211, 230213, 240215

Output Criteria (Summary)— Determine the result log reason and risk road.

  • Explicit Mapping:2000040, 200005~`200007/220355 등→1, 9900032, 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 → Common detailCode: -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.

KEYTYPEExplanation
serverIdStringProcessing Server ID
serverNameStringServer Name
ipListString[]Server representative IP (1)
macListString[]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 foundserverIdFill the tenserverNameis an empty string,ipList · macListis an empty array([]) responds.
  • asynchronous**Submission Response (§3)**inserverdoes not include.