Ký văn bản tài liệu
Bao gồm danh sách các hàm
1. Ký văn bản chứng từ
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/signdoc?APIKey={apikey}&AccessCode={accesscode}
Json đầu vào
{
"Id": "Id tự truyền lên bất kỳ",
"DigitalSignType": "hsm",//hsm nếu ký bằng cts của người ký. Để trắng nếu ký cts của c-contract
"SignerSignatureId":"Id hoặc code chữ ký của người ký",
"SignTemplateItemId":"Id hoặc code chi của chi tiết mẫu tham gia ký",//không bắt buộc
"CheckKeyword":1,
"ImageBase64":"Ảnh chữ ký dưới dạng base64",
"PageSizeWidth":0,// dùng khi ký bằng vị trí
"PageSizeHeight":0,// dùng khi ký bằng vị trí
"SignPage":0,// dùng khi ký bằng vị trí
"SignX":0,// dùng khi ký bằng vị trí
"SignY":0,// dùng khi ký bằng vị trí
"SignatureWidth":4.2, // độ rộng ô chữ ký
"SignatureHeight":2.1,// độ cao ô chữ ký
"SignInfos":
[
{
"Id":"1",
"FileName":"File 1",
"SearchTerm":"Trưởng bộ phận", // dùng khi ký bằng từ khóa
"PdfBase64":"", //nội dung file cần ký dưới dạng base64
"bottomPos":-3.1,
"FileType":"pdf", //kiểu file base64 là file word hay pdf. Nếu word thì là doc còn pdf thì là pdf
}
]
}
Giải thích các tham số mảng đầu vào
Id
: Id duy nhất truyền lên
DigitalSignType
: hsm hoặc để trống. hsm sẽ ký bằng cts của đơn vị.
SignerSignatureId
: SignerSignatureId chữ ký của người ký (trong trường hợp ký bằng chữ ký có sẵn). Xem tại đây
SignTemplateItemId
: Id hoặc code mẫu chi tiết ký dùng để lấy vị trí ký cũng như từ khóa trong trường hợp sử dụng mẫu. Không cần truyền nếu tự truyền vị trí và từ khóa lên ở chi tiết file
CheckKeyword
: 1 nếu muốn kiếm tra từ khóa ký có trong tài liệu không
SignatureWidth
: Độ rộng của chữ ký tính bằng cm
SignatureHeight
: Độ cao của chữ ký tính bằng cm
SignInfos
: Mảng chứng từ cần ký
Id
: Id của chứng từ
FileName
: Tên file chứng từ
SearchTerm
: Từ khóa dò vị trí ký
bottomPos
: Vị trí ký lùi lên xuống tính bằng cm
FileType
: Kiểu của file truyền lên pdf hoặc doc
{
Message:"", //Nội dung thông báo kết quả ký
Code:0, //0: Thành công
PdfSigned: //Mảng kết quả đã ký bao gồm Id và SignedBase64 chứa nội dung file ký
Id:"", //ID: Của giao dịch ký
}
3. Ký văn bản có giao diện
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/signdocgui?APIKey={apikey}&AccessCode={accesscode}
Json đầu vào
{
"Id": "Id tự truyền lên bất kỳ",
"DigitalSignType": "hsm",//hsm nếu ký bằng cts của người ký. Để trắng nếu ký cts của c-contract
"SignerSignatureId":"Id hoặc code chữ ký của người ký",
"SignTemplateItemId":"Id hoặc code chi của chi tiết mẫu tham gia ký",//không bắt buộc
"CheckKeyword":1,
"SignatureWidth":4.2,
"SignatureHeight":2.1,
"CallBackUrl":"https://",
"CallBackGuiUrl":"https://",
"SignInfos":
[
{
"Id":"1",
"FileName":"File 1",
"SearchTerm":"Trưởng bộ phận",
"PdfBase64":"",
"bottomPos":"-3",
"FileType":"pdf",
}
]
}
Giải thích các tham số mảng đầu vào
Id
: Id duy nhất truyền lên
DigitalSignType
: hsm hoặc để trống. hsm sẽ ký bằng cts của đơn vị.
SignerSignatureId
: SignerSignatureId chữ ký của người ký (trong trường hợp ký bằng chữ ký có sẵn). Xem tại đây
SignTemplateItemId
: Id hoặc code mẫu chi tiết ký dùng để lấy vị trí ký cũng như từ khóa trong trường hợp sử dụng mẫu. Không cần truyền nếu tự truyền vị trí và từ khóa lên ở chi tiết file
CheckKeyword
: 1 nếu muốn kiếm tra từ khóa ký có trong tài liệu không
SignatureWidth
: Độ rộng của chữ ký tính bằng cm
SignatureHeight
: Độ cao của chữ ký tính bằng cm
CallBackUrl
: Địa chỉ callback
CallBackGuiUrl
: Địa chỉ callback GUI. Sẽ tự động chuyển đến url này sau khi ký
SignInfos
: Mảng chứng từ cần ký
Id
: Id của chứng từ
FileName
: Tên file chứng từ
SearchTerm
: Từ khóa dò vị trí ký
bottomPos
: Vị trí ký lùi lên xuống tính bằng cm
FileType
: Kiểu của file truyền lên pdf hoặc doc
{
Message:"", //Nội dung thông báo kết quả ký
Code:0, //0: Thành công
SignUrl: //URL dùng để mở giao diện ký
Id:"" //ID: Của giao dịch ký
}
4. Lấy tài liệu đã ký về
Phương thức GET
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/signdocgui/get?APIKey={apikey}&AccessCode={accesscode}&Id=abc
Thành công code = 0 và trả về nội dung đã trả về
"ImageBase64":"Chữ ký"
"Signed":1
//1: Nếu đã ký; 0: chưa ký"SignedResultItems":"Mảng chứa các file đã ký"
5. Hàm đặt chữ ký
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/contract/signature/add?APIKey=xxx&AccessCode=yyy
{
"FileType":"doc" //loại file truyền doc hoặc pdf,
"ContentBase64":""//nội dung dưới dạng base64
}
Id: Id của chứng từ
Url: Chứa url để mở ra đặt chữ ký
6. Hàm lấy thông tin vị trí đã đặt
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/contract/signature/get?APIKey=xxx&AccessCode=yyy&id=zzz
id: id trả về từ hàm 5. Hàm đặt chữ ký
{
"Code": 0,
"Found": true,
"Message": "success",
"PageSizeHeight": 1122.67, //độ rộng trang đặt chữ ký
"PageSizeWidth": 793.80, //độ cao trang đặt chữ ký
"SignPage": 3, //Trang đặt chữ ký
"SignX": 287.00, // Tọa độ X đặt chữ ký
"SignY": 711.00, // Tọa độ Y đặt chữ ký
"SignatureHeight": 3.44, // Độ rộng ô chữ ký
"SignatureWidth": 6.80 // độ cao ô chữ ký
}
7. Hàm lấy mẫu tích hợp
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/IntegrateTemplate/list?accesscode=xxx&apikey=yyy
{
"items": [
{
"IntegrateTemplateId": "3231d014-2ad5-473e-9b89-1eb977bf9dfc",
"AppName": "HRM",
"RptCode": "MA",
"RptName": "Ký với đối tác Mer",
"WorkflowDefId": "ba15bf71-a748-4e91-bd39-f0e40f68bf00",
"WorkflowDefCode": "BA15BF71",
"WorkflowDefName": "Đơn vị ký trước",
"SignTemplateId": "a15b9535-4bb9-4792-a85a-adc93395a1f1",
"SignTemplateName": "Đơn vị đối tác ký",
"IdentifierType": "",
"Identifier": "",
"LastUpdated": "16/03/2023 10:27",
"SignItems": [],
"PartnerSignType": "",
"Roles": [
{
"Role": "make",
"Subject": "Đơn vị ký chính"
},
{
"Role": "partner",
"Subject": "Đối tác"
},
{
"Role": "other",
"Subject": "Đơn vị ký tham gia"
}
],
"ContractTemplates": [],
"Active": 1
}
],
"Code": 0,
"Found": false,
"Message": "ok"
}
8. Hàm ký qua mẫu tích hợp
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/integrate/simple/sign?accesscode=xxx&apikey=yyy
{
Id:"xxx", //id chung tu can ky
IntegrateTemplateId:"xxx", //id mẫu tích hợp lấy ở hàm 7
CallBackUrl:"https://", //Địa chỉ nhận callback
AdUserId:"admin", //user khới tạo hợp đồng
AdCompanyId:"xxx", //id công ty (nếu có)
AdDepartmentId:"xxx", //id phòng ban (nếu có)
PartnerSignType:"token", //Kiểu ký đối tác 1 trong 4 kiểu image, token, esign, ekyc
ContractNo:"xxx", //Số hợp đồng (nếu có)
RefContractId:"", //Id của hợp đồng gốc (nếu có)
"Fields":
[
{
"FieldName":"CONTRACT-NO",
"FieldValue":"1234"
},
{
"FieldName":"PARTNER-EMAIL",//* Bắt buộc có
"FieldValue":"Email đối tác"
}
{
"FieldName":"PARTNER-MOBILE",
"FieldValue":"Mobile đối tác"
}
{
"FieldName":"PARTNER-NAME",//* Bắt buộc có
"FieldValue":"Tên đối tác"
}
]
},
"AttachFiles"://Nếu sử dụng mẫu template không cần truyền
[
{
"AttachFileName":"Tên file",
"AttachContentBase64":"Nội dung base64"
"AttachFileType":"pdf" //kiểu file là pdf hay doc,
"Main":"1"//file chính đặt là 1
},
{
"AttachFileName":"Tên file",
"AttachContentBase64":"Nội dung base64"
"AttachFileType":"doc" //kiểu file là pdf hay doc,
"Main":"0"//file liên quan đặt là 0 ví dụ phụ lục
},
}
]
{
Message:"", //Nội dung thông báo kết quả ký
Code:0, //0: Thành công
Id:"", //ID: Của giao dịch ký
}
9. Hàm tắt link ký
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/signdocgui/link/disable=xxx&apikey=yyy&id=zzz
{
Id:"zzz", //id chứng từ ký bằng hàm signdocgui
{
Message:"", //Nội dung thông báo kết quả
Code:0, //0: Thành công
Found:true, //true: tìm thấy link ký; false: không tìm thấy
}
10. Hàm mở link ký
Phương thức POST
Địa chỉ sử dụng
https://api.econtract.cmcts.vn/pdf/signdocgui/link/enable=xxx&apikey=yyy&id=zzz
{
Id:"zzz", //id chứng từ ký bằng hàm signdocgui
{
Message:"", //Nội dung thông báo kết quả
Code:0, //0: Thành công
Found:true, //true: tìm thấy link ký; false: không tìm thấy
}