Hotline: 0975.023.626
Trang chủ / Hướng Dẫn / Hướng dẫn sử dụng hệ thống quản lý hoá điện tử Viettel /Tài liệu tích hợp api và webservice hợp đồng điện tử scontract

Tài liệu tích hợp api và webservice hợp đồng điện tử scontract


2

Thông số kĩ thuật

MỤC LỤC

  1. BẢNG GHI NHẬN THAY ĐỔI 2
  2. Thông tin chung. 2
  3. Danh sách api 4

3.1. Đăng nhập. 4

3.2. Tạo khách hàng. 5

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.7. API xem hợp đồng. 21

3.10. Lấy danh sách hợp đồng tôi lập. 25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.      BẢNG GHI NHẬN THAY ĐỔI

 

*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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.      Thông tin chung

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

 

3.      Danh sách api

3.1. Đăng nhập

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

   ]

}

3.2. Tạo khách hàng

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

  1. API upload file đính kèm

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

 

  1. API lưu thông tin hợp đồng

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

email

Body

Yes

String

email

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

3.3.       Lấy danh sách khách hàng của doanh nghiệp

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

email

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

            }

         ]

      }

   ]

}

 

3.4. Lấy danh sách loại hợp đồng

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

 

3.5. Lấy danh sách hợp đồng cha đã ký

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

 

3.6. Tạo hợp đồng từ file chỉ có 1 khách hàng cá nhân ký

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

 

  1. API upload file đính kèm

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

 

  1. API upload file đính kèm

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á

 

  1. API lưu thông tin chi tiết hợp đồng

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

}

 

 

 

3.7. API xem hợp đồng

  1. Xem thông tin hợp đồng

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

 

  1. API xem file pdf hợp đồng

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>

 

  1. Response

Response

Description

Byte array

File pdf hợp đồng ở dạng byte array

 

3.10. Lấy danh sách hợp đồng tôi lập

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

}

 

 

 

email : quipd@viettel.com.vn để lấy thông tin đầy đủ

Sản phẩm khác

6 LỢI ÍCH CỦA DATA ANALYTICS ĐỐI VỚI NGÀNH VẬN TẢI VÀ LOGISTICS

6 LỢI ÍCH CỦA DATA ANALYTICS ĐỐI VỚI NGÀNH VẬN TẢI VÀ LOGISTICS

CHI TIẾT
6 LỢI ÍCH CỦA DATA ANALYTICS ĐỐI VỚI NGÀNH VẬN TẢI VÀ LOGISTICS
Trong kỷ nguyên số hiện nay, Phân tích dữ liệu (Data Analytics) được coi là năng lực nền tảng trong quá trình chuyển đổi số cho doanh nghiệp.
Các chuyên gia dự đoán, 5 năm tới, Data Analytics sẽ tiếp tục tác động lớn ở các ngành như: Bán lẻ và Hàng tiêu dùng nhanh, Khu vực công, Vận tải và Logistics, BFSI,..
Đối với ngành Vận tải và Logistics, Data Analytics đem lại 6 lợi ích nổi bật là:
• Tối ưu công tác điều độ cảng: Dựa vào lịch tàu cập bến, kích thước tàu tại cảng để giảm thiểu độ trễ và thời gian giải phóng tàu.
• Quản lý tài sản: Thu thập thông tin về trạng thái của container rỗng tại cảng, hỗ trợ đưa ra quyết định bảo trì sửa chữa nhằm tối ưu chi phí.
• Theo dõi việc vận chuyển hàng hóa: Giảm tải rỗng giữa các cảng với nhau.
• Theo dõi việc vận chuyển hàng hóa, lượng container hàng, container rỗng, hỗ trợ ra quyết định giảm tải container.
• Quản lý vòng đời container: Phân tích vòng đời của 1 container từ khi nhập bãi, xuất bãi, sửa chữa.
• Quản lý kho bãi: Theo dõi thời gian tồn trong kho bãi của container hàng để có các chính sách giá theo thời gian tồn bãi phù hợp.
• Quản lý đội xe Rơ moóc: Người điều hành theo dõi số lượng xe còn, lượng xe đang lưu hành để dễ dàng điều phối.
Với nền tảng hạ tầng số lớn nhất Việt Nam và sở hữu các công nghệ 4.0 như AI, Big Data và IoT, SmartSolutions cung cấp giải pháp Hồ Dữ liệu (Data Lake), giúp các doanh nghiệp Vận tải và Logistics phân tích và dự báo kết quả kinh doanh dễ dàng, phân tích để tối ưu vị trí kho bãi, đưa ra chiến lược giá, dự báo hỏng hóc, bảo dưỡng vận hành, phân loại khách hàng.
Nhờ đó, các doanh nghiệp Vận tải và Logistics có góc nhìn toàn cảnh về tình hình kinh doanh, tối ưu hoạt động điều hành và hiểu chân dung khách hàng một cách rõ ràng hơn.
-----
6 BENEFITS OF DATA ANALYTICS FOR THE TRANSPORTATION AND LOGISTICS INDUSTRY
In digital era, Data Analytics is considered a fundamental competency in the digital transformation process for businesses.
Experts predict that in the next 5 years, Data Analytics will continue to have a major impact in some industries such as: Retail and FMCG, Public Sector, Transportation and Logistics, BFSI, etc.
For the Transportation and Logistics industry, Data Analytics brings 6 outstanding benefits:
• Optimize port dispatching work: Based on ship arrival schedule and ship size at port to minimize delay and ship release time.
• Asset management: Collect information about the status of empty containers at the port, support making maintenance and repair decisions to optimize costs.
• Track the transportation of goods: Reduce empty loads between ports.
• Monitor the transportation of goods, the amount of cargo containers, empty containers, and support decision-making to reduce container load.
• Container life cycle management: Analyze the life cycle of a container from import, export, and repair.
• Warehouse management: Monitor the inventory time of containers to have appropriate pricing policies based on inventory time.
• Trailers management: Operators track the number of vehicles available and the number of vehicles in circulation for easy coordination.
With the largest digital infrastructure platform in Vietnam and possessing 4.0 technologies such as AI, Big Data and IoT, SmartSolutions provides Data Lake, helping businesses in Transport and Logistics industry analyze and forecast business results, optimize warehouse locations, provide pricing strategies, forecast failures, maintain operations, and classify customers. Transport and Logistics businesses will have a panoramic view of the business situation, optimize operating activities and understand customer profiles more clearly.

 

Bộ 6 sản phẩm, dịch vụ của Smart Solutions giúp các doanh nghiệp khai thác dữ liệu hiệu quả

Bộ 6 sản phẩm, dịch vụ của Smart Solutions giúp các doanh nghiệp khai thác dữ liệu hiệu quả

CHI TIẾT
Các chuyên gia thường ví Dữ liệu là vàng, là dầu mỏ trong kỷ nguyên số. Nhưng nếu không tổ chức hệ thống dữ liệu để có thể phân tích được, thì không thể khai thác "mỏ vàng" này hiệu quả.
Smart Solutions đã nghiên cứu và triển khai bộ 6 giải pháp, dịch vụ có thể giải bài toán làm sao để khai thác dữ liệu số tạo ra giá trị.
1. Smart Data Platform: Nền tảng giúp doanh nghiệp dễ dàng triển khai một hệ thống Big Data nhanh chóng, đơn giản và tiết kiệm nguồn lực cho việc phát triển các sản phẩm dựa trên dữ liệu doanh nghiệp.
2. Smart Machine Learning Platform: Nền tảng được sử dụng trong các giải pháp triển khai các use case phân tích dữ liệu chuyên sâu.
3. Dịch vụ triển khai Customer 360: Dịch vụ tổng hợp, hợp nhất dữ liệu khách hàng và phân khúc khách hàng tìm ra những đặc điểm chung, gợi ý các sản phẩm phù hợp đến từng khách hàng.
4. Customer Data Platform Nền tảng hoàn chỉnh để thực hiện triển khai một hệ thống Customer 360 nhanh chóng, đơn giản và tiết kiệm cho doanh nghiệp.
5. Dịch vụ triển khai Data Lake: Tích hợp, chuẩn hóa, truy vấn khai thác khối lượng dữ liệu từ nhiều nguồn khác nhau (bao gồm có cấu trúc, phi cấu trúc và bán cấu trúc).
6. Dịch vụ phân tích dữ liệu: Phân tích dữ liệu chuyên sâu dựa trên nền tảng vMLP để mang lại giá trị từ khối dữ liệu từ khách hàng.