SlideShare a Scribd company logo
1 of 18
CÔNG TY TNHH AAA
TÀI LIỆU KHẢO SÁT PHÂN HỆ: KẾT NỐI FAST - CRM
Phiên bản: 1.0 ..........................................
Ngày viết tài liệu: ......................................
Ngày sửa lần cuối:....................................
Người viết: Hồ Vĩnh Khoa.........................
Trang 2
Mục lục
1. Kiểm soát tài liệu.....................................................................................................................................3
1.1 Mục đích tài liệu...................................................................................................................................3
1.2 Kiểm tra tài liệu....................................................................................................................................3
1.3 Tham gia thực hiện tài liệu ..................................................................................................................3
1.4 Xác nhận tài liệu khảo sát ...................................................................................................................4
2. Giới thiệu về Fast API.............................................................................................................................5
3. Quy ước ...................................................................................................................................................5
3.1 Bảo mật trên Fast API .........................................................................................................................5
3.2 Cách thức truyền dữ liệu.....................................................................................................................5
3.2.1 Cách tạo token..............................................................................................................................8
3.2.2 Cách tạo data................................................................................................................................9
3.2.3 Cách tạo {key} lúc gọi ApiQuery (Khác với lúc gọi ApiLogin).......................................................9
3.3 Thông số trả về..................................................................................................................................10
3.4 Thông báo khi có dữ liệu đầu vào cần chuyển qua đối tác...............................................................10
4. Kết nối FAST và CRM ...........................................................................................................................12
4.1.1 Quy trình tổng thể .......................................................................................................................12
4.2 Quy trình truyền dữ liệu chi tiết .........................................................................................................12
4.2.1 Dữ liệu mapping giữa FAST và CRM.........................................................................................12
4.2.2 Dữ liệu đồng bộ từ CRM sang FAST .........................................................................................12
Trang 3
1. Kiểm soát tài liệu
1.1 Mục đích tài liệu
- Đây là tài liệu mô tả yêu cầu về kết nối dữ liệu giữa hệ thống Fast Business Online triển khai tại
AAA và hệ thống CRM.
- Tài liệu này sẽ làm cơ sở để FAST chỉnh sửa các yêu cầu phục vụ cho việc kết nối dữ liệu với hệ
thống CRM.
1.2 Kiểm tra tài liệu
Ngày duyệt: Ngày duyệt:
Người duyệt: Khách hàng duyệt:
Chữ ký
Họ và tên: .……………………………………….
Chữ ký
Họ và tên:………………………………………….
1.3 Tham gia thực hiện tài liệu
Stt Họ tên người tham gia thực hiện tài liệu Chức danh Phòng
1 Hồ Vĩnh Khoa Trưởng dự án
2
3
Trang 4
1.4 Xác nhận tài liệu khảo sát
Hai bên cùng thống nhất xác nhận nội dung tài liệu khảo sát về các chức năng trong chương trình
Các yêu cầu bổ sung, cũng như các thay đổi sau này sẽ được hai bên xem xét và thống nhất bằng
văn bản.
Tài liệu có … trang được lập thành 02 (hai) bản, mỗi bên giữ 01 (một) bản có giá trị như nhau.
TP HCM, ngày ….. tháng ….. năm …..
Đại diện Công ty AAA Đại diện Công ty FAST
Trang 5
2. Giới thiệu về Fast API
- Fast API sử dụng công nghệ JSON dùng để truyền và nhận dữ liệu.
- Đối tác sử dụng Xcode(MacOS), .Net, Python, Java, … điều có thể kết nối với API và nhập –
xuất dữ liệu dễ dàng
3. Quy ước
3.1 Bảo mật trên Fast API
Hiện tại trên Fast API được tích hợp các phương thức bảo mật nhiều lớp, khi có điều kiện bất kỳ
không thỏa là chúng tôi sẽ reject dữ liệu và không cần phải Phân Giải JSON, khi đó khả năng chịu tải
của hệ thống sẽ tốt hơn
Các phương thức bảo mật của Fast API gồm có:
- Private key: Khóa được khai báo sẵn, không truyền đi trong suốt phiên làm việc
- Token: trong một thời gian làm việc, token sẽ thay đổi
- Public Key: Được mã hóa và bảo mật theo cơ chế riêng, kể cả ai đó biết về cơ chế này cũng
không thể can thiệp trong suốt phiên làm việc của hệ thống
- Chứng thực toàn vẹn dữ liệu: Dữ liệu được mã hóa và truyền đi, cho dù có sự can thiệp 1 ký tự
bất kỳ thì hệ thống vẫn phát hiện được
- Chống replay attack: Cơ chế này chống lại trường hợp tấn công trên đúng dữ liệu được sinh ra,
nhằm gây quá tải hệ thống, tương tự như DDOS
- Chống request tự động: Khi login sai sau n lần trong m phút thì hệ thống sẽ khóa tài khoản tạm
thời trong k phút
- Block IP: Khi dùng cơ chế này thì mỗi User chỉ được phép tương tác đến API từ một danh sách
IP được khai báo sẵn theo từng User, nếu không tồn tại thì hệ thống sẽ Reject
3.2 Cách thức truyền dữ liệu
- Dữ liệu được truyền đồng bộ qua phương thức POST đến trang http(s)://..../APIQuery.ashx, với
các thông số cơ bản sau(Do một số đối tác truyền bất đồng bộ dữ liệu 1 phiếu truyền 2 lần cùng
1 thời gian, khi đó dữ liệu mới đến trước, dữ liệu cũ đến sau, dẫn đến phiếu lưu là phiếu cũ)
Trang 6
Stt Mã Diễn giải
1 token
Mã phiên làm việc, mỗi token có hạn hiệu được định nghĩa trước,
khi token sắp hết hạn, sẽ gọi hàm cấp lại token khác
2 form Tên các hàm cần gọi, được mã hóa bằng Base64
3 key
Là khóa chứng thực dữ liệu được truyền đi không được chỉnh
sửa, có hướng dẫn tạo key ở mục sau
4 data
Dữ liệu truyền đi dạng Json, được mã hóa và có thể giải mã được,
có hướng dẫn tạo data ở mục sau
5 userid Mã user được fast cấp, để phân biệt nguồn dữ liệu
6 time
Có 2 cách như sau:
+ Định dạnh: yyyyMMddhhmmssffffff là giờ hiện của hệ thống
(Dùng cho hệ thống vừa và nhỏ, lượng request ít)
+ số n tự tăng sau mỗi lần request( dùng cho hệ thống lớn, lượng
reuqest nhiều)
* (phần time này nên cấp tập trung một nơi, để bảo đảm số sau
luôn lớn hơn số trước), khi nhận dữ liệu sau khi check key ok thì
kiểm tra nếu time trước đó phải nhỏ hơn time truyền qua thì mới
được thực thi, mục đích của việc này là chống spam và trùng dữ
liệu
Mô phỏng trên POSTMAN
Trang 7
Các mã lỗi chính khi bạn mới vừa tương tác với hệ thống, ngoài ra tùy theo chức năng mà có mã lỗi
con chi tiết theo từng Form
Mã Mô tả
11 Tham số truyền bị thiếu
12 Dữ liệu truyền chưa đúng
13 User chưa được cấp hoặc chưa được kích hoạt
14
Chứng thực không thành công, do sai privateKey hoặc cách sinh key không
đúng
15 Cấu trúc data chưa đúng định dạng JSON so với yêu cầu
16
Time truyền trong data nhỏ hơn time time trong hệ thống đang chạy, truyền
time thì chỉ dùng 1 máy chủ để cấp, cho ngày giờ (hoặc stt tự tăng) được
thống nhất
17 Mã hàm không tồn tại
18
Cột dữ liệu không đúng theo quy định, có kèm theo danh sách cột không tồn
tại
19 Không được phép xóa dữ liệu qua API
20 Token đã hết hạn, khi này bạn cần gọi hàm login lại
21
Cột … có giá trị không được rỗng (Vì mục đích báo mật, thông báo chi tiết
cột chỉ có hiệu lực khi debug, khi hệ thống go live sẽ chỉ báo giá trị không
được rỗng)
22 Độ dài của chuỗi vượt quá qui định
23 Mã không được chứ ký tự đặc biệt
24
Số liệu đã được khóa, bạn không được sửa, thêm khi các phiếu có ngày <=
ngày khóa
25 Sai ràng buộc, trường …. có giá trị nằm trong danh sách …..
26 Hàm ….. đã tắt, vui lòng liên hệ người quản trị
51 Có lỗi xảy ra trong quá trình thực thi, có kèm theo nội dung lỗi
Trang 8
3.2.1 Cách tạo token
Fast sẽ cấp một cặp privateKey và UserID login dùng để đăng nhập vào hệ thống. Khi login , bạn gọi
đến trang http(s)://..../APILogin.ashx, với thông số POST như sau:
- userID : được Fast cấp, userId này sẽ không đổi trong suốt quá trình hệ thống vận hành
- privateKey : key này sẽ thay đổi trong quá trình test và release sản phẩm, đôi khi có thể thay đổi
trong quá trình hệ thống vận hành để bảo đảm bảo mật, cho nên bạn cần phải khai báo động
thông tin này!
(privateKey này không truyền đi trong suốt phiên làm việc của hệ thống, privateKey chủ yếu để tạo
Key được truyền đi để chứng thực)
- time : Có mô tả làm tương tự ở mục các thông số cần thiết khi đồng bộ
- key: Tạo key ta làm như sau ta MD5 chuỗi privateKey + userID + time, lấy các ký tự thứ
2,9,30,18,23,16,12,17,22,1 (chuỗi này nên khai báo, vì có thể thay đổi khi chạy thực tế, vị trí bắt
đầu là 1, không phải 0), cách làm này tương tự như phần chứng thực data ở phía dưới
Sau khi request http(s)://..../APILogin.ashx, hệ thống Fast sẽ chứng thực, nếu thỏa điều kiện, hệ
thống sẽ trả về dữ liệu dạng JSON như sau:
[{“type”:1, “msg”:””, “token”:”xnshmsux34”, “expired”: “7”}]
Với:
- token : giá trị này sẽ được truyền đi trong suốt quá trình làm việc của hệ thống, độ dài 10 ký tự
- expired: số ngày hết hạn của token kể từ khi cấp (ngày, giờ, phút, giây cấp), bạn nên kiểm tra và
gọi lại hàm APIlogin.aspx trước khi token hết hạn, tốt nhất là gọi cấp lại trước 6 giờ hết hạn!
Cấu trúc của phương thức POST lúc Login như sau:
userID=34&time=20190529152810552037&key=35d2d7c163
Case test dưới đây để test code khi lập trình gọi APILogin
Position ID: 2,9,30,18,23,16,12,17,22,1
Private Key: BHAJKHJK
Time: 20200904232617669949
User ID: 34
Kết quả:
 MD5 (Base 64 (Private Key + User ID + Time)) :
c28cc460647e7a6831f01181e4462da8
 Key: 26d188e31c
Trang 9
3.2.2 Cách tạo data
Dữ liệu là một khối dữ liệu được xác định bởi cấu trúc JSON. Trong trường hợp dữ liệu quá lớn, nó
phải được chia thành nhiều lần,
Số dòng dữ liệu tối đa là tầm 2 000 dòng dữ liệu, mục đích để hạn chế phình dữ liệu lúc truyền đi, dữ
liệu sẽ được truyền qua phương thức POST đến trang APIQuery.aspx
Data có cấu trúc dạng JSON đặt tên là AA như sau:
[ { “YourID”:”1231235”,
“VoucherNo”:”DN001”,
“Date”: “20/05/2018”,
“CusCode”: “20/05/2018”,
“Product”: “VT001”,
“Quality”: 1,
“Price”: 1000000,
…
},{ “YourID”:”1231235”,
“VoucherNo”:”DN001”,
“Date”: “20/05/2018”,
“CusCode”: “20/05/2018”,
“Product”: “VT002”,
“Quality”: 1,
“Price”: 1000000,
…
}]
Sau đó base64 giá trị data AA vừa tạo ở trên ta sẽ có được chuỗ BB, Ta sẽ có {data} = BB
3.2.3 Cách tạo {key} lúc gọi ApiQuery (Khác với lúc gọi ApiLogin)
Ta MD5 chuỗi privateKey + time + data ta được chuỗi XK, lấy các ký tự thứ
2,9,30,18,23,16,12,17,22,1 của chuỗi XK(danh sách vị trí này nên khai báo, vì có thể thay đổi khi chạy
thực tế, vị trí bắt đầu là 1, không phải 0) ta được chuỗi XKEY
Ta sẽ có {key} = KEY
Cấu trúc của phương thức POST lúc GET hoặc SET như sau:
token=4D255AB8A8&userid=34&form=c2V0U2FsZXNJbnZvaWNlcw==&key=e11dd977f8&time=20
190607164504876746&data=W3siQmF0Y2hJRCI6MTg4NzQsIkNlbnRlcklEIjoyNiwiRGF0ZSI6IjE0LzA
2LzIwMTkifSx7IkJhdGNoSUQiOjE4ODc0LCJDZW50ZXJJRCI6MjYsIkRhdGUiOiIxOC8wNi8yMDE5In
1d
Trang 10
Case test dưới đây để test code khi lập trình gọi APIQuery
Position ID: 2,9,30,18,23,16,12,17,22,1
Private Key: BHAJKHJK
Time: 20200904230909639123
Data: W3sKICAgY2FjaGVJRDogInxjYWNoZUlEfCIKfV0=
Kết quả:
 MD5 (Base 64 (Private Key + Time + Data)):
c28cc460647e7a6831f01181e4462da8
 Key: 26d188e31c
3.3 Thông số trả về
Kết quả trả về dạng JSON được base64
Data có cấu trúc dạng JSON đặt tên là AA như sau
[{
type: 0, 1,2…,
msg: ‘Câu thông báo nếu có’,
count: 100, -- Số record trả về, dùng trong trường hợp get dữ liệu
continue: 1/0, -- 1 - Vẫn còn dữ liệu thỏa, nhưng chưa trả về, gọi tiếp tục để dữ
liệu trả về tiếp, 0 – Không còn dữ liệu
cacheID: Mã cache lưu tạm dữ liệu, để chờ đẩy đi,
data:
[
{id_qlcc:”KH01”, ten_kh: “Nguyễn Văn A”, ….},
{id_qlcc:”KH01”, ten_kh: “Nguyễn Văn A”, ….},
…..
]
}]
3.4 Thông báo khi có dữ liệu đầu vào cần chuyển qua đối tác
- API của Fast có hỗ trợ thông báo cho đối tác biết khi có dữ liệu cần chuyển từ Fast qua. Quý đối
tác cần phải xây dựng 1 URL (VD: http://127.25.64:8080/fastAlert.aspx) với các thông số POST
(không phải GET) như sau:
 time: Mỗi lần gọi URL, bên Fast sẽ gửi kèm một số N, bạn lưu số N lại, và số sau luôn
lớn hơn số trước, để hỗ trợ chống Replay Attack
 data: là cấu trúc JSON chứa danh sách các hàm có dữ liệu cần chuyển qua, JSON này
được Base64
VD: ["getItems","getCustomers","getSites","getSaleEmployees"]
 key: Cách tạo key tương tự cách tạo Key ở phần Fast nhận dữ liệu từ đối tác
Ta MD5 chuỗi privateKey + time + data ta được chuỗi XK, lấy các ký tự thứ
2,9,30,18,23,16,12,17,22,1 của chuỗi XK(danh sách vị trí này nên khai báo, vì có thể thay
đổi khi chạy thực tế, vị trí bắt đầu là 1, không phải 0) ta được chuỗi XKEY
Ta sẽ có {key} = KEY
Trang 11
- Khi có dữ liệu cần chuyển từ Fast cho đối tác thì hệ thống bên Fast sẽ gọi URL do quý đối tác
cung cấp theo các thông số POST được quy định sẵn. Sau khi nhận được thông báo này, quý
đối tác sẽ gọi trang APIQuery.aspx với các hàm tương ứng trong phần data được gửi qua. Sau
khi quý đối tác lấy dữ liệu xong thì Respone kết quả [‘OK’], nếu có lỗi thì respone về [‘ERROR’,
‘Kèm nội dung lỗi’] để Fast lưu lại log và bắt đầu quy trình mới.
Trang 12
4. Kết nối FAST và CRM
4.1.1 Quy trình tổng thể
STT CRM truyền sang FAST nhận
1 Danh mục khách hàng Danh mục khách hàng
2 Danh mục căn hộ Danh mục căn hộ
3 Danh mục giao dịch Danh mục giao dịch
4 Chuyển nhượng Chuyển nhượng
5 Phiếu thu tiền mặt Phiếu thu tiền mặt
6 Phiếu chi tiền mặt Phiếu chi tiền mặt
7 Giấy báo nợ Giấy báo nợ
8 Giấy báo có Giấy báo có
4.2 Quy trình truyền dữ liệu chi tiết
4.2.1 Dữ liệu mapping giữa FAST và CRM
Đây là các danh mục cần khai báo trường để mapping dữ liệu giữa 02 bên, vì tính chất ít phát sinh và
chỉ đồng bộ 1 lần ban đầu nên không cần thông qua API
4.2.1.1 Danh mục dự án (vụ việc)
Trên danh mục dự án của CRM có trường khai báo mã dự án tương ứng của FAST để phục vụ
mapping mã dự án khi đồng bộ dữ liệu.(FAST sẽ gửi CRM mã dự án của FAST mỗi khi phát sinh dự
án mới)
4.2.2 Dữ liệu đồng bộ từ CRM sang FAST
4.2.2.1 Danh mục khách hàng
- CRM truyền qua FAST danh mục khách hàng. Khi nhận được data FAST sẽ kiểm tra [ID khách
hàng] nếu chưa tồn tại thì tạo mới, ngược lại thì cập nhật lại thông tin
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng
cấu trúc FAST sẽ nhận vào phần mềm
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID khách hàng của CRM
Trang 13
ten_kh nvarchar(128) X Tên khách hàng
dia_chi nvarchar(128) Địa chỉ thường trú
dc_lh nvarchar(128) Địa chỉ liên hệ
mst char(18) Mã số thuế
cmnd char(16) CMND
ngay_cap smalldatetime Ngày cấp CMND
noi_cap nvarchar(64) Nơi cấp CMND
dien_thoai varchar(32) Số điện thoại
e_mail nvarchar(256) Email
4.2.2.2 Danh mục căn hộ
- CRM truyền qua FAST danh mục căn hộ. Khi nhận được data FAST sẽ kiểm tra [ID căn hộ] nếu
chưa tồn tại thì tạo mới, ngược lại thì cập nhật lại thông tin
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng
cấu trúc FAST sẽ nhận vào phần mềm
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID sản phẩm của CRM
ten_hh nvarchar(128) X Tên SP BĐS
id_vv int X ID dự án của CRM
loai char(1) X Loại BĐS
dt0 numeric(19,3) Diện tích thông thuỷ
Trang 14
4.2.2.3 Giao dịch
-
-Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
id_gcc varchar(36) X ID giữ chỗ chung của CRM
id int X ID giao dịch của CRM
loai_gd tinyint X ID loại giao dịch của CRM (0-Giữ chỗ, 1-Phiếu cọc, 2-
Hợp đồng cọc, 4-Hợp đồng mua bán, 5-bàn giao)
id_vv int X ID dự án của CRM
id_hh int X ID sản phẩm của CRM
id_kh int X ID khách hàng của CRM
so_ct char(16) X Số giao dịch
ngay_lct smalldatetime X Ngày giao dịch
ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast = "VND",
nếu là 2 thì trả Fast = "USD")
t_tien_nt numeric(16,2) X Thành tiền trước thuế
thue_suat numeric(5,2) Thuế suất
t_thue_nt numeric(16,2) Thuế GTGT
t_tt_nt numeric(16,2) Thành tiền sau thuế
phi_bt_nt numeric(16,2) Phí bảo trì (Không cần thiết nếu không có trên CRM)
status char(1) X Trạng thái (1 - bình thường, 0 - đã thanh lý)
4.2.2.4 Chuyển nhượng
- CRM truyền qua FAST thông tin chuyển nhượng.
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu
trúc FAST sẽ nhận vào phần mềm
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
Trang 15
id int X ID chuyển nhượng
id_hd int X ID giao dịch của CRM
loai_gd tinyint X ID loại chuyển nhượng
id_kh int X ID khách hàng của CRM (nhận chuyển
nhượng)
ngay_ct smalldatetime X Ngày chuyển nhượng
4.2.2.5 Phiếu thu tiền mặt
- CRM truyền qua FAST thông tin phiếu thu tiền mặt
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu
trúc FAST sẽ nhận vào phần mềm
Master Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID chứng từ của CRM
id_kh int X ID khách hàng của CRM
doi_tac nvarchar(128) Người giao dịch
tk char(16) X Tài khoản nợ
so_ct char(12) X Số chứng từ
ngay_ct smalldatetime X Ngày chứng từ
ma_nt char(3) X Mã ngoại tệ
dien_giai nvarchar(128) Lý do thu
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
tk_co char(16) X Tài khoản có
tien_nt numeric(16,2) X Tiền
id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ
chỗ chung thì truyền ID này)
Trang 16
id_hd int X ID giao dịch của CRM
id_vv int X ID dự án của CRM
ma_td1 char(16) X Mã đợt
4.2.2.6 Phiếu chi tiền mặt
- CRM truyền qua FAST thông tin phiếu chi tiền mặt
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu
trúc FAST sẽ nhận vào phần mềm
Master Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID chứng từ của CRM
id_kh int X ID khách hàng của CRM
doi_tac nvarchar(128) Người giao dịch
tk char(16) X Tài khoản có
so_ct char(12) X Số chứng từ
ngay_ct smalldatetime X Ngày chứng từ
ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast =
"VND", nếu là 2 thì trả Fast = "USD")
dien_giai nvarchar(128) Lý do chi
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
tk_no char(16) X Tài khoản nợ
tien_nt numeric(16,2) X Tiền
id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ
chỗ chung thì truyền ID này)
ma_hd int X ID giao dịch của CRM
ma_vv int X ID dự án của CRM
ma_td1 char(16) X Mã đợt
Trang 17
4.2.2.7 Giấy báo nợ
- CRM truyền qua FAST thông tin giấy báo nợ
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu
trúc FAST sẽ nhận vào phần mềm
Master Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID chứng từ của CRM
id_kh int X ID khách hàng của CRM
doi_tac nvarchar(128) Người giao dịch
tk char(16) X Tài khoản có
so_ct char(12) X Số chứng từ
ngay_ct smalldatetime X Ngày chứng từ
ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast =
"VND", nếu là 2 thì trả Fast = "USD")
dien_giai nvarchar(128) Lý do chi
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
tk_no char(16) X Tài khoản nợ
tien_nt numeric(16,2) X Tiền
id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ
chỗ chung thì truyền ID này)
ma_hd int X ID giao dịch của CRM
ma_vv int X ID dự án của CRM
ma_td1 char(16) X Mã đợt
4.2.2.8 Giấy báo có
- CRM truyền qua FAST thông tin giấy báo có
- Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu
trúc FAST sẽ nhận vào phần mềm
Trang 18
Master Kiểu dữ liệu
Bắt
buộc
Mô tả
id int X ID chứng từ của CRM
id_kh int X ID khách hàng của CRM
doi_tac nvarchar(128) Người giao dịch
tk char(16) X Tài khoản nợ
so_ct char(12) X Số chứng từ
ngay_ct smalldatetime X Ngày chứng từ
ma_nt char(3) X Mã ngoại tệ
dien_giai nvarchar(128) Lý do thu
Tham số Kiểu dữ liệu
Bắt
buộc
Mô tả
tk_co char(16) X Tài khoản có
tien_nt numeric(16,2) X Tiền
id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ
chỗ chung thì truyền ID này)
id_hd int X ID giao dịch của CRM
id_vv int X ID dự án của CRM
ma_td1 char(16) X Mã đợt

More Related Content

Similar to TaiLieu KhaoSat.docx

Bài giảng hack web.ppt
Bài giảng hack web.pptBài giảng hack web.ppt
Bài giảng hack web.pptSninhCng1
 
120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_svTin Thấy
 
Report password cracking (2)
Report password cracking (2)Report password cracking (2)
Report password cracking (2)phanleson
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongVu Trung Kien
 
Ajax report
Ajax reportAjax report
Ajax reportdvcuong
 
Thiết kế hệ thống mạng nội bộ cho cty vn transport
Thiết kế hệ thống mạng nội bộ cho cty vn transportThiết kế hệ thống mạng nội bộ cho cty vn transport
Thiết kế hệ thống mạng nội bộ cho cty vn transportHate To Love
 
Managing and Querying Encrypted Data
Managing and Querying Encrypted DataManaging and Querying Encrypted Data
Managing and Querying Encrypted DataHiếu Bùi Đức
 
Báo cáo tổng kết thực tập athena
Báo cáo tổng kết thực tập athenaBáo cáo tổng kết thực tập athena
Báo cáo tổng kết thực tập athenaQuý Đồng Nast
 
Blockchain and the future
Blockchain and the futureBlockchain and the future
Blockchain and the futureMinh-Duc Do
 
Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture IT Expert Club
 
vndscasestudy1-160513170651.pdf
vndscasestudy1-160513170651.pdfvndscasestudy1-160513170651.pdf
vndscasestudy1-160513170651.pdftungdinhthanh3
 
itlchn 20 - Kien truc he thong chung khoan - Phan 2
itlchn 20 - Kien truc he thong chung khoan - Phan 2itlchn 20 - Kien truc he thong chung khoan - Phan 2
itlchn 20 - Kien truc he thong chung khoan - Phan 2IT Expert Club
 
Virtual cluster thesis
Virtual   cluster thesisVirtual   cluster thesis
Virtual cluster thesisSentifi
 
Dos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comDos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comphanleson
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptkhamgo1191
 
Mcsa 2012 local group policy
Mcsa 2012 local group policyMcsa 2012 local group policy
Mcsa 2012 local group policylaonap166
 
Lời giải đề thi hpt
Lời giải đề thi hptLời giải đề thi hpt
Lời giải đề thi hptLee Min Duk
 

Similar to TaiLieu KhaoSat.docx (20)

Bài giảng hack web.ppt
Bài giảng hack web.pptBài giảng hack web.ppt
Bài giảng hack web.ppt
 
120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv120 cau mon quan tri mang public_sv
120 cau mon quan tri mang public_sv
 
Report password cracking (2)
Report password cracking (2)Report password cracking (2)
Report password cracking (2)
 
Tim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chongTim hieu lo hong web va cach phong chong
Tim hieu lo hong web va cach phong chong
 
Ajax report
Ajax reportAjax report
Ajax report
 
Thiết kế hệ thống mạng nội bộ cho cty vn transport
Thiết kế hệ thống mạng nội bộ cho cty vn transportThiết kế hệ thống mạng nội bộ cho cty vn transport
Thiết kế hệ thống mạng nội bộ cho cty vn transport
 
VTV Mobile Performace Test
VTV Mobile Performace TestVTV Mobile Performace Test
VTV Mobile Performace Test
 
Managing and Querying Encrypted Data
Managing and Querying Encrypted DataManaging and Querying Encrypted Data
Managing and Querying Encrypted Data
 
Mở đầu
Mở đầuMở đầu
Mở đầu
 
Báo cáo tổng kết thực tập athena
Báo cáo tổng kết thực tập athenaBáo cáo tổng kết thực tập athena
Báo cáo tổng kết thực tập athena
 
Blockchain and the future
Blockchain and the futureBlockchain and the future
Blockchain and the future
 
Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture Domain Driven Design và Event Driven Architecture
Domain Driven Design và Event Driven Architecture
 
vndscasestudy1-160513170651.pdf
vndscasestudy1-160513170651.pdfvndscasestudy1-160513170651.pdf
vndscasestudy1-160513170651.pdf
 
itlchn 20 - Kien truc he thong chung khoan - Phan 2
itlchn 20 - Kien truc he thong chung khoan - Phan 2itlchn 20 - Kien truc he thong chung khoan - Phan 2
itlchn 20 - Kien truc he thong chung khoan - Phan 2
 
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soaLuận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
Luận văn: Tích hợp dịch vụ nghiệp vụ ngân hàng theo mô hình soa
 
Virtual cluster thesis
Virtual   cluster thesisVirtual   cluster thesis
Virtual cluster thesis
 
Dos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.comDos web server it-slideshares.blogspot.com
Dos web server it-slideshares.blogspot.com
 
chuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.pptchuong 1 - Tong quan ve Lap trinh mang.ppt
chuong 1 - Tong quan ve Lap trinh mang.ppt
 
Mcsa 2012 local group policy
Mcsa 2012 local group policyMcsa 2012 local group policy
Mcsa 2012 local group policy
 
Lời giải đề thi hpt
Lời giải đề thi hptLời giải đề thi hpt
Lời giải đề thi hpt
 

TaiLieu KhaoSat.docx

  • 1. CÔNG TY TNHH AAA TÀI LIỆU KHẢO SÁT PHÂN HỆ: KẾT NỐI FAST - CRM Phiên bản: 1.0 .......................................... Ngày viết tài liệu: ...................................... Ngày sửa lần cuối:.................................... Người viết: Hồ Vĩnh Khoa.........................
  • 2. Trang 2 Mục lục 1. Kiểm soát tài liệu.....................................................................................................................................3 1.1 Mục đích tài liệu...................................................................................................................................3 1.2 Kiểm tra tài liệu....................................................................................................................................3 1.3 Tham gia thực hiện tài liệu ..................................................................................................................3 1.4 Xác nhận tài liệu khảo sát ...................................................................................................................4 2. Giới thiệu về Fast API.............................................................................................................................5 3. Quy ước ...................................................................................................................................................5 3.1 Bảo mật trên Fast API .........................................................................................................................5 3.2 Cách thức truyền dữ liệu.....................................................................................................................5 3.2.1 Cách tạo token..............................................................................................................................8 3.2.2 Cách tạo data................................................................................................................................9 3.2.3 Cách tạo {key} lúc gọi ApiQuery (Khác với lúc gọi ApiLogin).......................................................9 3.3 Thông số trả về..................................................................................................................................10 3.4 Thông báo khi có dữ liệu đầu vào cần chuyển qua đối tác...............................................................10 4. Kết nối FAST và CRM ...........................................................................................................................12 4.1.1 Quy trình tổng thể .......................................................................................................................12 4.2 Quy trình truyền dữ liệu chi tiết .........................................................................................................12 4.2.1 Dữ liệu mapping giữa FAST và CRM.........................................................................................12 4.2.2 Dữ liệu đồng bộ từ CRM sang FAST .........................................................................................12
  • 3. Trang 3 1. Kiểm soát tài liệu 1.1 Mục đích tài liệu - Đây là tài liệu mô tả yêu cầu về kết nối dữ liệu giữa hệ thống Fast Business Online triển khai tại AAA và hệ thống CRM. - Tài liệu này sẽ làm cơ sở để FAST chỉnh sửa các yêu cầu phục vụ cho việc kết nối dữ liệu với hệ thống CRM. 1.2 Kiểm tra tài liệu Ngày duyệt: Ngày duyệt: Người duyệt: Khách hàng duyệt: Chữ ký Họ và tên: .………………………………………. Chữ ký Họ và tên:…………………………………………. 1.3 Tham gia thực hiện tài liệu Stt Họ tên người tham gia thực hiện tài liệu Chức danh Phòng 1 Hồ Vĩnh Khoa Trưởng dự án 2 3
  • 4. Trang 4 1.4 Xác nhận tài liệu khảo sát Hai bên cùng thống nhất xác nhận nội dung tài liệu khảo sát về các chức năng trong chương trình Các yêu cầu bổ sung, cũng như các thay đổi sau này sẽ được hai bên xem xét và thống nhất bằng văn bản. Tài liệu có … trang được lập thành 02 (hai) bản, mỗi bên giữ 01 (một) bản có giá trị như nhau. TP HCM, ngày ….. tháng ….. năm ….. Đại diện Công ty AAA Đại diện Công ty FAST
  • 5. Trang 5 2. Giới thiệu về Fast API - Fast API sử dụng công nghệ JSON dùng để truyền và nhận dữ liệu. - Đối tác sử dụng Xcode(MacOS), .Net, Python, Java, … điều có thể kết nối với API và nhập – xuất dữ liệu dễ dàng 3. Quy ước 3.1 Bảo mật trên Fast API Hiện tại trên Fast API được tích hợp các phương thức bảo mật nhiều lớp, khi có điều kiện bất kỳ không thỏa là chúng tôi sẽ reject dữ liệu và không cần phải Phân Giải JSON, khi đó khả năng chịu tải của hệ thống sẽ tốt hơn Các phương thức bảo mật của Fast API gồm có: - Private key: Khóa được khai báo sẵn, không truyền đi trong suốt phiên làm việc - Token: trong một thời gian làm việc, token sẽ thay đổi - Public Key: Được mã hóa và bảo mật theo cơ chế riêng, kể cả ai đó biết về cơ chế này cũng không thể can thiệp trong suốt phiên làm việc của hệ thống - Chứng thực toàn vẹn dữ liệu: Dữ liệu được mã hóa và truyền đi, cho dù có sự can thiệp 1 ký tự bất kỳ thì hệ thống vẫn phát hiện được - Chống replay attack: Cơ chế này chống lại trường hợp tấn công trên đúng dữ liệu được sinh ra, nhằm gây quá tải hệ thống, tương tự như DDOS - Chống request tự động: Khi login sai sau n lần trong m phút thì hệ thống sẽ khóa tài khoản tạm thời trong k phút - Block IP: Khi dùng cơ chế này thì mỗi User chỉ được phép tương tác đến API từ một danh sách IP được khai báo sẵn theo từng User, nếu không tồn tại thì hệ thống sẽ Reject 3.2 Cách thức truyền dữ liệu - Dữ liệu được truyền đồng bộ qua phương thức POST đến trang http(s)://..../APIQuery.ashx, với các thông số cơ bản sau(Do một số đối tác truyền bất đồng bộ dữ liệu 1 phiếu truyền 2 lần cùng 1 thời gian, khi đó dữ liệu mới đến trước, dữ liệu cũ đến sau, dẫn đến phiếu lưu là phiếu cũ)
  • 6. Trang 6 Stt Mã Diễn giải 1 token Mã phiên làm việc, mỗi token có hạn hiệu được định nghĩa trước, khi token sắp hết hạn, sẽ gọi hàm cấp lại token khác 2 form Tên các hàm cần gọi, được mã hóa bằng Base64 3 key Là khóa chứng thực dữ liệu được truyền đi không được chỉnh sửa, có hướng dẫn tạo key ở mục sau 4 data Dữ liệu truyền đi dạng Json, được mã hóa và có thể giải mã được, có hướng dẫn tạo data ở mục sau 5 userid Mã user được fast cấp, để phân biệt nguồn dữ liệu 6 time Có 2 cách như sau: + Định dạnh: yyyyMMddhhmmssffffff là giờ hiện của hệ thống (Dùng cho hệ thống vừa và nhỏ, lượng request ít) + số n tự tăng sau mỗi lần request( dùng cho hệ thống lớn, lượng reuqest nhiều) * (phần time này nên cấp tập trung một nơi, để bảo đảm số sau luôn lớn hơn số trước), khi nhận dữ liệu sau khi check key ok thì kiểm tra nếu time trước đó phải nhỏ hơn time truyền qua thì mới được thực thi, mục đích của việc này là chống spam và trùng dữ liệu Mô phỏng trên POSTMAN
  • 7. Trang 7 Các mã lỗi chính khi bạn mới vừa tương tác với hệ thống, ngoài ra tùy theo chức năng mà có mã lỗi con chi tiết theo từng Form Mã Mô tả 11 Tham số truyền bị thiếu 12 Dữ liệu truyền chưa đúng 13 User chưa được cấp hoặc chưa được kích hoạt 14 Chứng thực không thành công, do sai privateKey hoặc cách sinh key không đúng 15 Cấu trúc data chưa đúng định dạng JSON so với yêu cầu 16 Time truyền trong data nhỏ hơn time time trong hệ thống đang chạy, truyền time thì chỉ dùng 1 máy chủ để cấp, cho ngày giờ (hoặc stt tự tăng) được thống nhất 17 Mã hàm không tồn tại 18 Cột dữ liệu không đúng theo quy định, có kèm theo danh sách cột không tồn tại 19 Không được phép xóa dữ liệu qua API 20 Token đã hết hạn, khi này bạn cần gọi hàm login lại 21 Cột … có giá trị không được rỗng (Vì mục đích báo mật, thông báo chi tiết cột chỉ có hiệu lực khi debug, khi hệ thống go live sẽ chỉ báo giá trị không được rỗng) 22 Độ dài của chuỗi vượt quá qui định 23 Mã không được chứ ký tự đặc biệt 24 Số liệu đã được khóa, bạn không được sửa, thêm khi các phiếu có ngày <= ngày khóa 25 Sai ràng buộc, trường …. có giá trị nằm trong danh sách ….. 26 Hàm ….. đã tắt, vui lòng liên hệ người quản trị 51 Có lỗi xảy ra trong quá trình thực thi, có kèm theo nội dung lỗi
  • 8. Trang 8 3.2.1 Cách tạo token Fast sẽ cấp một cặp privateKey và UserID login dùng để đăng nhập vào hệ thống. Khi login , bạn gọi đến trang http(s)://..../APILogin.ashx, với thông số POST như sau: - userID : được Fast cấp, userId này sẽ không đổi trong suốt quá trình hệ thống vận hành - privateKey : key này sẽ thay đổi trong quá trình test và release sản phẩm, đôi khi có thể thay đổi trong quá trình hệ thống vận hành để bảo đảm bảo mật, cho nên bạn cần phải khai báo động thông tin này! (privateKey này không truyền đi trong suốt phiên làm việc của hệ thống, privateKey chủ yếu để tạo Key được truyền đi để chứng thực) - time : Có mô tả làm tương tự ở mục các thông số cần thiết khi đồng bộ - key: Tạo key ta làm như sau ta MD5 chuỗi privateKey + userID + time, lấy các ký tự thứ 2,9,30,18,23,16,12,17,22,1 (chuỗi này nên khai báo, vì có thể thay đổi khi chạy thực tế, vị trí bắt đầu là 1, không phải 0), cách làm này tương tự như phần chứng thực data ở phía dưới Sau khi request http(s)://..../APILogin.ashx, hệ thống Fast sẽ chứng thực, nếu thỏa điều kiện, hệ thống sẽ trả về dữ liệu dạng JSON như sau: [{“type”:1, “msg”:””, “token”:”xnshmsux34”, “expired”: “7”}] Với: - token : giá trị này sẽ được truyền đi trong suốt quá trình làm việc của hệ thống, độ dài 10 ký tự - expired: số ngày hết hạn của token kể từ khi cấp (ngày, giờ, phút, giây cấp), bạn nên kiểm tra và gọi lại hàm APIlogin.aspx trước khi token hết hạn, tốt nhất là gọi cấp lại trước 6 giờ hết hạn! Cấu trúc của phương thức POST lúc Login như sau: userID=34&time=20190529152810552037&key=35d2d7c163 Case test dưới đây để test code khi lập trình gọi APILogin Position ID: 2,9,30,18,23,16,12,17,22,1 Private Key: BHAJKHJK Time: 20200904232617669949 User ID: 34 Kết quả:  MD5 (Base 64 (Private Key + User ID + Time)) : c28cc460647e7a6831f01181e4462da8  Key: 26d188e31c
  • 9. Trang 9 3.2.2 Cách tạo data Dữ liệu là một khối dữ liệu được xác định bởi cấu trúc JSON. Trong trường hợp dữ liệu quá lớn, nó phải được chia thành nhiều lần, Số dòng dữ liệu tối đa là tầm 2 000 dòng dữ liệu, mục đích để hạn chế phình dữ liệu lúc truyền đi, dữ liệu sẽ được truyền qua phương thức POST đến trang APIQuery.aspx Data có cấu trúc dạng JSON đặt tên là AA như sau: [ { “YourID”:”1231235”, “VoucherNo”:”DN001”, “Date”: “20/05/2018”, “CusCode”: “20/05/2018”, “Product”: “VT001”, “Quality”: 1, “Price”: 1000000, … },{ “YourID”:”1231235”, “VoucherNo”:”DN001”, “Date”: “20/05/2018”, “CusCode”: “20/05/2018”, “Product”: “VT002”, “Quality”: 1, “Price”: 1000000, … }] Sau đó base64 giá trị data AA vừa tạo ở trên ta sẽ có được chuỗ BB, Ta sẽ có {data} = BB 3.2.3 Cách tạo {key} lúc gọi ApiQuery (Khác với lúc gọi ApiLogin) Ta MD5 chuỗi privateKey + time + data ta được chuỗi XK, lấy các ký tự thứ 2,9,30,18,23,16,12,17,22,1 của chuỗi XK(danh sách vị trí này nên khai báo, vì có thể thay đổi khi chạy thực tế, vị trí bắt đầu là 1, không phải 0) ta được chuỗi XKEY Ta sẽ có {key} = KEY Cấu trúc của phương thức POST lúc GET hoặc SET như sau: token=4D255AB8A8&userid=34&form=c2V0U2FsZXNJbnZvaWNlcw==&key=e11dd977f8&time=20 190607164504876746&data=W3siQmF0Y2hJRCI6MTg4NzQsIkNlbnRlcklEIjoyNiwiRGF0ZSI6IjE0LzA 2LzIwMTkifSx7IkJhdGNoSUQiOjE4ODc0LCJDZW50ZXJJRCI6MjYsIkRhdGUiOiIxOC8wNi8yMDE5In 1d
  • 10. Trang 10 Case test dưới đây để test code khi lập trình gọi APIQuery Position ID: 2,9,30,18,23,16,12,17,22,1 Private Key: BHAJKHJK Time: 20200904230909639123 Data: W3sKICAgY2FjaGVJRDogInxjYWNoZUlEfCIKfV0= Kết quả:  MD5 (Base 64 (Private Key + Time + Data)): c28cc460647e7a6831f01181e4462da8  Key: 26d188e31c 3.3 Thông số trả về Kết quả trả về dạng JSON được base64 Data có cấu trúc dạng JSON đặt tên là AA như sau [{ type: 0, 1,2…, msg: ‘Câu thông báo nếu có’, count: 100, -- Số record trả về, dùng trong trường hợp get dữ liệu continue: 1/0, -- 1 - Vẫn còn dữ liệu thỏa, nhưng chưa trả về, gọi tiếp tục để dữ liệu trả về tiếp, 0 – Không còn dữ liệu cacheID: Mã cache lưu tạm dữ liệu, để chờ đẩy đi, data: [ {id_qlcc:”KH01”, ten_kh: “Nguyễn Văn A”, ….}, {id_qlcc:”KH01”, ten_kh: “Nguyễn Văn A”, ….}, ….. ] }] 3.4 Thông báo khi có dữ liệu đầu vào cần chuyển qua đối tác - API của Fast có hỗ trợ thông báo cho đối tác biết khi có dữ liệu cần chuyển từ Fast qua. Quý đối tác cần phải xây dựng 1 URL (VD: http://127.25.64:8080/fastAlert.aspx) với các thông số POST (không phải GET) như sau:  time: Mỗi lần gọi URL, bên Fast sẽ gửi kèm một số N, bạn lưu số N lại, và số sau luôn lớn hơn số trước, để hỗ trợ chống Replay Attack  data: là cấu trúc JSON chứa danh sách các hàm có dữ liệu cần chuyển qua, JSON này được Base64 VD: ["getItems","getCustomers","getSites","getSaleEmployees"]  key: Cách tạo key tương tự cách tạo Key ở phần Fast nhận dữ liệu từ đối tác Ta MD5 chuỗi privateKey + time + data ta được chuỗi XK, lấy các ký tự thứ 2,9,30,18,23,16,12,17,22,1 của chuỗi XK(danh sách vị trí này nên khai báo, vì có thể thay đổi khi chạy thực tế, vị trí bắt đầu là 1, không phải 0) ta được chuỗi XKEY Ta sẽ có {key} = KEY
  • 11. Trang 11 - Khi có dữ liệu cần chuyển từ Fast cho đối tác thì hệ thống bên Fast sẽ gọi URL do quý đối tác cung cấp theo các thông số POST được quy định sẵn. Sau khi nhận được thông báo này, quý đối tác sẽ gọi trang APIQuery.aspx với các hàm tương ứng trong phần data được gửi qua. Sau khi quý đối tác lấy dữ liệu xong thì Respone kết quả [‘OK’], nếu có lỗi thì respone về [‘ERROR’, ‘Kèm nội dung lỗi’] để Fast lưu lại log và bắt đầu quy trình mới.
  • 12. Trang 12 4. Kết nối FAST và CRM 4.1.1 Quy trình tổng thể STT CRM truyền sang FAST nhận 1 Danh mục khách hàng Danh mục khách hàng 2 Danh mục căn hộ Danh mục căn hộ 3 Danh mục giao dịch Danh mục giao dịch 4 Chuyển nhượng Chuyển nhượng 5 Phiếu thu tiền mặt Phiếu thu tiền mặt 6 Phiếu chi tiền mặt Phiếu chi tiền mặt 7 Giấy báo nợ Giấy báo nợ 8 Giấy báo có Giấy báo có 4.2 Quy trình truyền dữ liệu chi tiết 4.2.1 Dữ liệu mapping giữa FAST và CRM Đây là các danh mục cần khai báo trường để mapping dữ liệu giữa 02 bên, vì tính chất ít phát sinh và chỉ đồng bộ 1 lần ban đầu nên không cần thông qua API 4.2.1.1 Danh mục dự án (vụ việc) Trên danh mục dự án của CRM có trường khai báo mã dự án tương ứng của FAST để phục vụ mapping mã dự án khi đồng bộ dữ liệu.(FAST sẽ gửi CRM mã dự án của FAST mỗi khi phát sinh dự án mới) 4.2.2 Dữ liệu đồng bộ từ CRM sang FAST 4.2.2.1 Danh mục khách hàng - CRM truyền qua FAST danh mục khách hàng. Khi nhận được data FAST sẽ kiểm tra [ID khách hàng] nếu chưa tồn tại thì tạo mới, ngược lại thì cập nhật lại thông tin - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Tham số Kiểu dữ liệu Bắt buộc Mô tả id int X ID khách hàng của CRM
  • 13. Trang 13 ten_kh nvarchar(128) X Tên khách hàng dia_chi nvarchar(128) Địa chỉ thường trú dc_lh nvarchar(128) Địa chỉ liên hệ mst char(18) Mã số thuế cmnd char(16) CMND ngay_cap smalldatetime Ngày cấp CMND noi_cap nvarchar(64) Nơi cấp CMND dien_thoai varchar(32) Số điện thoại e_mail nvarchar(256) Email 4.2.2.2 Danh mục căn hộ - CRM truyền qua FAST danh mục căn hộ. Khi nhận được data FAST sẽ kiểm tra [ID căn hộ] nếu chưa tồn tại thì tạo mới, ngược lại thì cập nhật lại thông tin - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Tham số Kiểu dữ liệu Bắt buộc Mô tả id int X ID sản phẩm của CRM ten_hh nvarchar(128) X Tên SP BĐS id_vv int X ID dự án của CRM loai char(1) X Loại BĐS dt0 numeric(19,3) Diện tích thông thuỷ
  • 14. Trang 14 4.2.2.3 Giao dịch - -Tham số Kiểu dữ liệu Bắt buộc Mô tả id_gcc varchar(36) X ID giữ chỗ chung của CRM id int X ID giao dịch của CRM loai_gd tinyint X ID loại giao dịch của CRM (0-Giữ chỗ, 1-Phiếu cọc, 2- Hợp đồng cọc, 4-Hợp đồng mua bán, 5-bàn giao) id_vv int X ID dự án của CRM id_hh int X ID sản phẩm của CRM id_kh int X ID khách hàng của CRM so_ct char(16) X Số giao dịch ngay_lct smalldatetime X Ngày giao dịch ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast = "VND", nếu là 2 thì trả Fast = "USD") t_tien_nt numeric(16,2) X Thành tiền trước thuế thue_suat numeric(5,2) Thuế suất t_thue_nt numeric(16,2) Thuế GTGT t_tt_nt numeric(16,2) Thành tiền sau thuế phi_bt_nt numeric(16,2) Phí bảo trì (Không cần thiết nếu không có trên CRM) status char(1) X Trạng thái (1 - bình thường, 0 - đã thanh lý) 4.2.2.4 Chuyển nhượng - CRM truyền qua FAST thông tin chuyển nhượng. - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Tham số Kiểu dữ liệu Bắt buộc Mô tả
  • 15. Trang 15 id int X ID chuyển nhượng id_hd int X ID giao dịch của CRM loai_gd tinyint X ID loại chuyển nhượng id_kh int X ID khách hàng của CRM (nhận chuyển nhượng) ngay_ct smalldatetime X Ngày chuyển nhượng 4.2.2.5 Phiếu thu tiền mặt - CRM truyền qua FAST thông tin phiếu thu tiền mặt - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Master Kiểu dữ liệu Bắt buộc Mô tả id int X ID chứng từ của CRM id_kh int X ID khách hàng của CRM doi_tac nvarchar(128) Người giao dịch tk char(16) X Tài khoản nợ so_ct char(12) X Số chứng từ ngay_ct smalldatetime X Ngày chứng từ ma_nt char(3) X Mã ngoại tệ dien_giai nvarchar(128) Lý do thu Tham số Kiểu dữ liệu Bắt buộc Mô tả tk_co char(16) X Tài khoản có tien_nt numeric(16,2) X Tiền id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ chỗ chung thì truyền ID này)
  • 16. Trang 16 id_hd int X ID giao dịch của CRM id_vv int X ID dự án của CRM ma_td1 char(16) X Mã đợt 4.2.2.6 Phiếu chi tiền mặt - CRM truyền qua FAST thông tin phiếu chi tiền mặt - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Master Kiểu dữ liệu Bắt buộc Mô tả id int X ID chứng từ của CRM id_kh int X ID khách hàng của CRM doi_tac nvarchar(128) Người giao dịch tk char(16) X Tài khoản có so_ct char(12) X Số chứng từ ngay_ct smalldatetime X Ngày chứng từ ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast = "VND", nếu là 2 thì trả Fast = "USD") dien_giai nvarchar(128) Lý do chi Tham số Kiểu dữ liệu Bắt buộc Mô tả tk_no char(16) X Tài khoản nợ tien_nt numeric(16,2) X Tiền id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ chỗ chung thì truyền ID này) ma_hd int X ID giao dịch của CRM ma_vv int X ID dự án của CRM ma_td1 char(16) X Mã đợt
  • 17. Trang 17 4.2.2.7 Giấy báo nợ - CRM truyền qua FAST thông tin giấy báo nợ - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm Master Kiểu dữ liệu Bắt buộc Mô tả id int X ID chứng từ của CRM id_kh int X ID khách hàng của CRM doi_tac nvarchar(128) Người giao dịch tk char(16) X Tài khoản có so_ct char(12) X Số chứng từ ngay_ct smalldatetime X Ngày chứng từ ma_nt char(3) X Mã ngoại tệ (Nếu ở Landsoft là 1 thì trả Fast = "VND", nếu là 2 thì trả Fast = "USD") dien_giai nvarchar(128) Lý do chi Tham số Kiểu dữ liệu Bắt buộc Mô tả tk_no char(16) X Tài khoản nợ tien_nt numeric(16,2) X Tiền id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ chỗ chung thì truyền ID này) ma_hd int X ID giao dịch của CRM ma_vv int X ID dự án của CRM ma_td1 char(16) X Mã đợt 4.2.2.8 Giấy báo có - CRM truyền qua FAST thông tin giấy báo có - Thời điểm truyền dữ liệu: CRM sẽ tự quy định thời gian truyền, bất cứ lúc nào truyền nếu đúng cấu trúc FAST sẽ nhận vào phần mềm
  • 18. Trang 18 Master Kiểu dữ liệu Bắt buộc Mô tả id int X ID chứng từ của CRM id_kh int X ID khách hàng của CRM doi_tac nvarchar(128) Người giao dịch tk char(16) X Tài khoản nợ so_ct char(12) X Số chứng từ ngay_ct smalldatetime X Ngày chứng từ ma_nt char(3) X Mã ngoại tệ dien_giai nvarchar(128) Lý do thu Tham số Kiểu dữ liệu Bắt buộc Mô tả tk_co char(16) X Tài khoản có tien_nt numeric(16,2) X Tiền id_gcc varchar(36) X ID giữ chỗ chung của CRM (Nếu là phiếu giữ chỗ chung thì truyền ID này) id_hd int X ID giao dịch của CRM id_vv int X ID dự án của CRM ma_td1 char(16) X Mã đợt