CDR 無害化リクエスト
SHIELDEX CDR 無害化リクエストのために使用します。
Method
POST
{{url}}/v5/cdr
{{url}}/v5/cdr/
{{url}}/v5/cdr/{jobID}
Request Path Parameter
KEY OBJECT DESC jobIDString 作業ID (オプション、最大36文字)
Request Parts (multipart/form-data)
KEY OBJECT DESC dataJSON 無害化リクエストデータ fileFile 無害化対象ファイル (uploadタイプの場合必須)
Request Data JSON Structure
{
"request": {
"type": "upload"
},
"userinfo": {
"id": "string",
"department": "string",
"name": "string",
"dutyname": "string",
"sysCode": "string",
"businessCode": "string"
},
"fileinfo": {
"filename": "string"
},
"result": {
"callbackURL": "string"
}
}
Request Data Fields
KEY OBJECT REQUIRED DESC request.typeString Yes リクエストタイプ ( upload)userinfo.idString Yes ユーザーID userinfo.departmentString No ユーザー部署 userinfo.nameString No ユーザー名 userinfo.dutynameString No ユーザー職責名 userinfo.sysCodeString No システムコード userinfo.businessCodeString No ビジネスコード userinfo.userNumberNumber No ユーザー番号 fileinfo.filenameString Yes* ファイル名 result.callbackURLString No コールバックURL
Response Body (json)
KEY OBJECT DESC code int 応答コード msg String 応答メッセージ jobID String 作業ID
Exception Response Body (json)
KEY OBJECT DESC code int エラーコード msg String エラーメッセージ jobID String 作業ID
Response Code
CODE MESSAGE DESC 0 success 成功 (SUCCESS) 1 - 重複リクエスト (DUPLICATION) -1 fail 一般的な失敗 (FAIL) 2 block ブロック (有効性検証失敗、BLOCK) 3 unavailable agent service サービス接続失敗 (CONNECTION_FAIL) 5 - APIアクセスブロック (API_ACCESS_BLOCK)
Exception Messages
CODE MESSAGE DESC 2 jobID is no more than 36 characters jobID長さ超過 2 Missing required field: 'request.type', The 'request.type' object is required in the request body. 必須フィールド欠落 2 Missing required file: 'file', The request must include a file upload in the 'file' field. ファイル欠落 (uploadタイプ) 2 Missing required field: 'fileinfo.filename', The 'fileinfo.filename' object is required in the request body. ファイル名欠落 (sharedタイプ) 2 Missing required field: 'userinfo.id', The 'userinfo.id' object is required in the request body. ユーザーID欠落 2 Request body is missing or empty. A valid JSON body is required. リクエストボディ欠落
Sample
REQUEST - Upload Type
curl -X POST "{{url}}/v5/cdr" \
-H "Content-Type: multipart/form-data" \
-F 'data={
"FI_IDX": "test-job-001",
"request": {
"type": "upload"
},
"userinfo": {
"id": "user001",
"name": "山田太郎",
"department": "開発チーム",
"dutyname": "開発者",
"sysCode": "SYS001",
"businessCode": "BIZ001"
},
"fileinfo": {
"filename": "test.pdf"
},
"result": {
"callbackURL": "https://your-callback-url.com/callback"
}
};type=application/json' \
-F "file=@/path/to/test.pdf"RESPONSE - Success
{
"code": 0,
"msg": "success",
"jobID": "test-job-001"
}RESPONSE - Service Connection Fail
{
"code": 3,
"msg": "unavailable agent service",
"jobID": "test-job-001"
}RESPONSE - Validation Error
{
"code": 2,
"msg": "Missing required field: 'request.type', The 'request.type' object is required in the request body.",
"jobID": "test-job-001"
}RESPONSE - File Missing Error
{
"code": 2,
"msg": "Missing required file: 'file', The request must include a file upload in the 'file' field.",
"jobID": "test-job-001"
}
Processing Flow
Important Notes
- Field Mapping: JSONフィールド名とJavaオブジェクトのフィールド名が異なる場合があります (@JsonProperty, @JsonAlias使用).
- Response Codes: V5CdrCode enumに定義されたコード値を使用します (SUCCESS=0, DUPLICATION=1, FAIL=-1, BLOCK=2, CONNECTION_FAIL=3, API_ACCESS_BLOCK=5).
- Validation Options:
optionProperties.isUseValidate()設定に応じて有効性検証レベルが異なります.- Default Values: 有効性検証を使用しない場合、一部フィールドにデフォルト値が自動設定されます.
- File Parameters:
fileまたはfilesパラメータ両方使用可能で、multipartFile = multipartFile == null ? files : multipartFileロジックが適用されます.- Tenant: 基本テナントは
main(TenantConstant.TENANT_MAIN) で、ユーザー別テナント設定が可能です.- Access Control: リクエストヘッダーの
sysCodeとbusinessCodeを通じてアクセス制御が実行されます.- Callback: コールバックURLは
result.callbackURLフィールドに設定し、無害化完了後結果を受信できます.- Error Handling: すべての例外は
exceptionHandlerService.exceptionHandling()メソッドを通じて処理され、ログ理由コード900020が使用されます.- JSON Aliases: userinfo, fileinfoフィールドはuserInfo, fileInfoとしても許可されます (@JsonAlias使用).
- Job ID Length: 最大36文字まで許可され、超過時は有効性検証失敗として処 理されます.