简体中文

更新日志

2023-04-24

2022-11-07

2022-11-07

介绍

API Key 设置

联系我们

基本信息

API 基本信息

HTTP 返回代码

接口错误代码

接口的基本信息


访问限制

访问限制基本信息

IP 访问限制

下单频率限制

/sapi/ 接口限频说明


接口鉴权类型

鉴权类型 描述
NONE 不需要鉴权的接口
TRADE 需要有效的 API-Key 和签名
USER_DATA 需要有效的 API-Key 和签名

SIGNED (TRADE、USER_DATA AND MARGIN) Endpoint security

时间同步安全

逻辑伪代码如下:

  if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow)
  {
    // process request
  } 
  else 
  {
    // reject request
  }

关于交易时效性 互联网状况并不完全稳定可靠,因此你的程序本地到传奇服务器的时延会有抖动。这是我们设置recvWindow的目的所在,如果你从事高频交易,对交易时效性有较高的要求,可以灵活设置recvWindow以达到你的要求。

POST /sapi/v1/c2c/ad/getDetailByNo 的示例

以下是在linux bash环境下使用 echo openssl 和curl工具实现的一个调用接口下单的示例 apikey、secret仅供示范

Key Value
apiKey dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83
secretKey 2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9
参数 取值
adNo 10191633467710386176
timestamp 1591702613943

示例 1: 所有参数通过 request body 发送

Example 1

HMAC SHA256 signature:

    $ echo -n "adNo=10191633467710386176&timestamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
    (stdin)=  3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9

curl command:

    (HMAC SHA256)
    $ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://api.pexpay.com/sapi/v1/c2c/ad/getDetailByNo' -d 'adNo=10191633467710386176&timestamp=1591702613943&signature=3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9'

示例 2: 所有参数通过 query string 发送

Example 2

HMAC SHA256 signature:

    $ echo -n "adNo=10191633467710386176&timestamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
    (stdin)= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9

curl command:

    (HMAC SHA256)
   $ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://api.pexpay.com/sapi/v1/c2c/ad/getDetailByNo?adNo=10191633467710386176&timestamp=1591702613943&signature=3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9'


公开 API 参数

术语

这里的术语适用于全部文档,建议特别是新手熟读,也便于理解。

枚举定义

订单状态 (C2C订单相关):

状态 描述
1 订单待买家支付。
2 买家标记订单为已付款,等待卖家最终确认。
3 订单的数字货币放行中(系统放币异常的状态)。
4 订单的数字货币已成功放行给买家,订单完成。
5 订单有纠纷,交易双方的某一方发起申诉。
6 订单被买家取消。
7 订单超时未支付,被系统取消。

订单取消原因 (C2C订单相关):

状态 描述
6 卖家不在线。
7 这个卖家的交易条件不适用于我。
8 我怀疑卖家有欺诈行为。
9 卖家退款并要求我取消订单。
10 价格太贵了。
11 我是新手,不知道如何进行C2C交易。
5 其它。

广告状态 (C2C广告相关):

状态 描述
1 广告在线。
3 广告已下线(网站上没有广告,但可以上线)。
4 广告已关闭(广告已过期,它不在网站上,无法上线)。

广告价格类型 (C2C广告相关):

状态 描述
1 广告价格是固定的,不会随着加密货币的市场价格而变动。
2 广告价格随加密货币的市场行情波动。

C2C 接口

按页获取历史订单(USER_DATA)

GET /sapi/v1/c2c/orderMatch/listUserOrderHistory?endTimestamp=32432543543543&page=1&rows=10&startTimestamp=12321321213&tradeType=BUY

参数:

名称 类型 是否必需 描述
tradeType String NO 交易类型,可选值:"BUY", "SELL"
startTimestamp Long NO 订单创建开始时间,以毫秒为单位
endTimestamp Long NO 订单结束开始时间,以毫秒为单位
page Integer NO 页码,默认值=1,最小值=1
rows Integer NO 每页的条数,默认值=1,最小值=1,最大值=100
order String NO 按哪个参数排序
sort String NO 升序降序,可选值:"Asc", "Desc"

响应:

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "orderNumber": "20466367873332568064",
      "adNo": "11461232745961476096",
      "tradeType": "SELL",
      "asset": "USDT",
      "fiat": "CNY",
      "fiatSymbol": "",
      "amount": "15.38000000",
      "totalPrice": "100.00000000",
      "unitPrice": "6.5",
      "orderStatus": "COMPLETED",
      "createTime": 1678184770000,
      "commission": "0",
      "counterPartNickName": "nkq***",
      "advertisementRole": "MAKER"
    }
  ],
          "total": 1,
          "success": true
}

按页获取订单列表(USER_DATA)

请求:

{
  "adNo": "11290172664500584448",
  "asset": "USDT",
  "tradeType": "BUY",
  "page": 1,
  "rows": 10
}

POST /sapi/v1/c2c/orderMatch/listOrders

参数:

名称 类型 是否必需 描述
adNo String NO 广告编号
asset String NO 数字货币,如"BTC"
orderStatus Integer No 订单状态
tradeType String NO 交易类型,可选值:"BUY", "SELL"
payType Integer NO 支付方式类型,如 "BANK", "WECHAT"
orderStatusList Integer List NO 订单状态
startDate Long NO 订单创建开始时间,以毫秒为单位
endDate Long NO 订单创建结束时间,以毫秒为单位
page Integer 页码,最小值=1
rows Integer 每页的条数,最小值=1,最大值=2000
order String 按哪个参数排序
sort String 升序降序,可选值:"Asc", "Desc"

响应:

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "orderNumber": "20466277377803218944",
      "adNo": "11466072390272757760",
      "tradeType": "SELL",
      "asset": "USDT",
      "fiat": "CNY",
      "fiatSymbol": "",
      "amount": "136.61000000",
      "totalPrice": "1000.00000000",
      "orderStatus": 0,
      "createTime": 1678163194000,
      "currencyTicketSize": "0.01",
      "assetTicketSize": "0.01",
      "priceTicketSize": "0.01",
      "sellerNickname": "nkaa",
      "buyerNickname": "50qas",
      "notifyPayEndTime": 1678164094000,
      "chatUnreadCount": 0,
      "commissionRate": "0",
      "commission": "0",
      "tradeMethodCommissionRateVoList": [
        {
          "tradeMethodIdentifier": "BANK",
          "tradeMethodName": "Bank Transfer",
          "commissionRate": "0"
        }
      ]
    }
  ],
          "total": 1,
          "success": true
}

所有有效的付款方式(NONE)

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "identifier": "BANK",
      "name": "Bank Transfer",
      "shortName": "Bank Transfer",
      "risk": "Please make sure you add your bank card number for instant payments.  Do not include details of other banks or payment methods. You must add the payment details of the selected bank.",
      "typeName": "银行转账",
      "typeCode": "bank",
      "riskLevel": 1,
      "isVisible": 1,
      "multiAllow": 1,
      "remark": "(null)",
      "sequence": 10
    },
    {
      "identifier": "ALIPAY",
      "name": "Alipay",
      "shortName": "Alipay",
      "typeName": "网络钱包",
      "typeCode": "web-wallet",
      "riskLevel": 0,
      "isVisible": 1,
      "multiAllow": 1,
      "remark": "(null)",
      "sequence": 20
    }
  ],
          "success": true
}

POST /sapi/v1/c2c/paymentMethod/listAll

参数:

响应:

获取 C2C 广告类别 (USER_DATA)

响应:

{
  "code": "000000",
          "message": "success",
          "data": {
    "adClassifies": [
      "profession"
    ]
  },
  "success": true
}

GET /sapi/v1/c2c/ad/getAvailableAdClassify

参数:

获取 C2C 广告报价 (NONE)

请求:

{
  "assets": [
    "USDT"
  ],
          "fiatCurrency": "TWD",
          "payType": "BANK",
          "tradeType": "BUY"
}

POST /sapi/v1/c2c/ad/getReferencePrice

参数:

名称 类型 是否必需 描述
assets List String 数字货币
fiatCurrency String 法币
payType String 支付方式类型,如 "BANK", "WECHAT"
tradeType String 交易类型,可选值:"BUY", "SELL"

响应:

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "asset": "USDT",
      "currency": "TWD",
      "currencyScale": 2,
      "currencySymbol": "",
      "referencePrice": "31.06",
      "assetScale": 2,
      "priceScale": 2
    }
  ],
          "success": true
}

获取 C2C 广告详情 (USER_DATA)

请求:

{
  "adNo": "11218246497340923904"
}

POST /sapi/v1/c2c/ad/getDetailByNo

参数:

名称 类型 是否必需 描述
adNo String 广告编号

响应:

{
  "code": "000000",
          "message": "success",
          "data": {
    "adNo": "11421763242363183104",
            "classify": "profession",
            "tradeType": "BUY",
            "asset": "USDT",
            "fiatUnit": "TWD",
            "priceType": 1,
            "priceFloatingRatio": "100.00000000",
            "rateFloatingRatio": "0.00000000",
            "price": "32.00",
            "initAmount": "10000.00000000",
            "surplusAmount": "10000.00000000",
            "maxSingleTransAmount": "100000",
            "minSingleTransAmount": "1000",
            "buyerKycLimit": 1,
            "buyerRegDaysLimit": -1,
            "buyerBtcPositionLimit": "-1.00000000",
            "payTimeLimit": 15,
            "tradeMethods": [
      {
        "identifier": "BANK",
        "iconUrlColor": "https://static.devfdg.net/image/admin_mgs_image_upload/20200612/8b6fcda1-1285-486b-ad79-07156420459d.png",
        "tradeMethodName": "Bank Transfer"
      }
    ],
            "createTime": 1667550197000,
            "tradableQuantity": "10000",
            "commissionRate": "0",
            "tradeMethodCommissionRateVoList": [
      {
        "tradeMethodIdentifier": "BANK",
        "tradeMethodName": "银行卡",
        "commissionRate": "0"
      }
    ],
            "assetLogo": "https://res.pxpstatic.com/image/c2c/icons/crypto/usdt.png",
            "assetScale": 2,
            "fiatScale": 2,
            "priceScale": 2,
            "fiatSymbol": ""
  },
  "success": true
}

获取 C2C 用户广告列表 (USER_DATA)

请求:

{
  "adStatus": 1,
          "asset": "USDT",
          "page":1,
          "rows":10,
          "tradeType":"BUY"
}

POST /sapi/v1/c2c/ad/listWithPagination

参数:

名称 类型 是否必需 描述
advNo String 广告编号
adStatus String 广告状态, 可选值:"1", "2", "3"
asset String 数字货币,如"BTC"
tradeType String 交易类型,可选值:"BUY", "SELL"
startDate String 广告创建开始时间
endDate String 广告创建结束时间
fiatUnit String 法币
page String 页码
rows String 每页条目数

响应:

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "adNo": "11425741454814470144",
      "classify": "profession",
      "tradeType": "SELL",
      "asset": "USDT",
      "fiatUnit": "TWD",
      "advStatus": 1,
      "priceType": 1,
      "price": "31.60",
      "initAmount": "3182.58000000",
      "surplusAmount": "2549.67000000",
      "maxSingleTransAmount": "500000",
      "minSingleTransAmount": "5000",
      "buyerKycLimit": 1,
      "buyerRegDaysLimit": -1,
      "buyerBtcPositionLimit": "-1.00000000",
      "remarks": "",
      "autoReplyMsg": "",
      "payTimeLimit": 15,
      "tradeMethods": [
        {
          "payId": 86247,
          "identifier": "BANK",
          "iconUrlColor": "https://static.devfdg.net/image/admin_mgs_image_upload/20200612/8b6fcda1-1285-486b-ad79-07156420459d.png",
          "tradeMethodName": "Bank Transfer"
        }
      ],
      "createTime": 1668498676000,
      "advUpdateTime": 1668498677000,
      "advVisibleRet": {
        "userSetVisible": 1,
        "orderFlowVisible": 1,
        "surplusAmountVisible": 1
      },
      "assetScale": 2,
      "fiatScale": 2,
      "priceScale": 2,
      "fiatSymbol": ""
    }
  ],
          "total": 1,
          "success": true
}

发布 C2C 广告 (TRADE)

请求:

{
  "asset":"USDT",
          "buyerRegDaysLimit":-1,
          "classify":"profession",
          "fiatUnit":"TWD",
          "initAmount":"10000",
          "maxSingleTransAmount":"100000.00",
          "minSingleTransAmount":"1000.00",
          "onlineNow":"true",
          "payTimeLimit":15,
          "price":"31",
          "priceFloatingRatio":100,
          "priceType":1,
          "tradeMethods":[
    {
      "payMethodId":"99",
      "identifier":"BANK"
    }
  ],
          "tradeType":"SELL"
}

POST /sapi/v1/c2c/ad/post

参数:

名称 类型 是否必需 描述
asset String 数字货币,如BTC
classify String 可选值:"mass", "profession", mass 普通广告,profession 专业广告
fiatUnit String 法币
initAmount String 初始金额,单位:数字货币
maxSingleTransAmount String 最大单笔法币金额
minSingleTransAmount String 最小单笔法币金额
onlineNow Boolean 是否立即上线
payTimeLimit Integer 支付时间限制,单位:分钟
price String 出售价格,单位:法币
priceType Integer 可选值:"1", "2", 1 固定价格 2 浮动价格
tradeType String 交易类型,可选值:"BUY", "SELL"
priceFloatingRatio String 浮动价格比例,仅在浮动价格类型广告生效
tradeMethods List 支付方式信息
buyerRegDaysLimit Integer taker账号已注册的最少天数,不传表示无限制
buyerBtcPositionLimit String taker持有数字货币的最低总价值(以BTC计算)
remarks String 广告备注
autoReplyMsg String 自动回复内容,下单后该内容会自动通过chat发送给taker

响应:

{
  "code": "000000",
          "message": "success",
          "data": "11425800822686646272",
          "success": true
}

更新 C2C 广告 (TRADE)

请求:

{
  "adNo":"11425741454814470144",
          "buyerRegDaysLimit":-1,
          "initAmount":"10000",
          "maxSingleTransAmount":"100000.00",
          "minSingleTransAmount":"1000.00",
          "payTimeLimit":15,
          "price":"31",
          "priceFloatingRatio":100,
          "tradeMethods":[
    {
      "payMethodId":"99",
      "identifier":"BANK"
    }
  ],
          "adStatus":1
}

POST /sapi/v1/c2c/ad/update

参数:

名称 类型 是否必需 描述
adNo String 广告编号
adStatus Integer 广告状态, 可选值:"1", "2", "3", "4"
initAmount String 初始金额,单位:数字货币
maxSingleTransAmount String 最大单笔法币金额
minSingleTransAmount String 最小单笔法币金额
payTimeLimit Integer 支付时间限制,单位:分钟
price String 出售价格,单位:法币
priceFloatingRatio String 浮动价格比例
tradeMethods List 支付方式信息
buyerRegDaysLimit Integer taker账号已注册的最少天数,不传表示无限制
buyerBtcPositionLimit String taker持有数字货币的最低总价值(以BTC计算)
remarks String 广告备注
autoReplyMsg String 自动回复内容,下单后该内容会自动通过chat发送给taker

响应:

{
  "code": "000000",
          "message": "success",
          "data": true,
          "success": true
}

更新 C2C 广告状态 (TRADE)

请求:

{
  "adStatus":3,
          "adNo":11426819922767450112
}

POST /sapi/v1/c2c/ad/updateStatus

参数:

名称 类型 是否必需 描述
adStatus Integer 广告状态, 可选值:"1", "2", "3", "4"
adNo String 广告编号

响应:

{
  "code":"000000",
          "message":"success",
          "success":true
}

搜索 C2C 广告 (NONE)

请求:

{
  "asset": "USDT",
          "fiatUnit": "CNY",
          "page": 1,
          "rows": 10,
          "tradeType": "SELL"
}

POST /sapi/v1/c2c/ad/search

参数:

名称 类型 是否必需 描述
asset String 数字货币,如 "BTC"
fiatUnit String 法币
tradeType String 交易类型,可选值:"BUY", "SELL"
payTypes List 支持的支付方式类型, 如 "BANK", "WECHAT"
publisherType String 交易类型,可选值:"merchant", "user",不限制请传空
transAmount String 期望交易的法币金额

响应:

{
  "code": "000000",
          "message": "success",
          "data": [
    {
      "adv": {
        "adNo": "11425762971874607104",
        "classify": "profession",
        "tradeType": "BUY",
        "asset": "USDT",
        "fiatUnit": "CNY",
        "price": "7.15",
        "initAmount": "46665.33000000",
        "surplusAmount": "13000.00",
        "maxSingleTransAmount": "99000.00",
        "minSingleTransAmount": "30000.00",
        "tradeMethods": [
          {
            "identifier": "BANK",
            "iconUrlColor": "https://static.devfdg.net/image/admin_mgs_image_upload/20200612/8b6fcda1-1285-486b-ad79-07156420459d.png",
            "tradeMethodName": "Bank Transfer"
          }
        ],
        "assetScale": 2,
        "fiatScale": 2,
        "priceScale": 2,
        "fiatSymbol": "",
        "isTradable": true,
        "dynamicMaxSingleTransAmount": "92950.00",
        "minSingleTransQuantity": "4195.80",
        "maxSingleTransQuantity": "13846.15",
        "dynamicMaxSingleTransQuantity": "13000.00"
      },
      "advertiser": {
        "userNo": "sc5e25c51d0fc37cbbb074de1fa52aa0b",
        "nickName": "资金安全",
        "userType": "merchant",
        "tagIconUrls": []
      }
    }
  ],
          "total": 1,
          "success": true
}

C2C 下单 (TRADE)

请求:

{
  "adNo": "11445651369269137408",
          "asset": "USDT",
          "buyType": "BY_MONEY",
          "fiatUnit": "CNY",
          "matchPrice":6.78,
          "totalAmount": 10,
          "tradeType": "BUY"
}

POST /sapi/v1/c2c/orderMatch/placeOrder

参数:

名称 类型 是否必需 描述
asset String 数字货币,如 "BTC"
fiatUnit String 法币
tradeType String 交易类型,可选值:"BUY", "SELL"
buyType String 按法币/数字货币数量下单,可选值:"BY_MONEY", "BY_AMOUNT"
totalAmount BigDecimal 下单数量
payId Long 下卖单时必传,传用于收款的支付方式的id
payType String 下买单时必传,传下单广告支持的支付方式的标识之一,如 "WECHAT"
adNo String 下单目标广告的广告编号

响应:

{
  "code": "000000",
          "message": "success",
          "data": {
    "orderNo": "20456853414085775360",
            "adNo": "11445651369269137408",
            "buyerNickname": "pe*****.com",
            "buyerName": "R150Bob",
            "sellerNickname": "BobN151",
            "sellerName": "est2T",
            "tradeType": "BUY",
            "payMethods": [
      {
        "id": 342,
        "identifier": "BANK",
        "tradeMethodName": "Bank Transfer",
        "fields": [
          {
            "fieldId": "0000000000000000001",
            "fieldName": "Name",
            "fieldContentType": "payee",
            "restrictionType": 0,
            "lengthLimit": 100,
            "isRequired": 1,
            "fieldValue": "R151Bob"
          },
          {
            "fieldId": "0000000000000000002",
            "fieldName": "Bank account number",
            "fieldContentType": "pay_account",
            "restrictionType": 0,
            "lengthLimit": 100,
            "isRequired": 1,
            "fieldValue": "1212"
          },
          {
            "fieldId": "0000000000000000006",
            "fieldName": "Bank name",
            "fieldContentType": "bank",
            "restrictionType": 0,
            "lengthLimit": 100,
            "isRequired": 1,
            "fieldValue": "121"
          },
          {
            "fieldId": "0000000000000000007",
            "fieldName": "Account opening branch",
            "fieldContentType": "sub_bank",
            "restrictionType": 0,
            "lengthLimit": 100,
            "isRequired": 0,
            "fieldValue": ""
          }
        ],
        "iconUrlColor": "/image/admin_mgs_image_upload/20200612/8b6fcda1-1285-486b-ad79-07156420459d.png"
      }
    ],
            "selectedPayId": 0,
            "asset": "USDT",
            "fiatUnit": "CNY",
            "amount": "1.47000000",
            "price": "6.78000000",
            "totalPrice": "10.00000000",
            "orderStatus": 1,
            "remark": "",
            "createTime": 1675916346000,
            "notifyPayEndTime": 1675917246000,
            "confirmPayTimeout": 0,
            "allowComplainEndTime": 1678508346000,
            "fiatTicketSize": "0.01",
            "assetTicketSize": "0.01",
            "priceTicketSize": "0.01",
            "notifyPayedExpireMinute": 15,
            "confirmPayedExpireMinute": 15,
            "currencyRate": "6.78396132",
            "canCancelComplaintOrder": false
  },
  "success": true
}

C2C 标记订单已支付 (TRADE)

请求:

{
  "orderNo": "20456854342616600576",
          "payId": 342
}

POST /sapi/v1/c2c/orderMatch/markOrderAsPaid

参数:

名称 类型 是否必需 描述
orderNo String 订单编号
payId Long 买单必传,支付的目标支付方式的id

响应:

{
  "code": "000000",
          "message": "success",
          "data": {
    "orderNo": "20456854342616600576",
            "orderStatus": 2,
            "notifyPayTime": 1675916586162,
            "confirmPayEndTime": 1675917486162,
            "selectedPayId": 342
  },
  "success": true
}

C2C 放币 (TRADE)

请求:

{
  "orderNo": "20456854342616600576"
}

POST /sapi/v1/c2c/orderMatch/releaseCoin

参数:

名称 类型 是否必需 描述
orderNo String 订单编号

响应:

{
  "code": "000000",
          "message": "success",
          "success": true
}

C2C 取消订单 (TRADE)

请求:

{
  "orderCancelAdditionalInfo": "",
          "orderCancelReasonCode": 1,
          "orderNo": "20456853414085775360"
}

POST /sapi/v1/c2c/orderMatch/cancelOrder

参数:

名称 类型 是否必需 描述
orderNo String 订单编号
orderCancelReasonCode Integer 取消订单原因码,可选值:"1", "2", "3", "4", "5"
orderCancelAdditionalInfo String 取消原因选择 "5" 时,用此字段提交额外的取消原因信息

响应:

{
  "code": "000000",
          "message": "success",
          "success": true
}

错误代码

错误JSON格式:

{
  "code": ${error code},
  "msg": "error message."
}

错误由两部分组成:错误代码和消息。 代码是通用的,但是消息可能会有所不同。

10xx -常规服务器或网络问题

-1000 UNKNOWN

-1001 DISCONNECTED

-1002 UNAUTHORIZED

-1003 TOO_MANY_REQUESTS

-1004 SERVER_BUSY

-1006 UNEXPECTED_RESP

-1007 TIMEOUT

-1008 SERVER_BUSY

-1014 UNKNOWN_ORDER_COMPOSITION

-1015 TOO_MANY_ORDERS

-1016 SERVICE_SHUTTING_DOWN

-1020 UNSUPPORTED_OPERATION

-1021 INVALID_TIMESTAMP

-1022 INVALID_SIGNATURE

-1099 Not found, authenticated, or authorized