Skip to main content
Đặt lệnh, sửa lệnh và hủy lệnh chứng khoán. Mọi lệnh gọi đều cần access_token lấy từ B1 (Xác thực — Cơ sở). Các lệnh gọi POST, PUT và DELETE còn cần thêm các header x-otp-token, x-lang và x-via. **Xác thực: ** Yêu cầu: Authorization: Bearer <access_token> lấy từ B1. Các lệnh POST/PUT/DELETE còn cần thêm x-otp-token: 552066a35eb30a9815afc952b14287a8 (mã mẫu Sandbox), x-lang: vi, x-via: K.

C1. Đặt lệnh (Cơ sở)

Gửi một lệnh chứng khoán mới cho tiểu khoản giao dịch. ** POST   /accounts/:accountId/orders/underlying**

URL Sandbox

https://flashapi.phs.vn/sandbox/oapi/accounts/:accountId/orders/underlying  

Tham số

 

Ví dụ yêu cầu (cURL gọi vào Sandbox)

curl -X POST “https://flashapi.phs.vn/sandbox/oapi/accounts/$ACCOUNT_ID/orders/underlying” \   -H “Authorization: Bearer $ACCESS_TOKEN” \   -H “Content-Type: application/json” \   -H “x-lang: vi” -H “x-via: K” \   -H “x-otp-token: 552066a35eb30a9815afc952b14287a8” \   -d ’{ “instrument”: “ACB”, “qty”: 1, “side”: “buy”, “type”: “LO”,         “limitPrice”: 23000, “timetype”: “T” }’  

Ví dụ phản hồi từ Sandbox

{ “s”: “ok”, “d”: { “orderid”: “8000180326000219” } } **Hành vi trên Sandbox: ** Sandbox vẫn kiểm tra đầy đủ các trường bắt buộc và đúng kiểu dữ liệu, đồng thời yêu cầu các header giống như Production, nhưng không có lệnh nào thực sự được gửi đến sàn giao dịch. Mỗi lệnh gọi thành công sẽ trả về một mã lệnh (order ID) mẫu cố định. Thay vì mã OTP thật gửi về điện thoại, Sandbox chấp nhận mã OTP mẫu cố định được ghi chú ngay trên trang này — hãy gửi đúng chuỗi đó trong header x-otp-token.

C2. Sửa lệnh (Cơ sở)

Sửa khối lượng và/hoặc giá của một lệnh chứng khoán đang tồn tại và còn đủ điều kiện sửa. ** PUT   /accounts/:accountId/orders/underlying/:orderId**

URL Sandbox

https://flashapi.phs.vn/sandbox/oapi/accounts/:accountId/orders/underlying/:orderId  

Tham số

 

Ví dụ yêu cầu (cURL gọi vào Sandbox)

curl -X PUT “https://flashapi.phs.vn/sandbox/oapi/accounts/$ACCOUNT_ID/orders/underlying/$ORDER_ID” \   -H “Authorization: Bearer $ACCESS_TOKEN” \   -H “Content-Type: application/json” \   -H “x-lang: vi” -H “x-via: K” \   -H “x-otp-token: 552066a35eb30a9815afc952b14287a8” \   -d ’{ “qty”: 1, “limitPrice”: 23000 }’  

Ví dụ phản hồi từ Sandbox

{ “s”: “ok” } **Hành vi trên Sandbox: ** Sandbox vẫn kiểm tra đầy đủ các trường bắt buộc và đúng kiểu dữ liệu, đồng thời yêu cầu các header giống như Production, nhưng không có lệnh nào thực sự được gửi đến sàn giao dịch. Mỗi lệnh gọi thành công sẽ trả về một mã lệnh (order ID) mẫu cố định. Thay vì mã OTP thật gửi về điện thoại, Sandbox chấp nhận mã OTP mẫu cố định được ghi chú ngay trên trang này — hãy gửi đúng chuỗi đó trong header x-otp-token.

C3. Hủy lệnh (Cơ sở)

Hủy một lệnh chứng khoán đang tồn tại và chưa khớp. ** DELETE   /accounts/:accountId/orders/underlying/:orderId?timeType=T&isbuyin=N**

URL Sandbox

https://flashapi.phs.vn/sandbox/oapi/accounts/:accountId/orders/underlying/:orderId?timeType=T&isbuyin=N  

Tham số

 

Ví dụ yêu cầu (cURL gọi vào Sandbox)

curl -X DELETE “https://flashapi.phs.vn/sandbox/oapi/accounts/$ACCOUNT_ID/orders/underlying/$ORDER_ID?timeType=T&isbuyin=N” \   -H “Authorization: Bearer $ACCESS_TOKEN” \   -H “x-lang: vi” -H “x-via: K” \   -H “x-otp-token: 552066a35eb30a9815afc952b14287a8”  

Ví dụ phản hồi từ Sandbox

{ “s”: “ok” } **Hành vi trên Sandbox: ** Sandbox vẫn kiểm tra đầy đủ các trường bắt buộc và đúng kiểu dữ liệu, đồng thời yêu cầu các header giống như Production, nhưng không có lệnh nào thực sự được gửi đến sàn giao dịch. Mỗi lệnh gọi thành công sẽ trả về một mã lệnh (order ID) mẫu cố định. Thay vì mã OTP thật gửi về điện thoại, Sandbox chấp nhận mã OTP mẫu cố định được ghi chú ngay trên trang này — hãy gửi đúng chuỗi đó trong header x-otp-token.

C4. Lấy sức mua Cơ sở

Trả về sức mua khả dụng cho một mã chứng khoán, dựa trên mức giá dự kiến đặt lệnh. Chỉ dùng GET — không cần x-otp-token. ** GET   /accounts/:accountId/underlying/buyingPower**

URL Sandbox

https://flashapi.phs.vn/sandbox/oapi/accounts/:accountId/underlying/buyingPower  

Tham số

Ví dụ yêu cầu (cURL gọi vào Sandbox)

curl “https://flashapi.phs.vn/sandbox/oapi/accounts/$ACCOUNT_ID/underlying/buyingPower?symbol=VIC&quotePrice=222000” \   -H “Authorization: Bearer $ACCESS_TOKEN”  

Ví dụ phản hồi từ Sandbox

{ “s”: “ok”, “d”: [ { “ppse”: 0, “maxqty”: -1, “allowance”: 16, “blocked”: 0 } ] } **Hành vi trên Sandbox: ** Sandbox trả về đúng một bản ghi mẫu cố định cho bất kỳ accountId nào bạn truyền vào, giúp bạn xác nhận tên trường và kiểu dữ liệu trước khi trỏ hệ thống của bạn sang Production — nơi dữ liệu phản ánh đúng tài khoản thật.