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

Hàm đăng nhập bằng mã xử lý

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


Mục đích​

Thực hiện đăng nhập hệ thống thông qua mã xử lý được gửi thông qua email hoặc sms của người dùng. Người dùng sau khi đăng nhập bằng mã này có thể thực hiện xử lý chứng từ.

  • Request URL: /auth/process-code-login
  • HTTP method: POST
  • HTTP content-type: application/json
  • Parameter:
KeyTypeDescription
processCodestring[Bắt buộc] Mã xử lý

Mẫu request​

{
"processCode": "220023"
}

Mẫu response body​

{
"success": true,
"data": {
"token": {
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9……"
},
"document": {
"id": "14b197ff-09ec-452b-8975-590d2330f1a9",
"createdDate": "2022-11-28T14:20:42.0606135",
"lastModifiedDate": "2022-11-28T14:20:57.5850304",
"no": "CKDS.20221128.73J3",
"subject": "Chứng từ CKDS.20221128.73J3",
"hasVerified": false,
"status": {
"value": 3,
"description": "Processing document"
},
"department": {
"id": 28,
"name": "VNPT eContract",
"code": "DHB",
"users": []
},
"createdByUserId": 2341,
"processRecipientCount": 1,
"waitingProcess": {
"id": "c4c08c13-1226-4c48-4e58-08dad11115ac",
"createdDate": "2022-11-28T14:20:55.6559845",
"comId": 164,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "13,688,193,778",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 2,
"description": "Sign draw"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 2341,
},
"processInOrder": true,
"isWaitToSignDraw": false,
"isWaitToSignDigital": false,
"isWaitToApprove": false,
"isWaitToFillData": false,
"isWaitToCoordinate": false,
"isWaitToESign": false,
"isWaitToEkyc": false,
"isFillable": false,
"type": {
"id": 46,
"code": "CKDS",
"name": "Chiết khấu doanh số",
"description": "Chứng từ chiết khấu doanh số",
"documentCount": 1
},
"processes": [
{
"id": "c4c08c13-1226-4c48-4e58-08dad11115ac",
"createdDate": "2022-11-28T14:20:55.6559845",
"comId": 164,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "13,688,193,778",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 2,
"description": "Sign draw"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 2341,
"documentId": "14b197ff-09ec-452b-8975-590d2330f1a9"
}
],
"histories": [
{
"createdDate": "2022-11-28T14:20:55.6559845",
"requestType": {
"value": 0,
"description": "Web"
},
"ipAddress": "::1",
"user": {
"id": 2341,
"code": "SYSADMIN",
"name": "Quản trị hệ thống",
"email": "admin@dochub.vn",
"comId": 164,
"username": "admin@dochub.vn",
"isSelected": false
},
"activity": {
"value": 1,
"description": "Create document"
}
}
]
"attachments": [],
"relatedDocuments": [],
"messages": [],
"file": {
"name": "TEST.pdf",
"size": 260936
},
"downloadUrl": "{HOST}/Api/Download?token=..."
}
}
}

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)
messagesarrayDanh sách thông báo hoặc lỗi trả về (Ví dụ: ["Invalid process code"])
dataobjectĐối tượng chứa thông tin xác thực và chứng từ chi tiết (xem chi tiết bên dưới)

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

KeyTypeDescription
tokenobjectChứa thông tin mã xác thực JWT:
{ "accessToken": Chuỗi Token dùng cho các yêu cầu API tiếp theo }
documentobjectThông tin chi tiết của chứng từ cần xử lý (xem chi tiết bên dưới)

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

KeyTypeDescription
idstringID chứng từ
createdDatestringThời gian tạo chứng từ (định dạng ISO 8601)
lastModifiedDatestringThời gian cập nhật chứng từ gần nhất (định dạng ISO 8601)
nostringMã chứng từ
subjectstringTiêu đề chứng từ
hasVerifiedbooleanTrạng thái xác minh của chứng từ
statusobjectTrạng thái của chứng từ: {"value": int, "description": string}
-4: Đã hết hạn
-3: Đã hủy
-2: Đã xóa
-1: Đã bị từ chối
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
6: Đang trong hàng chờ
7: Đang xử lý ký tự động
departmentobjectThông tin phòng ban/đơn vị quản lý chứng từ:
{ 
    "id": "ID phòng ban",  
    "name": "Tên phòng ban",  
    "code": "Mã phòng ban",  
    "users": "Danh sách người dùng" 
}
createdByUserIdintID người dùng tạo chứng từ
processRecipientCountintSố lượng người nhận xử lý chứng từ
waitingProcessobjectThông tin chi tiết lượt xử lý đang chờ (xem chi tiết bên dưới)
processInOrderbooleanCấu hình xử lý tuần tự (true: Theo thứ tự, false: Song song)
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)
isFillablebooleanCho phép điền dữ liệu vào form chứng từ (true/false)
typeobjectThông tin loại chứng từ:
{
    "id": "ID loại chứng từ",
    "code": "Mã loại",
    "name": "Tên loại chứng từ",
    "description": "Mô tả",
    "documentCount": "Số lượng chứng từ liên quan"
}
processesarrayDanh sách các lượt xử lý trong quy trình (Array[object]) (xem chi tiết bên dưới)
historiesarrayDanh sách lịch sử thao tác trên chứng từ (Array[object]) (xem chi tiết bên dưới)
attachmentsarrayDanh sách các tệp tin đính kèm
relatedDocumentsarrayDanh sách các chứng từ liên quan
messagesarrayDanh sách các tin nhắn/ghi chú trong chứng từ
fileobjectThông tin tệp tin chính:
{ "name": Tên file, "size": Dung lượng file (bytes) }
downloadUrlstringĐường dẫn tải tệp tin chứng từ

Chi tiết danh sách processes:​

Danh sách chứa các đối tượng lượt xử lý trong quy trình chứng từ với các thuộc tính của 1 phần tử:

KeyTypeDescription
idstringID định danh của lượt xử lý
createdDatestringThời gian tạo lượt xử lý
comIdintID công ty/đơn vị xử lý
isOrderbooleanXác định có thứ tự xử lý hay không
orderNointThứ tự xử lý trong quy trình
pageSignintTrang đặt khung chữ ký
positionstringTọa độ vị trí đặt khung chữ ký
displayTypeobjectKiểu hiển thị chữ ký:
{ "value": int, "description": string }
accessPermissionobjectQuyền xử lý chứng từ: {"value": int, "description": string}
1: Chỉ xem
2: Ký nháy
3: Phê duyệt
4: Ký số
5: Điền thông tin
6: Điều phối
7: Ký điện tử
8: Ký xác thực eKYC
statusobjectTrạng thái của lượt xử lý:
{ "value": int, "description": string }
-1: Đã từ chối
1: Chờ xử lý
2: Đã xem
3: Đã ký
4: Đã phê duyệt
5: Đã điền thông tin
7: Đã điều phối
8: Đang trong hàng chờ
processedByUserIdintID của người dùng thực hiện xử lý
documentIdstringID chứng từ liên quan

Chi tiết danh sách histories:​

Danh sách chứa các bản ghi lịch sử thao tác với các thuộc tính của 1 phần tử:

KeyTypeDescription
createdDatestringThời gian thực hiện thao tác
requestTypeobjectNguồn thực hiện yêu cầu: { "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 của người thực hiện
userobjectThông tin người thực hiện:
{
    "id": "ID người dùng",
    "code": "Mã người dùng",
    "name": "Tên người dùng",
    "email": "Email",
    "comId": "ID công ty",
    "username": "Tên đăng nhập"
}
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ừ