为满足不同用户的交易需求,CoinEx站内已支持P2P API相关功能,详见以下说明。
一、CoinEx P2P API 使用说明
1、API支持的客户
任何完成了P2P商家身份验证的站内用户,若您尚未拥有商家身份,需先前往页面完成P2P商家申请。
2、执行效率与内容
通过API进行操作的用户,信息获取和请求执行效率与页面内无差别,返回内容因字段限制有所删减。
3、API支持目录
- P2P店铺营业状态管理
- P2P广告管理
- P2P用户广告列表
- P2P市场广告列表
- P2P订单列表
- P2P广告价格修改
- P2P市场深度数据
二、P2P API 接口文档
在使用前,需访问CoinEx公共API进行认证操作。
1、P2P店铺营业状态管理
接口信息
- URL路径:/v2/p2p/exchange-status
- 请求方法:POST
- 接口描述:设置P2P店铺的营业状态(开启或关闭)
- 权限要求:需要认证
请求参数
请求体
| 参数名 | 必填 | 类型 | 描述 |
| status | 是 | String | 店铺状态,可选值:OPEN(开启)或CLOSED(关闭) |
请求示例
POST /v2/p2p/exchange-status HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "OPEN"
}
响应参数
| 参数名 | 类型 | 描述 |
| status | String | 设置后的店铺状态,OPEN或CLOSED |
响应示例
{
"code": 0,
"message": "OK",
"data": {
"status": "OPEN"
}
}
2、P2P广告管理
接口信息
- URL路径:/v2/p2p/manage-ads
- 请求方法:POST
- 接口描述:批量管理P2P广告(上线或下线)
- 权限要求:需要认证
请求参数
请求体
| 参数名 | 必填 | 类型 | 描述 |
| status | 是 | String | 操作类型,可选值:ONLINE(上线)或OFFLINE(下线) |
| ad_ids | 否 | Array[String] | 广告ID列表,不传则操作所有符合条件的广告 |
请求示例
POST /v2/p2p/manage-ads HTTP/1.1
Host: api.coinex.com
Content-Type: application/json
{
"status": "ONLINE",
"ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
响应参数
| 参数名 | 类型 | 描述 |
| affected_ad_ids | Array[String] | 成功操作的广告ID列表 |
响应示例
{
"code": 0,
"message": "OK",
"data": {
"affected_ad_ids": ["5f7c8b9d1a2b3c4d5e6f7g8h", "5f7c8b9d1a2b3c4d5e6f7g9i"]
}
}
3、P2P用户广告列表
接口信息
- URL路径:/v2/p2p/ads
- 请求方法:GET
- 接口描述:获取当前用户的所有广告列表
- 权限要求:需要认证
请求参数
无
请求示例
GET /v2/p2p/ads HTTP/1.1 Host: api.coinex.com
响应参数
返回广告对象数组,每个广告对象包含以下字段:
| 参数名 | 类型 | 描述 |
| ad_id | String | 广告ID |
| created_at | Number | 创建时间(毫秒时间戳) |
| updated_at | Number | 更新时间(毫秒时间戳) |
| ad_number | String | 广告编号 |
| ad_side | String | 广告方向,BUY(买入)或SELL(卖出) |
| base_ccy | String | 基础货币 |
| quote_ccy | String | 计价货币 |
| price | String | 价格 |
| available_amount | String | 可用数量 |
| quote_min_limit | String | 最小交易限额(计价货币) |
| quote_max_limit | String | 最大交易限额(计价货币) |
| status | String | 广告状态,可选值:ONLINE(上线)或OFFLINE(下线) |
响应示例
{
"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、P2P市场广告列表
接口信息
- URL路径:/v2/p2p/market/ads
- 请求方法:GET
- 接口描述:获取P2P市场广告列表
- 权限要求:不需要认证
请求参数
查询参数
| 参数名 | 必填 | 类型 | 描述 |
| base_ccy | 是 | String | 基础货币 |
| quote_ccy | 是 | String | 计价货币 |
| order_side | 是 | String | 订单方向,订单方向与广告方向相反,取值为 BUY或SELL |
| target_quote_amount | 否 | Decimal | 目标交易金额(计价货币) |
| sort_by | 否 | String | 排序字段,默认为PRICE,可选 COMPLETION_RATE(完单率)DEAL_COUNT(成交数)ACCEPTANCE_RATE(接单率) |
| sort_type | 否 | String | 排序方式,ASC(升序)或DESC(降序),默认为ASC |
| page | 否 | Integer | 页码,默认为1 |
| limit | 否 | Integer | 每页数量,默认为10 |
请求示例
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
响应参数
| 参数名 | 类型 | 描述 |
| data | Array | 广告列表,每个元素结构同用户广告列表 |
| pagination | Object | 分页信息 |
| pagination.total | Integer | 总记录数 |
| pagination.has_next | Boolean | 是否有下一页 |
响应示例
{
"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、P2P订单列表
接口信息
- URL路径:/v2/p2p/order
- 请求方法:GET
- 接口描述:获取用户P2P订单列表
- 权限要求:需要认证
请求参数
查询参数
| 参数名 | 必填 | 类型 | 描述 |
| start_time | 否 | Number | 开始时间(毫秒时间戳) |
| end_time | 否 | Number | 结束时间(毫秒时间戳) |
| ad_side | 否 | String | 广告方向,BUY或SELL |
| quote_ccy | 否 | String | 计价货币 |
| status | 否 | string | 订单状态 |
| page | 否 | Integer | 页码,默认为1 |
| limit | 否 | Integer | 每页数量,默认为10 |
请求示例
GET /v2/p2p/order?start_time=1618456789000&end_time=1618556789000&status=CREATED&page=1&limit=10 HTTP/1.1 Host: api.coinex.com
响应参数
| 参数名 | 类型 | 描述 |
| data | Array | 订单列表 |
| pagination | Object | 分页信息 |
| pagination.total | Integer | 总记录数 |
| pagination.has_next | Boolean | 是否有下一页 |
订单对象包含以下字段:
| 参数名 | 类型 | 描述 |
| order_id | Integer | 订单ID |
| order_num | String | 订单编号 |
| ad_id | String | 广告ID |
| status | String | 订单状态,可选值:CREATED(待接单)、CONFIRMED(待付款)、PAID(已付款)、FINISHED(已完成)、CANCELED(已取消) |
| created_at | Number | 创建时间(毫秒时间戳) |
| finished_at | Number | 完成时间(毫秒时间戳) |
| confirm_due_at | Number | 确认截止时间(毫秒时间戳) |
| payment_due_at | Number | 付款截止时间(毫秒时间戳) |
| order_side | String | 订单方向,BUY或SELL |
| price | String | 价格 |
| base_ccy | String | 基础货币 |
| base_ccy_amount | String | 基础货币数量 |
| quote_ccy | String | 计价货币 |
| quote_ccy_amount | String | 计价货币数量 |
| cancel_type | String | 取消类型,可选值:CONFIRM_TIMEOUT(商家超时未确认)、MERCHANT_CREATED_CANCEL(商家拒绝接单)、CUSTOMER_CREATED_CANCEL(用户接单前取消)、PAY_TIMEOUT(买家超时未付款)、BUYER_CANCEL(买方取消)、SERVICE_CANCEL(客服手动取消)、SYSTEM_CANCEL(系统取消) |
响应示例
{
"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、P2P广告价格修改
接口信息
- URL路径:/v2/p2p/modify-ads
- 请求方法:POST
- 接口描述:批量修改P2P广告价格
- 权限要求:需要认证
请求参数
请求体
| 参数名 | 必填 | 类型 | 描述 |
| ads | 是 | Array | 广告修改信息数组 |
ads数组中的每个元素包含以下字段:
| 参数名 | 必填 | 类型 | 描述 |
| ad_id | 是 | String | 广告ID |
| price | 是 | Decimal | 新价格 |
请求示例
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"
}
]
}
响应参数
返回每个广告修改的结果数组,每个元素包含以下字段:
| 参数名 | 类型 | 描述 |
| code | Integer | 结果代码,0表示成功 |
| message | String | 结果消息 |
| data | Object | 成功时返回更新后的广告信息,失败时为null |
响应示例
{
"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、P2P市场深度数据
接口信息
- URL路径:/v2/p2p/market/depth
- 请求方法:GET
- 接口描述:获取P2P市场深度数据
- 权限要求:不需要认证
请求参数
查询参数
| 参数名 | 必填 | 类型 | 描述 |
| base_ccy | 是 | String | 基础货币 |
| quote_ccy | 是 | String | 计价货币 |
请求示例
GET /v2/p2p/market/depth?base_ccy=BTC"e_ccy=CNY HTTP/1.1 Host: api.coinex.com
响应参数
| 参数名 | 类型 | 描述 |
| base_ccy | String | 基础货币 |
| quote_ccy | String | 计价货币 |
| index_price | String | 指数价格 |
| depth | Object | 深度数据 |
| depth.bids | Array | 买单深度 |
| depth.asks | Array | 卖单深度 |
深度数组中的每个元素包含以下字段:
| 参数名 | 类型 | 描述 |
| price | String | 价格 |
| amount | String | 数量 |
响应示例
{
"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",
},
]
}
}
}