Để đáp ứng nhu cầu giao dịch đa dạng của người dùng, CoinEx hiện hỗ trợ các chức năng liên quan đến API P2P. Chi tiết như sau:
Hướng dẫn sử dụng API P2P CoinEx
1. Đối tượng sử dụng
Bất kỳ người dùng nào đã hoàn thành xác minh ID thương nhân P2P trên CoinEx. Nếu bạn chưa phải là thương nhân đã được xác minh, bạn cần đăng ký trở thành thương nhân P2P trên trang P2P trước khi sử dụng các dịch vụ API.
2. Hiệu suất thực thi và nội dung
Đối với người dùng vận hành thông qua dịch vụ API, hiệu suất truy xuất thông tin và thực thi yêu cầu tương tự như khi thao tác trực tiếp trên giao diện CoinEx. Tuy nhiên, nội dung trả về có thể bị rút gọn do giới hạn các trường dữ liệu.
3. Các module được hỗ trợ
- Quản lý trạng thái cửa hàng P2P
- Quản lý quảng cáo P2P
- Danh sách quảng cáo người dùng P2P
- Danh sách quảng cáo thị trường P2P
- Danh sách đơn hàng P2P
- Sửa đổi giá quảng cáo P2P
- Dữ liệu độ sâu thị trường P2P
Tài liệu Endpoint API P2P
Vui lòng truy cập Tài liệu API công khai CoinEx để xác thực trước khi sử dụng các endpoint dưới đây.
1. Quản lý trạng thái cửa hàng P2P
Thông tin Endpoint
- URL Path: /v2/p2p/exchange-status
- Phương thức yêu cầu: POST
- Mô tả: Thiết lập trạng thái kinh doanh của cửa hàng P2P (Mở hoặc Đóng)
- Quyền hạn: Yêu cầu xác thực
Tham số yêu cầu
Request Body
| Tham số | Bắt buộc | Loại | Mô tả |
| status | Có | String | Trạng thái cửa hàng, tùy chọn: OPEN hoặc CLOSED |
Ví dụ yêu cầu
POST /v2/p2p/exchange-status HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "OPEN"
}
Tham số phản hồi
| Tham số | Loại | Mô tả |
| status | String | Trạng thái cửa hàng đã thiết lập, OPEN hoặc CLOSED |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": {
"status": "OPEN"
}
}
2. Quản lý quảng cáo P2P
Thông tin Endpoint
- URL Path: /v2/p2p/manage-ads
- Phương thức yêu cầu: POST
- Mô tả: Quản lý hàng loạt quảng cáo P2P (Trực tuyến hoặc Ngoại tuyến)
- Quyền hạn: Yêu cầu xác thực
Tham số yêu cầu
Request Body
| Tham số | Bắt buộc | Loại | Mô tả |
| status | Có | String | Loại thao tác, tùy chọn: ONLINE hoặc OFFLINE |
| ad_ids | Không | Array[String] | Danh sách ID quảng cáo; nếu không cung cấp, tất cả quảng cáo đủ điều kiện sẽ được thao tác |
Ví dụ yêu cầu
POST /v2/p2p/manage-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "ONLINE",
"ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
Tham số phản hồi
| Tham số | Loại | Mô tả |
| affected_ad_ids | Array[String] | Danh sách ID quảng cáo đã thao tác thành công |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": {
"affected_ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
}
3. Danh sách quảng cáo người dùng P2P
Thông tin Endpoint
- URL Path: /v2/p2p/ads
- Phương thức yêu cầu: GET
- Mô tả: Lấy tất cả quảng cáo của người dùng hiện tại
- Quyền hạn: Yêu cầu xác thực
Tham số yêu cầu
Không có
Ví dụ yêu cầu
GET /v2/p2p/ads HTTP/1.1
Host: api.coinex.com
Tham số phản hồi
Trả về một mảng các đối tượng quảng cáo. Mỗi đối tượng quảng cáo chứa các trường sau:
| Tham số | Loại | Mô tả |
| ad_id | String | ID quảng cáo |
| created_at | Number | Thời gian tạo (tính bằng mili giây) |
| updated_at | Number | Thời gian cập nhật (tính bằng mili giây) |
| ad_number | String | Số quảng cáo |
| ad_side | String | Loại giao dịch của quảng cáo, BUY hoặc SELL |
| base_ccy | String | Coin cơ sở |
| quote_ccy | String | Coin báo giá |
| price | String | Giá |
| available_amount | String | Khối lượng khả dụng có thể sử dụng |
| quote_min_limit | String | Giới hạn giao dịch tối thiểu (coin báo giá) |
| quote_max_limit | String | Giới hạn giao dịch tối đa (coin báo giá) |
| status | String | Trạng thái quảng cáo, tùy chọn: ONLINE hoặc OFFLINE |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618456789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "200000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
},
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g9i",
"created_at": 1618456790000,
"updated_at": 1618456790000,
"ad_number": "AD123456790",
"ad_side": "SELL",
"base_ccy": "ETH",
"quote_ccy": "CNY",
"price": "10000",
"available_amount": "5",
"quote_min_limit": "200",
"quote_max_limit": "20000",
"status": "OFFLINE"
}
]
}
4. Danh sách quảng cáo thị trường P2P
Thông tin Endpoint
- URL Path: /v2/p2p/market/ads
- Phương thức yêu cầu: GET
- Mô tả: Lấy danh sách quảng cáo thị trường P2P
- Quyền hạn: Không yêu cầu xác thực
Tham số yêu cầu
Tham số truy vấn
| Tham số | Bắt buộc | Loại | Mô tả |
| base_ccy | Có | String | Coin cơ sở |
| quote_ccy | Có | String | Coin báo giá |
| order_side | Có | String | Loại lệnh (order_side), ngược với hướng của quảng cáo, tùy chọn: BUY hoặc SELL |
| target_quote_amount | Không | Decimal | Số tiền giao dịch mục tiêu (coin báo giá) |
| sort_by | Không | String | Trường sắp xếp, mặc định là PRICE, tùy chọn: COMPLETION_RATE, DEAL_COUNT, ACCEPTANCE_RATE |
| sort_type | Không | String | Loại sắp xếp, ASC (tăng dần) hoặc DESC (giảm dần), mặc định là ASC |
| page | Không | Integer | Số trang, mặc định là 1 |
| limit | Không | Integer | Số mục hiển thị trên mỗi trang, mặc định là 10 |
Ví dụ yêu cầu
GET /v2/p2p/market/ads?base_ccy=BTC"e_ccy=CNY&order_side=BUY&page=1&limit=10 HTTP/1.1
Host: api.coinex.com
Tham số phản hồi
| Tham số | Loại | Mô tả |
| data | Array | Danh sách quảng cáo, mỗi cấu trúc giống với danh sách quảng cáo người dùng |
| pagination | Object | Thông tin phân trang |
| pagination.total | Integer | Tổng số bản ghi |
| pagination.has_next | Boolean | Cho biết có trang tiếp theo hay không |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618456789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "200000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
},
],
"pagination": {
"total": 50,
"has_next": true
}
}
5. Danh sách đơn hàng P2P
Thông tin Endpoint
- URL Path: /v2/p2p/order
- Phương thức yêu cầu: GET
- Mô tả: Lấy danh sách đơn hàng P2P của người dùng
- Quyền hạn: Yêu cầu xác thực
Tham số yêu cầu
Tham số truy vấn
| Tham số | Bắt buộc | Loại | Mô tả |
| start_time | Không | Number | Thời gian bắt đầu (dấu thời gian tính bằng mili giây) |
| end_time | Không | Number | Thời gian kết thúc (dấu thời gian tính bằng mili giây) |
| ad_side | Không | String | Phía quảng cáo, BUY hoặc SELL |
| quote_ccy | Không | String | Coin báo giá |
| status | Không | string | Trạng thái đơn hàng |
| page | Không | Integer | Số trang, mặc định là 1 |
| limit | Không | Integer | Số mục hiển thị trên mỗi trang, mặc định là 10 |
Ví dụ yêu cầu
GET /v2/p2p/order?start_time=1618456789000&end_time=1618556789000&status=CREATED&page=1&limit=10 HTTP/1.1
Host: api.coinex.com
Tham số phản hồi
| Tham số | Loại | Mô tả |
| data | Array | Danh sách đơn hàng |
| pagination | Object | Thông tin phân trang |
| pagination.total | Integer | Tổng số bản ghi |
| pagination.has_next | Boolean | Cho biết có trang tiếp theo hay không |
Mỗi đối tượng đơn hàng chứa các trường sau:
| Tham số | Loại | Mô tả |
| order_id | Integer | ID đơn hàng |
| order_num | String | Số đơn hàng |
| ad_id | String | ID quảng cáo |
| status | String | Trạng thái đơn hàng, tùy chọn: CREATED, CONFIRMED, PAID, FINISHED, CANCELED |
| created_at | Number | Thời gian tạo (dấu thời gian tính bằng mili giây) |
| finished_at | Number | Thời gian hoàn thành (dấu thời gian tính bằng mili giây) |
| confirm_due_at | Number | Thời hạn xác nhận (dấu thời gian tính bằng mili giây) |
| payment_due_at | Number | Thời hạn thanh toán (dấu thời gian tính bằng mili giây) |
| order_side | String | Phía đặt lệnh, BUY hoặc SELL |
| price | String | Giá |
| base_ccy | String | Coin cơ sở |
| base_ccy_amount | String | Số lượng coin cơ sở |
| quote_ccy | String | Coin báo giá |
| quote_ccy_amount | String | Số lượng coin báo giá |
| cancel_type | String | Các loại hủy, tùy chọn: CONFIRM_TIMEOUT (Thương nhân không xác nhận trong thời hạn), MERCHANT_CREATED_CANCEL (Thương nhân từ chối đơn hàng), CUSTOMER_CREATED_CANCEL (Người dùng hủy trước khi chấp nhận đơn hàng), PAY_TIMEOUT (Người mua không thanh toán trong thời hạn), BUYER_CANCEL (Người mua hủy đơn hàng), SERVICE_CANCEL (Hỗ trợ khách hàng hủy đơn hàng thủ công), SYSTEM_CANCEL (Hệ thống tự động hủy đơn hàng). |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": [
{
"order_id": 12345,
"order_num": "P2P123456789",
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"status": "FINISHED",
"created_at": 1618456789000,
"finished_at": 1618466789000,
"confirm_due_at": 1618476789000,
"payment_due_at": 1618486789000,
"order_side": "BUY",
"price": "200000",
"base_ccy": "BTC",
"base_ccy_amount": "0.1",
"quote_ccy": "CNY",
"quote_ccy_amount": "20000",
"cancel_type": ""
},
],
"pagination": {
"total": 25,
"has_next": true
}
}
6. Sửa đổi giá quảng cáo P2P
Thông tin Endpoint
- URL Path: /v2/p2p/modify-ads
- Phương thức yêu cầu: POST
- Mô tả: Điều chỉnh hàng loạt giá quảng cáo P2P
- Quyền hạn: Yêu cầu xác thực
Tham số yêu cầu
Request Body
| Tham số | Bắt buộc | Loại | Mô tả |
| ads | Có | Array | Mảng chi tiết sửa đổi quảng cáo |
Mỗi phần tử trong mảng ads chứa các trường sau:
| Tham số | Bắt buộc | Loại | Mô tả |
| ad_id | Có | String | ID quảng cáo |
| price | Có | Decimal | Giá mới |
Ví dụ yêu cầu
POST /v2/p2p/modify-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"ads": [
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"price": "210000"
},
{
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g9i",
"price": "11000"
}
]
}
Tham số phản hồi
Phản hồi trả về một mảng kết quả cho mỗi quảng cáo đã sửa đổi. Mỗi phần tử chứa các trường sau:
| Tham số | Loại | Mô tả |
| code | Integer | Mã kết quả, 0 biểu thị thành công |
| message | String | Thông báo kết quả |
| data | Object | Thông tin quảng cáo đã cập nhật khi thành công, null khi thất bại |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": [
{
"code": 0,
"message": "OK",
"data": {
"ad_id": "5f7c8b9d1a2b3c4d5e6f7g8h",
"created_at": 1618456789000,
"updated_at": 1618556789000,
"ad_number": "AD123456789",
"ad_side": "BUY",
"base_ccy": "BTC",
"quote_ccy": "CNY",
"price": "210000",
"available_amount": "0.5",
"quote_min_limit": "500",
"quote_max_limit": "50000",
"status": "ONLINE"
}
},
{
"code": 11002,
"message": "adv not exists",
"data": null
}
]
}
7. Dữ liệu độ sâu thị trường P2P
Thông tin Endpoint
- URL Path: /v2/p2p/market/depth
- Phương thức yêu cầu: GET
- Mô tả: Lấy dữ liệu độ sâu thị trường P2P
- Quyền hạn: Không yêu cầu xác thực
Tham số yêu cầu
Tham số truy vấn
| Tham số | Bắt buộc | Loại | Mô tả |
| base_ccy | Có | String | Coin cơ sở |
| quote_ccy | Có | String | Coin báo giá |
Ví dụ yêu cầu
GET /v2/p2p/market/depth?base_ccy=BTC"e_ccy=CNY HTTP/1.1
Host: api.coinex.com
Tham số phản hồi
| Tham số | Loại | Mô tả |
| base_ccy | String | Coin cơ sở |
| quote_ccy | String | Coin báo giá |
| index_price | String | Giá chỉ số |
| depth | Object | Dữ liệu độ sâu |
| depth.bids | Array | Độ sâu lệnh mua |
| depth.asks | Array | Độ sâu lệnh bán |
Mỗi phần tử trong các mảng độ sâu chứa các trường sau:
| Tham số | Loại | Mô tả |
| price | String | Giá |
| amount | String | Khối lượng |
Ví dụ phản hồi
{
"code": 0,
"message": "OK",
"data": {
"base_ccy": "BTC",
"quote_ccy": "CNY",
"index_price": "200000",
"depth": {
"bids": [
{
"price": "199000",
"amount": "1.5",
},
{
"price": "198000",
"amount": "2.0",
}
],
"asks": [
{
"price": "201000",
"amount": "1.0",
},
{
"price": "202000",
"amount": "1.8",
},
]
}
}
}