Nhảy tới nội dung
Phiên bản: 2.3.0

Tạo chứng từ nhiều file

Ngày cập nhật: 16 tháng 09, 2026
Người cập nhật: VNPT eContract's team


Mục đích​

Tạo mới một chứng từ hỗ trợ nhiều file, cho phép tải lên đồng thời nhiều file thành phần trong cùng một chứng từ. API trả về DocumentId của chứng từ và danh sách fileInfoId tương ứng với từng file đã tải lên. Các fileInfoId được sử dụng làm thông tin đầu vào khi cấu hình quy trình ký cho từng file tại API cập nhật quy trình chứng từ.

  • Request URL: /v2/documents/create
  • HTTP method: POST
  • HTTP content-type: multipart/form-data
  • Authorize: Bearer token
  • Parameter:
KeyTypeBắt buộcDescription
nostring(40)CóSố/mã chứng từ
subjectstring(200)CóTiêu đề chứng từ
descriptionstring(500)KhôngMô tả chứng từ
typeIdintCóId loại chứng từ theo danh mục hệ thống
departmentIdintCóId phòng/ban phát hành chứng từ
filesarray<file>CóDanh sách các file thành phần của chứng từ, được truyền trực tiếp trong request theo định dạng multipart/form-data. Hỗ trợ truyền nhiều file trong cùng một request
relatedDocumentIdsarray<GUID>KhôngDocumentId của chứng từ đã tồn tại — dùng khi cần trích xuất/liên kết thêm file vào chứng từ đã có sẵn
attachmentsarray<file>KhôngMảng danh sách tệp tin đính kèm theo chứng từ
customerCodestring(500)KhôngMã khách hàng, được sử dụng để định danh hoặc tham chiếu khách hàng liên quan đến chứng từ
customerInformationstring(100)KhôngThông tin khách hàng liên quan đến chứng từ

Mẫu request​

TrườngGiá trị mẫu
noDOCUMENT-MF-001
subjectChứng từ nhiều file DOCUMENT-MF-001
descriptionVí dụ khởi tạo chứng từ nhiều file
typeId8950
departmentId9855
files[Tai-lieu-chinh.pdf, Phu-luc-01.pdf]

Mẫu response body​

{
"data": {
"id": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"createdDate": "2026-08-13T11:12:51.3713264+07:00",
"lastModifiedDate": "2026-08-13T11:12:51.3714737+07:00",
"no": "DOCUMENT-MF-001",
"subject": "Chứng từ nhiều file DOCUMENT-MF-001",
"hasVerified": false,
"hasVerify": false,
"hasSeal": false,
"requireVerifiedUserSigning": false,
"status": {
"value": 1,
"description": "New"
},
"contractStatus": {
"value": 0,
"description": "Undefined"
},
"description": "Ví dụ khởi tạo chứng từ nhiều file",
"createdByUserId": 27938,
"processRecipientCount": 0,
"waitingProcesses": [
],
"processInOrder": false,
"isWaitToSignDraw": false,
"isWaitToSignDigital": false,
"isWaitToApprove": false,
"isWaitToFillData": false,
"isWaitToCoordinate": false,
"isWaitToESign": false,
"isWaitToEkyc": false,
"isFillable": false,
"type": {
"id": 8950,
"code": "DOCID",
"name": "Chứng từ thử nghiệm",
"documentCount": 1,
"enableVnptSeal": false,
"requireVerifiedUserSigning": false,
"children": []
},
"processes": [],
"accessibleViewProcesses": [],
"histories": [
{
"createdDate": "2026-08-13T11:12:51.6256727+07:00",
"requestType": {
"value": 0,
"description": "Web"
},
"ipAddress": "10.70.39.34",
"activity": {
"value": 1,
"description": "Create document"
}
}
],
"attachments": [],
"relatedDocuments": [],
"linkedDocuments": [],
"messages": [],
"fillingItems": [],
"sharedUsers": [],
"isMarkStar": false,
"downloadFileUrls": [
{
"id": "9d2a2be2-e55e-4c17-f7ec-08def8f12485",
"fileName": "Tai-lieu-chinh.pdf",
"orderNo": 1,
"size": 288288,
"fileType": {
"value": 0,
"description": "General"
},
"downloadUrl": "{HOST}/api/Download?token=..."
},
{
"id": "bd4421b7-9aef-4a40-f7ed-08def8f12485",
"fileName": "Phu-luc-01.pdf",
"orderNo": 2,
"size": 73919,
"fileType": {
"value": 0,
"description": "General"
},
"downloadUrl": "{HOST}/api/Download?token=..."
}
],
"zipDownloadUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"requiresSealSendConfirmation": false,
"fixedPosition": false,
"isLaborContractDocument": false
},
"success": true,
"code": 0,
"messages": [
"Create document success"
]
}

Mô tả Response Body​

KeyTypeDescription
successbooleanTrạng thái phản hồi của yêu cầu (true: Thành công, false: Thất bại)
codeintMã phản hồi từ hệ thống
messagesarrayDanh sách thông báo hoặc lỗi trả về từ hệ thống
dataobjectĐối tượng chứa thông tin chi tiết của chứng từ vừa tạo (xem chi tiết bên dưới)

Chi tiết dữ liệu trong data:​

KeyTypeDescription
idGUIDDocumentId của chứng từ vừa tạo
createdDatedatetimeThời điểm tạo chứng từ (định dạng ISO 8601)
lastModifiedDatedatetimeThời điểm cập nhật gần nhất (định dạng ISO 8601)
nostringSố/mã chứng từ (trùng giá trị no trong request)
subjectstringTiêu đề chứng từ
descriptionstringMô tả chứng từ
hasVerifiedbooleanChứng từ đã được xác thực hay chưa
hasVerifybooleanChứng từ có yêu cầu xác thực hay không
hasSealbooleanChứng từ có yêu cầu chứng thực thông điệp (VNPT SEAL) hay không
requireVerifiedUserSigningbooleanCó yêu cầu người ký phải xác thực định danh hay không
statusobjectTrạng thái của chứng từ: {"value": int, "description": string}
1: Chứng từ mới
2: Sẵn sàng
3: Đang xử lý
4: Đã hoàn tất
5: Đang hiệu chỉnh
-1: Đã bị từ chối
-2: Đã xóa
-3: Đã hủy
contractStatusobjectTrạng thái hiệu lực hợp đồng: {"value": int, "description": string}
0: Không xác định
1: Còn hiệu lực
2: Gần hết hiệu lực
-1: Hết hiệu lực
-2: Chưa có hiệu lực
createdByUserIdintId người tạo chứng từ
processRecipientCountintSố người tham gia xử lý quy trình
waitingProcessesarrayDanh sách người đang chờ xử lý (rỗng khi chứng từ chưa gửi quy trình)
processInOrderbooleanQuy trình xử lý tuần tự (true) hay song song (false)
isWaitToSignDrawbooleanTrạng thái đang chờ ký nháy (true/false)
isWaitToSignDigitalbooleanTrạng thái đang chờ ký số (true/false)
isWaitToApprovebooleanTrạng thái đang chờ phê duyệt (true/false)
isWaitToFillDatabooleanTrạng thái đang chờ điền thông tin (true/false)
isWaitToCoordinatebooleanTrạng thái đang chờ điều phối (true/false)
isWaitToESignbooleanTrạng thái đang chờ ký điện tử (E-Sign) (true/false)
isWaitToEkycbooleanTrạng thái đang chờ ký xác thực eKYC (true/false)
isFillablebooleanChứng từ có cho phép điền dữ liệu (form-filling) hay không
typeobjectLoại chứng từ (xem chi tiết bên dưới):
{
    "id": int,
    "code": string,
    "name": string,
    "documentCount": int,
    "enableVnptSeal": boolean,
    "requireVerifiedUserSigning": boolean,
    "children": array
}
processesarrayDanh sách bước xử lý đã cấu hình cho chứng từ (rỗng tại bước tạo mới)
accessibleViewProcessesarrayDanh sách người được cấp quyền xem chứng từ
historiesarrayLịch sử thao tác trên chứng từ (Array[object]) (xem chi tiết bên dưới)
attachmentsarrayDanh sách tệp đính kèm đi kèm chứng từ (Array[object])
relatedDocumentsarrayDanh sách chứng từ liên quan (Array[object])
linkedDocumentsarrayDanh sách chứng từ được liên kết (Array[object])
messagesarray<string>Thông báo bổ sung ở cấp data (khác messages ở cấp ngoài response)
fillingItemsarrayDanh sách trường dữ liệu cần điền (nếu chứng từ dạng biểu mẫu)
sharedUsersarrayDanh sách người được chia sẻ xem chứng từ
isMarkStarbooleanChứng từ có được đánh dấu sao hay không
downloadFileUrlsarrayDanh sách file thành phần đã tải lên (Array[object]) (xem chi tiết bên dưới)
zipDownloadUrlstringĐường dẫn tải toàn bộ file dưới dạng zip
requiresSealSendConfirmationbooleanCó yêu cầu xác nhận trước khi gửi chứng thực thông điệp (VNPT SEAL) hay không
fixedPositionbooleanVị trí ký có bị cố định hay không
isLaborContractDocumentbooleanChứng từ có gắn với hợp đồng lao động (LaborContractId) hay không

Chi tiết đối tượng type:​

KeyTypeDescription
idintId loại chứng từ
codestringMã loại chứng từ (ví dụ: DOCID)
namestringTên loại chứng từ
documentCountintSố chứng từ đã tạo theo loại này
enableVnptSealbooleanLoại chứng từ có bật chứng thực thông điệp (VNPT SEAL) hay không
requireVerifiedUserSigningbooleanLoại chứng từ có yêu cầu xác thực người ký hay không
childrenarrayDanh sách loại chứng từ con (nếu có)

Chi tiết danh sách downloadFileUrls:​

Danh sách chứa các đối tượng file thành phần đã tải lên với các thuộc tính của 1 phần tử:

KeyTypeDescription
idGUIDfileInfoId của file thành phần — dùng làm đầu vào ở API Cập nhật quy trình chứng từ
fileNamestringTên file
orderNointThứ tự file trong chứng từ
sizeintKích thước file (byte)
fileTypeobjectLoại file: {"value": int, "description": string}
downloadUrlstringĐường dẫn tải file

Chi tiết lịch sử thao tác (histories):​

KeyTypeDescription
createdDatestringThời gian thực hiện thao tác (định dạng ISO 8601)
requestTypeobjectNguồn thực hiện request: {"value": int, "description": string}
-1: Unspecified (Không xác định)
0: Web
1: Api
3: Service (Dịch vụ hệ thống)
4: Mobile (Ứng dụng di động)
ipAddressstringĐịa chỉ IP thực hiện
activityobjectThao tác thực hiện: {"value": int, "description": string}
-3: Hủy chứng từ
-2: Xóa chứng từ
-1: Từ chối chứng từ
1: Tạo chứng từ
2: Cập nhật chứng từ
3: Mời người nhận
4: Xem chứng từ
5: Ký chứng từ
6: Tải chứng từ