Hướng dẫn kết nối
Last updated
Last updated
Tên dịch vụ | Đường dẫn |
---|---|
Để đảm bảo bảo mật, người dùng được cấp một bộ key kết nối bao gồm:
ConsumerID: Định danh tài khoản
ConsumerSecrect: Key truy cập server
PrivateKey: Được sử dụng để tạo chữ ký số bằng thuật toán RS256
Xem chi tiết đăng ký dịch vụ và tạo key kết nối tại đây.
Để đảm bảo an toàn cho tài khoản của bạn, khi yêu cầu access token, ngoài ConsumerID và SecretKey, bạn sẽ cần cung cấp thêm mã xác thực của tài khoản. Mã xác thực sẽ phụ thuộc vào phương thức xác thực mà bạn đã đăng ký:
PIN: Nhập mã PIN đặt lệnh của bạn
SMS OTP: Sử dụng hàm GetOTP để lấy mã OTP. Mã OTP sẽ được gửi tới số điện thoại đã đăng ký của bạn.
Email OTP: Sử dụng hàm GetOTP để lấy mã OTP. Mã OTP sẽ được gửi tới email đã đăng ký của bạn.
Smart OTP: Nhập mã OTP trên ứng dụng SSI SmartOTP hoặc iBoard tùy thuộc bạn kích hoạt dịch vụ SmartOTP trên ứng dụng nào.
Để nâng cao bảo mật cho bạn, chúng tôi khuyến khích bạn chuyển sang dùng các phương thức xác thực SMS OTP và SmartOTP. Phương thức xác thực bằng PIN sẽ sớm dừng hỗ trợ.
Đối với các hàm query dữ liệu, bạn chỉ cần truyền access token đã lấy được để hệ thống FastConnect xác thực và thực thi yêu cầu nếu hợp lệ.
Đối với các hàm trực tiếp làm thay đổi tiền/chứng khoán bao gồm đặt/hủy/sửa lệnh, chuyển khoản nội bộ, đăng ký quyền mua, chuyển khoản chứng khoán, nộp rút ký quỹ phái sinh, bạn sẽ cần thêm ký số bằng Private Key (được cung cấp khi bạn tạo key kết nối trên hệ thống iBoard). Xem chi tiết về chữ ký số tại đây.
Access token có hiệu lực trong vòng 8h. Bạn không thể truy cập các api với token hết hiệu lực. Vì vậy, nhớ yêu cầu lại access token trước khi hết hạn để hoạt động của hệ thống không ảnh hưởng.
Khi yêu cầu access token, bạn có thể chọn lưu hiệu lực của mã xác thực.
Nếu bạn chọn lưu hiệu lực, khi đặt/hủy/sửa lệnh hoặc làm các giao dịch liên quan tiền/chứng khoán, bạn sẽ không cần nhập mã xác thực.
Nếu bạn không chọn lưu hiệu lực, khi đặt/hủy/sửa lệnh hoặc làm các giao dịch liên quan tiền/chứng khoán, bạn sẽ cần nhập lại mã xác thực.
Signature là một chuỗi ký tự được tạo ra từ một thuật toán cho trước, sử dụng để kiểm tra tính đúng đắn của dữ liệu trên đường truyền giữa 2 hệ thống. Một số thuật toán đang sử dụng là MD5, SHA256, RSA. Tham khảo thêm: Wikipedia
Trong tài liệu này sử dụng thuật toán RSA + SHA256 để tạo Signature. Dữ liệu đầu vào bao gồm Private Key và data, data là một json body chứa thông tin đặt/sửa/xóa.
Để sử dụng nghe streaming bạn cần khởi tạo kết nối và đăng ký cập nhật từng loại dữ liệu
Lưu ý:
notify_id là số thứ tự của các message trả về qua stream. Khi khởi tạo kết nối, bạn cần xác định giá trị cho notify_id.
notify_id = 0: hệ thống sẽ trả về dữ liệu từ đầu ngày
notify_id = -1: hệ thống sẽ trả về dữ liệu từ lúc kết nối lại
notify_id = n: hệ thống sẽ trả về dữ liệu từ n. Trong đó, n bằng số thứ tự của message cuối cùng bạn nhận được trước khi đứt kết nối + 1.
Trong quá trình nhận message stream, bạn cần lưu số thứ tự này để phục vụ cho mục đích kết nối lại trong trường hợp đứt kết nối.
Hệ thống FastConnect sẽ thực hiện reset notify_id về 0 vào 0 giờ hàng ngày.
Cập nhật thông tin lệnh
Cập nhật thông tin danh mục phái sinh
FCTrading API
https://fc-tradeapi.ssi.com.vn
FCTrading Streaming
https://fc-tradehub.ssi.com.vn