Tài liệu tích hợp api và webservice hợp đồng điện tử
MỤC LỤC
3.3. Lấy danh sách khách hàng của doanh nghiệp. 10
3.4. Lấy danh sách loại hợp đồng. 15
3.5. Lấy danh sách hợp đồng cha đã ký. 16
3.6. Tạo hợp đồng từ file chỉ có 1 khách hàng cá nhân ký. 17
3.10. Lấy danh sách hợp đồng tôi lập. 25
*A – Tạo mới, M – Sửa đổi, D – Xóa bỏ
Ngày thay đổi |
Vị trí thay đổi |
A* M, D |
Nguồn gốc |
Phiên bản cũ |
Mô tả thay đổi |
Phiên bản mới |
02/03/2020 |
Toàn bộ |
A |
Tạo mới tài liệu |
|
|
v2.0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Response của server trả về ở dạng base64 , phải thực hiện decode base64 để chuyển thành dạng json
Hướng dẫn decode response
Bước 1. Lấy token hiện tại của tài khoản đăng nhập(nếu chưa đăng nhập bỏ qua bước này). Ví dụ token hiện tại: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyMTA1MjAyMDM5LTEyMCIsInNhbHQiOiJAK15RSDFLX3J5IiwiZXhwIjoxNjIyNzM5NjAwLCJpYXQiOjE2MjE5MTAwODMsInVzZXJuYW1lIjoiMjEwNTIwMjAzOS0xMjAifQ.V2y0lPToUmiFNLTKQCYu2za88GqqqscQ6z1QBVsUwmk4U_BkbH2ZXdvKai_QFyfNyTK6lulZhza4HjkXkUJ-_w
Bước 2. Encode base64 token ở trên được chuỗi base64 mới.
Ví dụ với token trên: ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TVRBMU1qQXlNRE01TFRFeU1DSXNJbk5oYkhRaU9pSkFLMTVSU0RGTFgzSjVJaXdpWlhod0lqb3hOakl5TnpNNU5qQXdMQ0pwWVhRaU9qRTJNakU1TVRBd09ETXNJblZ6WlhKdVlXMWxJam9pTWpFd05USXdNakF6T1MweE1qQWlmUS5WMnkwbFBUb1VtaUZOTFRLUUNZdTJ6YTg4R3FxcXNjUTZ6MVFCVnNVd21rNFVfQmtiSDJaWGR2S2FpX1FGeWZOeVRLNmx1bFpoemE0SGprWGtVSi1fdw==
Bước 3. Giả sử response nhận được ở server như sau:
ZXlKaGJHY2lPaUpJVXpVeE1pSjkuZXlKemRXSWlPaUl5TVRBMU1qQXlNRE01TFRFeU1DSXNJbk5oYkhRaU9pSkFLMTVSU0RGTFgzSjVJaXdpWlhod0lqb3hOakl5TnpNNU5qQXdMQ0pwWVhRaU9qRTJNakU1TVRBd09ETXNJblZ6WlhKdVlXMWxJam9pTWpFd05USXdNakF6T1MweE1qQWlmUS5WMnkwbFBUb1VtaUZOTFRLUUNZdTJ6YTg4R3FxcXNjUTZ6MVFCVnNVd21rNFVfQmtiSDJaWGR2S2FpX1FGeWZOeVRLNmx1bFpoemE0SGprWGtVSi1fdw==eyJjb2RlIjoiMjAwIiwibWVzc2FnZSI6Ik9LIiwiZGF0YSI6IntcImlzUGFyZW50XCI6dHJ1ZSxcInVzZXJUeXBlXCI6MSxcInBlcm1pc3Npb25zXCI6WzAsMSwyLDMsNCw1LDZdfSIsInN1Y2Nlc3MiOnRydWV9
Phần bôi đỏ chính là token đã được encode base64(dấu hiệu nhận biết là đoạn ==eyj), Xoá phần bôi đỏ đi, phần còn lại decode base64 ta nhận được dữ liệu json mà server trả về
Ví dụ với response ở trên, response nhận được sau khi decode:
{
"code":"200",
"message":"OK",
"data":"{\"isParent\":true,\"userType\":1,\"permissions\":[0,1,2,3,4,5,6]}",
"success":true
}
Trong đó phải chú ý đến các trường data, success:
data:là dữ liệu nhận được từ server ở dạng string, cần parse về json để sử dụng
success: thể hiện có lỗi xảy ra hay không, success=true thành công, success=true lỗi.
Nếu response nhận được từ server KHÔNG chứa token thì có thể decode luôn để lấy data
Endpint: /auth/login
Method: POST
Request
Tên trường |
Kiểu dữ liệu |
IN |
Mô tả |
password |
String |
body |
Mật khẩu |
username |
String |
body |
Username |
captcha |
String |
body |
Captcha: Khi đăng nhập sai quá 5 lần, hệ thống sẽ yêu cầu xác thực reCAPTCHA và bắt buộc phải gửi captcha token lên server mới có thể đăng nhập được. Nếu chưa nhập sai mật khẩu 5 lần thì không phải gửi captcha |
Response
Name |
In |
Type |
Description |
enterpriseId |
enterpriseId |
String |
ID doanh nghiệp |
fullName
|
fillName |
String |
Tên doang nghiệp |
isParent |
isParent |
bool |
Có phải doanh nghiệp cha hay không |
permissions |
permissions |
Array<int> |
Danh sách quyền |
tenantId |
tenantId |
string |
tenantId |
token |
|
string |
Token để sử dụng cho những request sau |
userId |
|
string |
User id |
userType |
|
number |
Loại user |
username |
|
string |
username |
Example
{ "token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwic2FsdCI6InZnVmhKODFhY0EiLCJleHAiOjE2MjI3Mzk2MDAsImlhdCI6MTYyMTkxMTE3NiwidXNlcm5hbWUiOiIxMjM0NTY3ODkwIn0.bUpDvQZF8DZEsjvF86VbJ1KwBsDBY916mPwmj7HHvmYMBYsLnsqkcvb0FX50_VzBNTtZkZ95gMMP8HRQdR_Cyw", "tenantId":"NTRmJSMkc0EmKjEu003d", "userId":"NWE0ZmQkaHNBKjQwNAu003du003d", "enterpriseId":"NTRmc0EmKjMzNgu003du003d", "username":"1234567890", "fullName":"khách hàng test xem có gửi tài khoản không", "isParent":false, "userType":5, "permissions":[ 0, 1, 6 ] } |
Tạo khách hàng gồm 2 bước
Bước 1. Upload danh sách tệp đính kèm lên và lấy lại đường dẫn
Bước 2. Đưa thông tin khác hàng lên
Endpoint: file/upload/customer/
Method: POST
Request
Name |
In |
Type |
Description |
file |
Formdata |
binary |
File upload qua form data. Có thể gửi nhiều file cùng 1 lúc, chỉ chấp nhập file pdf hoặc file ảnh |
Authorization |
header |
String |
Bearer <token> |
Code ví dụ gửi file formdata javascript
var myHeaders = new Headers(); myHeaders.append("Authorization", "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyMTA1MjAyMDM5LTEyMCIsInNhbHQiOiIqSCkzKkMxOWQ9IiwiZXhwIjoxNjIyNzM5NjAwLCJpYXQiOjE2MjE5MTIxOTYsInVzZXJuYW1lIjoiMjEwNTIwMjAzOS0xMjAifQ.9sDjRAwGvLJgNP4L8CbXzYDvTIhZuzMQA_h85_F5jukwOmR_63sTMCyRDdG1JdEQev4iS57SQemn7n70cjqnvQ");
var formdata = new FormData(); formdata.append("file", fileInput.files[0], "sample.pdf"); formdata.append("file", fileInput.files[0], "ky_lo.pdf");
var requestOptions = { method: 'POST', headers: myHeaders, body: formdata, redirect: 'follow' };
fetch("http://10.60.156.247:8441/scontract-web-api-private/api/file/upload/customer/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
|
Response
Response |
Description |
[ { "path":"3A5E01F061A4824426571281C957FFD46FF43846180C7752C37FBE2C01932DD7", "fileName":"sample.pdf", "fileSize":3028 }, { "path":"EBFA517A78DBDEE357292CC454F13E0099DDCDC729303E23D28BE8AE214C7C62", "fileName":"ky_lo.pdf", "fileSize":236374 } ] |
Trả về danh sách tương ứng với với file upload lên
path: đường dẫn tương đối trên server, dùng đường dẫn này cho bước tiếp theo fileName: Tên file fileSize: dung lượng file |
Endpoint: /customer/add
Method: POST
Request
Name |
In |
required |
Type |
Description |
accountNumber |
Body |
No |
String |
Số tài khoản ngân hàng |
address |
Body |
Yes |
String |
Địa chỉ |
attachments |
Body |
No |
array |
Danh sách file đính kèm là danh sách lấy được từ api upload file |
bankBranch |
Body |
No |
String |
Tên chi nhánh ngân hàng |
bankName |
Body |
No |
Number |
Tên ngân hàng |
birthday |
Body |
No |
Number |
Ngày sinh |
certificateId |
Body |
Yes |
Number |
Loại giấy tờ: 30000: CMTND 30001: Hộ chiếu 30002: Giấy tờ khác |
certificateNo |
Body |
Yes |
Number |
Số giấy tờ |
cityId |
Body |
Yes |
Number |
Id thành phố |
customerType |
Body |
Yes |
Number |
Loại khách hàng: 10000 là khách hàng cá nhân |
districtId |
Body |
Yes |
String |
Huyện id |
|
Body |
Yes |
String |
|
enterpriseId |
Body |
Yes |
String |
Id doanh nghiệp nhận được khi đăng nhập |
fax |
Body |
No |
String |
fax |
issuedAt |
Body |
Yes |
String |
Nơi cấp giấy tờ |
issuedDate |
Body |
Yes |
String |
Ngày cấp giấy tờ |
name |
Body |
Yes |
String |
Tên khách hàng |
phone |
Body |
Yes |
String |
Số điện thoại khách hàng |
representativeCertificateId |
Body |
|
Number |
30000
|
sex |
Body |
No |
Bool |
Giới tính True: nam False: nữ |
status |
Body |
|
Bool |
true |
wardId |
Body |
No |
String |
Xã id |
Example
{ "enterpriseId":"NTRmc0EmKjI5NQ==", "customerType":10000, "name":"tên kh", "status": true, "certificateId":30000, "certificateNo":"32323232", "issuedDate":"2021-05-24T17:00:00.000Z", "issuedAt":"543353", "representativeCertificateId":30000, "birthday":"2021-05-24T17:00:00.000Z", "sex":true, "accountNumber":"543534534", "bankName":"ngân hang abc", "bankBranch":"chi nhánh ngân hang", "phone":"0978610265", "fax":"4335545", "email":"muoinguyen01@viettel.com.vn", "address":"địa chỉ 1", "cityId":"A076", "wardId":"A076002001", "districtId":"A076002", "attachments":[ { "path":"3A5E01F061A4824426571281C957FFD46FF43846180C7752C37FBE2C01932DD7", "fileName":"sample.pdf", "fileSize":3028 }, { "path":"EBFA517A78DBDEE357292CC454F13E0099DDCDC729303E23D28BE8AE214C7C62", "fileName":"ky_lo.pdf", "fileSize":236374 } ]} |
Response Parameters
Name |
In |
Type |
Description |
|
body |
String |
Mã khách hàng |
Example
NWQ4NGYlZGhzQSYqMjg3 |
Endpoint: /customer/filter
Method: POST
Request
Name |
In |
Type |
Description |
enterpriseId |
Body |
String |
Id doanh nghiệp hiện tại |
enterpriseTypeId |
Body |
Array<String> |
Loại khách hàng: Cá nhân: ["10000"] Công ty tư nhân: ["10001”] Cơ quan chính quyền: ["10002”] Cơ quan chính phủ: [“10003”] Doanh nghiệp nhà nước: [“10004”] |
keyword |
Body |
String |
Tìm theo email, điện thoại, tên khách hàng |
page |
Body |
Number |
Số trang: dùng để phân trang |
pageSize |
Body |
Number |
Số lượng bản ghi trong 1 trang: dùng để phân trang |
taxCodeOrCertificateNo |
Body |
String |
Tìm theo mã số thuế , CMTND, số giấy tờ |
status |
Body |
Array<Int> |
Để mặc định = [0, 1] |
Authorization |
header |
String |
Bearer <token> |
Example
{ "tenantId":"NTRmJSMkc0EmKjE=", "page":0, "pageSize":10, "enterpriseId":"NTRmc0EmKjI5NQ==", "taxCodeOrCertificateNo":"taxCodeOrCertificateNo", "keyword":"keyword", "status":[0, 1], "enterpriseTypeId":["10000"] } |
Response
Name |
In |
Type |
Description |
currentPage |
body |
Number |
Trả về danh sách tương ứng với với file upload lên
path: đường dẫn tương đối trên server, dùng đường dẫn này cho bước tiếp theo fileName: Tên file fileSize: dung lượng file |
totalRow |
body |
Number |
|
pageSize |
body |
Number |
|
dataRow |
|
[ { "id":String, "customerId”: String, "enterpriseId":String, "customerType":Number, "name":String, "status":Bool, "createdBy":String, "certificateId":Number, "certificateNo":String, "issuedDate": Date, "issuedAt":String, "representativeCertificateId":30000, "sex":Bool, "phone":String, "email": String, "address":String, "wardId":String, "cityId":String, "districtId":String, "isDeleted":Bool, "version":0, "isSkipVersion":false, "hasPermission":true, "attachments":[ ] } ] |
Id: Id bản ghi customerId: id khách hàng enterpriseId: id doanh nghiệp của khách hàng customerType: Loại khách hàng name: Tên khách hàng status: createdBy: Id của user tạo khách hàng certificateId:Loại giấy tờ certificateNo: Số giấy tờ issuedDate: Ngày cấp giấy tờ issuedAt: Nơi cấp giấy tờ sex: giới tính phone: Số điện thoại address: Địa chỉ chi tiết wardId: id xã cityId: id tỉnh districtId: id huyện isDeleted: khách hàng đã bị xoá chưa
|
Example
{ "currentPage":0, "pageSize":10, "totalRow":2, "dataRow":[ { "id":"NWQ4NGYlZGhzQSYqMjg3", "customerId":"NTRmc0EmKjQ4Mgu003du003d", "enterpriseId":"NTRmc0EmKjI5NQu003du003d", "customerType":10000, "name":"fdfdfdfdfdfd", "status":true, "createdBy":"NWE0ZmQkaHNBKjM1Mwu003du003d", "certificateId":30000, "certificateNo":"dfdfđ", "issuedDate":"May 25, 2021 12:00:00 AM", "issuedAt":"fdfd", "representativeCertificateId":30000, "sex":true, "phone":"0978610265", "email":"muoinguyen01@viettel.com.vn", "address":"hfhfghgf", "wardId":"A076003002", "cityId":"A076", "districtId":"A076003", "isDeleted":false, "version":0, "isSkipVersion":false, "hasPermission":true, "attachments":[
] }, { "id":"NWQ4NGYlZGhzQSYqMjg2", "customerId":"NTRmc0EmKjQ4MQu003du003d", "enterpriseId":"NTRmc0EmKjI5NQu003du003d", "customerType":10000, "name":"tên kh", "status":true, "createdBy":"NWE0ZmQkaHNBKjM1Mwu003du003d", "certificateId":30002, "certificateNo":"32323232", "issuedDate":"May 25, 2021 12:00:00 AM", "issuedAt":"543353", "representativeCertificateId":30000, "birthday":"May 25, 2021 12:00:00 AM", "sex":false, "accountNumber":"543534534", "bankName":"ngân hang abc", "bankBranch":"chi nhánh ngân hang", "phone":"0978610265", "fax":"4335545", "email":"muoinguyen01@viettel.com.vn", "address":"chân sai vặt", "wardId":"A076002001", "cityId":"A076", "districtId":"A076002", "isDeleted":false, "version":4, "isSkipVersion":false, "hasPermission":true, "attachments":[ { "id":"NWQ4NGYlZGhzQSYqMTE0", "path":"20210525/243027BD0F920DD5497CB0CBCC652959C76761DB3810B44E7E717D7976ECD972.pdf", "fileName":"PL01_Checklist_Kiemsoat_scontract.pdf", "isDeleted":false, "fileSize":183294 }, { "id":"NWQ4NGYlZGhzQSYqMTE1", "path":"20210525/79082B3A3991EC8E5992DC66152D09F6123454A17EBEDE8AEB70EB410F4B38DF.pdf", "fileName":"BM01_PYC_Scontract_3710293_NFS-signed.pdf", "isDeleted":false, "fileSize":284164 } ] } ] } |
Endpoint: common/enterprise/service-type/<enterpriseId>
Method: GET
Request
Name |
In |
Type |
Description |
enterpriseId |
Query |
string |
Id của doanh nghiệp muốn lấy danh sách loại hợp đồng |
Authorization |
header |
String |
Bearer <token> |
Example
common/enterprise/service-type/ NTRmc0EmKjI5NQ== |
Response
Name |
Description |
[ { "id":242, "name":"điện", "nameAlias":"dien" }, { "id":245, "name":"hợp đồng có mẫu sử dụng", "nameAlias":"hop dong co mau su dung" }, { "id":243, "name":"Hợp đồng điện", "nameAlias":"hop dong dien" }, ] |
Trả về danh sách loại hợp đồng id: id của serviceType name: tên serviceType nameAlias |
Endpoint: /contract/parent-by-name?filter=<keyword>
Method: GET
Request
Name |
In |
Type |
Description |
filter |
Query |
string |
Keyword truyền vào để tìm kiếm hợp đồng cha |
Authorization |
header |
String |
Bearer <token> |
Example
/contract/parent-by-name?filter=hopdongcha |
Response
Response |
Description |
[ { "id":"NTA0ZHMkZCNzQSYqJioxMDQ1MQu003du003d", "name":"đổi loại hđ 3", "code":"doiloaihd3", "serviceType":229, "filePath":"20210129/EEE974EED7423539D657BD2B2DC0DA3B8135CEB9451E45AD2498CB154EBA02CD.pdf" } ] |
Trả về danh sách hợp đồng id: id của hợp đồng name: tên hợp đồng code: Mã hợp đồng serviceType: ServiceType id filePath: đường dẫn file hợp đồng chính |
Các bước tạo hợp đồng từ file
Bước 1: upload file hợp đồng lên server, nhận lại đường dẫn
Bước 2: upload file đính kèm hợp đồng(nếu có), nhận lại đường dẫn
Bước 3: Lưu thông tin chi tiết hợp đồng
Endpoint: /contract/upload/file
Method: POST
Request
Name |
In |
Type |
Description |
file |
Formdata |
binary |
Với file hợp đồng chính, chỉ upload 1 file |
Authorization |
header |
String |
Bearer <token> |
Code ví dụ gửi file formdata javascript(Tương tự upload file đính kèm khách hàng, chỉ khác đường dẫn file)
Response
Response |
Description |
A5EBFC96407F03766F46729C84C48C6D1C1593B42E04D412755C3DE1D39063B7 |
Trả về đường dẫn file hợp đồng đã được mã hoá, dùng giá trị này cho các bước tiếp theo |
Endpoint: /file/upload/contractAttachment
Method: POST
Mô tả:
File đính kèm không bắt buộc, chỉ khi upload file đính kèm lên mới cần gọi api này
Request
Name |
In |
Type |
Description |
file |
Formdata |
binary |
Với file hợp đồng chính, chỉ upload 1 file |
Authorization |
header |
String |
Bearer <token> |
Code ví dụ gửi file formdata javascript(Tương tự upload file đính kèm khách hàng, chỉ khác đường dẫn file)
Response
Response |
Description |
[ { "fileName":"sample.pdf", "fileSize":3028, "path":"A7D559822E70EB7DA5DED2A5C6045A45E34069A400FA055BF281834F09BD7C35" }, { "fileName":"ky_lo.pdf", "fileSize":236374, "path":"1954FF558531A7BC082903595BF776A0FB174E4597550EB0769D70AD012D35EC" } ] |
Trả về danh sách đường dẫn cho các file upload filename: Tên file upload fileSize: dung lượng file path: đường dẫn của file đã được mã hoá |
Endpoint: /contract/file
Method: POST
Mô tả:
File đính kèm không bắt buộc, chỉ khi upload file đính kèm lên mới cần gọi api này
Request
Name |
In |
Required |
Type |
Description |
code |
body |
Yes |
String |
Mã hợp đồng |
name |
body |
Yes |
String |
Tên hợp đồng |
parentId |
body |
No |
String |
Mã hợp đồng cha(nếu có) |
enterpriseId |
body |
Yes |
String |
Mã doanh nghiệp tạo hợp đồng |
filePath |
body |
Yes |
String |
Đường dẫn file hợp đồng chính nhận được ở bước trên |
expiredDate |
body |
No |
Date |
Ngày hết hạn hợp đồng |
newUploadContractAttachments |
body |
No |
Array<{ fileName: "sample.pdf" fileSize: 3028 path: "A7D559822E70E” }> |
Danh sách file đính kèm nhận được ở bước trên |
serviceType |
body |
Yes |
Number |
Service type id |
enterpriseSign |
body |
Yes |
Array<{ certificateNo: "1234567890" customerId: "NWQ4NGYlZGhzQSYqMjQ2" email: "muoinv@is.viettel.com.vn" enterpriseId: "NTRmc0EmKjMzNg==" enterpriseName: "" isCreatedSide: false isSignNoLogin: false name: "khách hàng test xem có gửi tài khoản không" order: 1 phone: "0978610265" status: 1 useDataForTemplate: false }> |
Danh sách chủ thể ký, Với Trường hợp chỉ có 1 khách hàng cá nhân ký thì danh sách này chỉ có 1 phần tử chứa thông tin của khách hàng cá nhân certificateNo: Số giấy tờ Kh customerId: Id khách hàng email: email khách hàng enterpriseId: enterprise id khách hàng enterpriseName: enterpriseName của khách hàng isCreatedSide: Có phải chủ thể tạo hay không isSignNoLogin: có cho phép ký không đăng nhập hay không name: tên khách hàng order: Thứ tự ký, trường hợp này auto = 1 phone: Số điện thoại status: 1 : Nháp useDataForTemplate: Có fill thông tin vào mẫu hợp đồng hay khong |
signPage |
body |
Yes |
Number |
Trang chứa chữ ký |
userSign |
body |
No |
Array |
Danh sách người ký, với trường hợp chỉ có 1 khách hàng cá nhân ký thì danh sách này rỗng |
Authorization |
header |
|
String |
Bearer <token> |
Response
Response |
Description |
{ "code":"CREATED", "message":"Tạo mới thành công.", "success":true } |
|
EndPoint: /contract/<contractId>
Method: GET
Request
Name |
In |
Type |
Description |
contractId |
Query params |
string |
Id của hợp đồng |
Authorization |
header |
String |
Bearer <token> |
Response
Response |
Description |
{ "contractDTO":{ "id":"NTA0ZHMkZCNzQSYqJioxMTc0OAu003du003d", "code":"mahopdong123456", "name":"tên hợp đồng", "parentId":"NTA0ZHMkZCNzQSYqJioxMDM5Ngu003du003d", "enterpriseId":"NTRmc0EmKjI5NQu003du003d", "documentTypeEnterpriseId":"NWFyNCNmQSYmKjEwMwu003du003d", "status":1, "filePath":"CD78860682F3B65B8EA82A97B6013337BC59EC44C7C6C5EE47CC80F683988792", "typeId":1, "isDeleted":false, "createdBy":"NWE0ZmQkaHNBKjM1Mwu003du003d", "expiredDate":"May 25, 2021 12:00:00 AM", "isSended":false, "version":0, "serviceType":232, "contractAttachments":[
], "newUploadContractAttachments":[ { "id":"NTA0ZHMkZCNzQSYqJioxMzgw", "fileName":"sample.pdf", "fileSize":3028, "path":"A7D559822E70EB7DA5DED2A5C6045A45E34069A400FA055BF281834F09BD7C35", "isDeleted":false, "isNewUpload":true }, { "id":"NTA0ZHMkZCNzQSYqJioxMzgx", "fileName":"ky_lo.pdf", "fileSize":236374, "path":"1954FF558531A7BC082903595BF776A0FB174E4597550EB0769D70AD012D35EC", "isDeleted":false, "isNewUpload":true } ], "isDifferentEnterprise":false, "signPage":1 }, "inMultiSignProgress":false, "creatorSide":true, "serviceType":{ "id":232, "name":"loại hợp đồng 2" }, "isBlockSign":false, "isAutoSign":false, "isCaSignExpire":false } |
Id: Mã hợp đồng code: Mã hợp đồng name: Tên hợp đồng parentId: Mã hợp đồng cha enterpriseId: id doanh nghiệp tạo hợp đồng status: trạng thái hợp đồng 1: Nháp 2: Đang xử lý 3: 4: 5: filePath: đường dẫn file pdf chính isDeleted: Đã xoá hay chưa createdBy: Id người tạo expiredDate: Ngày hết hạn serviceType: Mã loại hợp đồng newUploadContractAttachments: Danh sách file đính kèm hợp đồng inMultiSignProgress: hợp đồng có đang ký theo lô hay không isDifferentEnterprise: Hợp đồng có đang được xem bởi khách hàng hay không creatorSide: hợp đồng có được xem bởi
|
EndPoint: /file/view/contract-by-path
Method: POST
Request
|
In |
Type |
Description |
|
Body |
{ "mainContractId":"NTA0ZHMkZCNzQSYqJioxMTc0OQ==", "referenceContractId":null, "pdfFilePath":"CCC687C91E3F9CFFB0C39D64C02A4C561CE9DB167CC538192566DD6CF2589E87" } |
mainContractId : Id của hợp đồng referenceContractId: id của hợp đồng liên kết, trong trường hợp này để null pdfFilePath: đường dẫn file pdf hợp đông |
Authorization |
header |
String |
Bearer <token> |
Response |
Description |
Byte array |
File pdf hợp đồng ở dạng byte array |
Endpoint: contract/filter-mine
Method: POST
Request
Type |
Dữ liệu đầu vào |
Bắt buộc |
Mô tả |
|
header |
Bearer <token> |
|
|
|
body |
{ "nameOrCode":"mã", "status":1, "customer":"email", "page":0, "pageSize":10, "createdTimeFrom":"2021-05-24T17:00:00.000Z", "createdTimeTo":"2021-05-25T17:00:00.000Z", "taxCode":null, "serviceType":242, "sorts":null } |
|
nameOrCode: tên hoặc mã hợp đồng status: trạng thái hợp đồng 1: Nháp 2: Đang xử lý 3: Đã từ chối 4: Hoàn thành 5: Đã huỷ customer: tìm theo tên hoặc email khách hàng createdTimeFrom: thời gian tạo hợp đồng từ ngày createdTimeTo: thời gian tạo hợp đồng đến ngày serviceType: Id loại hợp đồng |
|
Response
Response |
Mô tả |
{ "code": "200", "message": "OK", "data": { "currentPage": 0, "pageSize": 10, "totalRow": 1, "dataRow": [ { "id": "NTA0ZHMkZCNzQSYqJioxMTEyNw==", "name": "HDD22 - hợp đồng trao đổi tài sản", "createdUser": "test", "typeId": 1, "allName": "test", "receivedTime": "Apr 5, 2021 10:12:56 AM" } ] }, "success": true } |
|
Hướng dẫn tích hợp API chữ ký số vào ứng dụng thông qua webservice viettel tích hợp chữ ký số vào website phần mềm tích hợp chữ ký số của kbnn giải pháp tích hợp chữ ký số tích hợp chữ ký số vào phần mềm