Skip to main content
Version: 2.3.0

Send Document Process

Last updated: September 16, 2026
Updated by: VNPT eContract's team


Purpose​

Trigger the sending of the signing/approval workflow configured in section 4.3 for the document, moving the document to a ready-to-process status and notifying the first processor in the workflow.

  • Request URL: /v2/documents/send-process/{documentId}
  • HTTP method: POST
  • Authorize: Bearer token
  • Parameter:
KeyLocationTypeRequiredDescription
documentIdPath paramGUIDYesId of the document for which the process is to be sent (e.g.: /v2/documents/send-process/c7cd1930-...)

Sample request​

POST /v2/documents/send-process/f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e

Sample response body​

{
"data": {
"id": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"createdDate": "2026-08-13T17:55:40.8560899",
"lastModifiedDate": "2026-08-13T17:58:46.1287882+07:00",
"no": "DOCUMENT-MF-001",
"subject": "Multi-file document DOCUMENT-MF-001 - Updated",
"hasVerified": false,
"hasVerify": false,
"hasSeal": false,
"requireVerifiedUserSigning": false,
"status": {
"value": 2,
"description": "Ready"
},
"contractStatus": {
"value": 0,
"description": "Undefined"
},
"description": "Example of updating document DOCUMENT-MF-001",
"createdByUser": {
"id": 27938,
"code": "user002",
"name": "User 002",
"email": "user002@yopmail.com",
"phone": "0123456789",
"comId": 7354,
"username": "user002@yopmail.com",
"isSelected": false
},
"createdByUserId": 27938,
"processRecipientCount": 2,
"waitingProcess": {
"id": "bba867ee-09f9-41f6-6ddb-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7798094",
"comId": 7354,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "234,514,374,574",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 59407,
"processedByUser": {
"id": 59407,
"code": "user001",
"name": "User 001",
"email": "user001@yopmail.com",
"comId": 7354,
"username": "user001@yopmail.com",
"isSelected": false
},
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "6865273c-90f5-49cd-403b-08defc11a479",
"attachments": [
]
},
"waitingProcesses": [
{
"id": "bba867ee-09f9-41f6-6ddb-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7798094",
"comId": 7354,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "234,514,374,574",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 59407,
"processedByUser": {
"id": 59407,
"code": "user001",
"name": "User 001",
"email": "user001@yopmail.com",
"comId": 7354,
"username": "user001@yopmail.com",
"isSelected": false
},
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "6865273c-90f5-49cd-403b-08defc11a479",
"attachments": [
]
}
],
"processInOrder": true,
"isWaitToSignDraw": false,
"isWaitToSignDigital": false,
"isWaitToApprove": false,
"isWaitToFillData": false,
"isWaitToCoordinate": false,
"isWaitToESign": false,
"isWaitToEkyc": false,
"isFillable": false,
"type": {
"id": 8950,
"code": "DOCID",
"name": "Test document",
"documentCount": 1,
"enableVnptSeal": false,
"requireVerifiedUserSigning": false,
"children": [
]
},
"processes": [
{
"id": "bba867ee-09f9-41f6-6ddb-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7798094",
"comId": 7354,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "234,514,374,574",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 59407,
"processedByUser": {
"id": 59407,
"code": "user001",
"name": "User 001",
"email": "user001@yopmail.com",
"comId": 7354,
"username": "user001@yopmail.com",
"isSelected": false
},
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "6865273c-90f5-49cd-403b-08defc11a479",
"attachments": [
]
},
{
"id": "129da2f9-85d4-4390-6ddc-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7799953",
"comId": 7354,
"isOrder": true,
"orderNo": 2,
"pageSign": 1,
"position": "334,614,474,674",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 27938,
"processedByUser": {
"id": 27938,
"code": "user002",
"name": "User 002",
"email": "user002@yopmail.com",
"phone": "0123456789",
"comId": 7354,
"username": "user002@yopmail.com",
"isSelected": false
},
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "a940f960-213c-4a89-403c-08defc11a479",
"attachments": [
]
}
],
"accessibleViewProcesses": [
],
"histories": [
{
"createdDate": "2026-08-13T17:58:46.1260242+07:00",
"requestType": {
"value": 0,
"description": "Web"
},
"ipAddress": "10.70.39.34",
"user": {
"id": 27938,
"code": "creator",
"name": "Clerk",
"email": "creator@yopmail.com",
"phone": "0919380915",
"comId": 7354,
"username": "creator@yopmail.com",
"isSelected": false
},
"activity": {
"value": 3,
"description": "Invite recipient"
}
}
],
"attachments": [],
"relatedDocuments": [],
"linkedDocuments": [],
"messages": [],
"fillingItems": [],
"sharedUsers": [],
"isMarkStar": false,
"downloadFileUrls": [
{
"id": "6865273c-90f5-49cd-403b-08defc11a479",
"fileName": "Tai-lieu-chinh-01.pdf",
"downloadUrl": "{HOST}/api/Download?token=...",
"downloadWatermarkMetadataUrl": "{HOST}/api/Download?token=...",
"orderNo": 1,
"size": 358043,
"fileType": {
"value": 0,
"description": "General"
},
"hasSeal": false
},
{
"id": "a940f960-213c-4a89-403c-08defc11a479",
"fileName": "Phu-luc-02.pdf",
"downloadUrl": "{HOST}/api/Download?token=...",
"downloadWatermarkMetadataUrl": "{HOST}/api/Download?token=...",
"orderNo": 2,
"size": 262757,
"fileType": {
"value": 0,
"description": "General"
},
"hasSeal": false
}
],
"zipDownloadUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"zipDownloadOriginalUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"zipDownloadWatermarkMetadataUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"requiresSealSendConfirmation": false,
"fixedPosition": false,
"isLaborContractDocument": false
},
"success": true,
"code": 0,
"messages": [
"Send to recipient success"
]
}

Response Body Description​

KeyTypeDescription
successbooleanResponse status of the request (true: Success, false: Failure)
codeintResponse code from the system
messagesarrayList of messages or errors returned from the system (Example: ["Send to recipient success"])
dataobjectObject containing details of the document after the process is sent (see details below)

Details of data:​

The fields id, createdDate, lastModifiedDate, no, subject, description, contractStatus, type, downloadFileUrls, zipDownloadUrl, zipDownloadOriginalUrl, zipDownloadWatermarkMetadataUrl, processInOrder, processRecipientCount... have the same meaning as in the Create Multi-file Document API (section 4.1). The table below only describes the fields whose values change or that are newly generated after the process is sent.

KeyTypeDescription
statusobjectDocument status — changes to value = 2 ("Ready") after the process is sent
createdByUserobjectInformation of the document creator (see below)
waitingProcessobjectThe person currently pending processing at the current step of the signing workflow (see below)
waitingProcessesarraySame content as waitingProcess above (the sample data only contains the current pending step again), for the structure of each element see waitingProcess
processesarrayAll processing steps of the signing workflow (not just the pending step) — the structure of each element is the same as waitingProcess

Details of the createdByUser object:​

KeyTypeDescription
idintId of the creator
codestringUser code
namestringFull name of the creator
emailstringEmail of the creator
usernamestringLogin username (usually the same as the email)

Details of the waitingProcess object:​

KeyTypeDescription
idGUIDId of the processing step
createdDatedatetimeTime the processing step was created
comIdintCompany Id of the processor
isOrderbooleanWhether the processing step belongs to a sequential workflow
orderNointProcessing order
pageSignintPage number to be signed within the file
positionstringCoordinates of the signature position on the file, format "x1,y1,x2,y2"
displayTypeobjectSignature display type (see the Enum catalog in the Appendix)
accessPermissionobjectProcessing permission granted: {"value": int, "description": string}
1: View only
2: Sign draw
3: Approve
4: Sign digital
5: Fill data
6: Coordinate
7: E-Sign
8: eKYC sign
statusobjectStatus of the processing step (e.g.: Waiting — Pending processing)
processedByUserIdintId of the user assigned to process this step
processedByUserobjectInformation of the user assigned to process this step
documentIdstring (GUID)Id of the document containing this processing step
fillingItemsarrayList of data fields to be filled in at this step (if any)
fileInfoIdstring (GUID)ID of the component file to be processed at this step
attachmentsarrayAttachments generated at this processing step (if any)
Note

After sending, the document status changes to "Ready", and data.waitingProcess shows the person currently pending processing at the first step of the workflow (processedByUser), along with the processing permission (accessPermission) and the signing position (fileInfoId, position, pageSign).