票交所区块链POC api

2017-01-12  本文已影响0人  kauchy

说明

{
  "jsonrpc": "2.0",
  "method": "{method}",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"{function}",
         "args":["{参数1}","{参数2}","{参数3}"...]
      }
  },
  "id":{id}
}

{method} query/invoke
{chaincodeId} 测试前提供
{function} 实际操作,见具体API
{args} 调用参数,见具体API
返回格式

{
  "jsonrpc": "2.0",
  "result": {
    "status": "{status}",
    "message": "{body}"
  },
  "id":{id}
}
{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

{id}:数字,序号,暂无意义,下同

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"result",
         "args":["{TXID}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"OK\",\"result\":{json}/"{string}",\"status\":\"20000000\",\"success\":true}"
  },
  "id":{id}
}

{status}="20000000"或者{success}=true为成功

result为结果json

api

1.交易所

字段

1.1创建交易所

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"market.create",
         "args":["{\"marketId\":\"{marketId}\",\"address\":\"{地址}\",\"name\":\"{name}\"}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表创建成功,见说明

1.2查询交易所

request

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"market",
         "args":["{marketId}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"OK\",\"result\":\"{\"address\":\"{address}\",\"marketId\":\"{market}\",\"name\":\"{name}\",\"priKey\":\"{priKey}\",\"pubKey\":\"{pubKey}\"}\",\"status\":\"20000000\",\"success\":true}"
  },
  "id": 0
}
{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"OK\",\"result\":\"{\"address\":\"beijing\",\"marketId\":\"qianbao\",\"name\":\"qianbao\",\"priKey\":\"pri-qianbao\",\"pubKey\":\"pub-qianbao\"}\",\"status\":\"20000000\",\"success\":true}"
  },
  "id": 0
}
{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"market not found!\",\"status\":\"40400000\",\"success\":false}"
  },
  "id": 0
}

2.用户

2.1用户上链

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"user.create",
         "args":["{\"name\":\"{name}\",\"address\":\"{address}\",\"marketId\":\"{marketId}\",\"type\":{type},\"userId\":\"{userId}\",\"businessLicense\":\"{businessLicense}\",\"organizationCodeCertificate\":\"{organizationCodeCertificate}\",\"taxRegistrationCertificate\":\"{organizationCodeCertificate}\"}","{market-priKey"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表创建成功,见说明

2.2查询用户

request

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"user",
         "args":["userId"]
      }
  },
  "id":{id}
}

response demo

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"OK\",\"result\":\"{\"address\":\"beijing\",\"businessLicense\":\"xxxxx\",\"marketId\":\"qianbao\",\"name\":\"zhangzheng\",\"organizationCodeCertificate\":\"xxxxxx\",\"priKey\":\"pri-zz\",\"pubKey\":\"pub-zz\",\"taxRegistrationCertificate\":\"xxxxxx\",\"type\":1,\"userId\":\"zz\"}\",\"status\":\"20000000\",\"success\":true}"
  },
  "id": 0
}
{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"user not found!\",\"status\":\"40400000\",\"success\":false}"
  },
  "id": 0
}

3.票据

3.1 票据上链

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"bill.create",
         "args":["{\"billId\":\"{billId}\",\"type\":{type},\"marketId\":\"{marketId}\",\"userId\":\"{userId}\",\"amount\":{amout},\"startDate\":\"{startDate}\",\"endDate\":\"{endDate}\",\"bank\":\"{bank}\",\"bankAddress\":\"{bankAddress}\"}","market-priKey","user-priKey"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表创建成功,见说明

3.2 票据查询

request

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"bill",
         "args":["{billId}"]
      }
  },
  "id":{id}
}

response demo

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"OK\",\"result\":\"{\"amount\":1000000,\"billId\":\"bill002\",\"endDate\":\"20180107\",\"startDate\":\"20180107\",\"bank\":\"ccbc\",\"bankAddress\":\"beijing\",\"marketId\":\"qianbao\",\"startDate\":\"20170107\",\"status\":10,\"transactions\":[\"5fe73654-dd53-433b-993f-62435ed3eeb4\",\"39a06dc2-f6a3-45d1-80c8-e42e5105afad\"],\"type\":1,\"userId\":\"gaoxiang\"}\",\"status\":\"20000000\",\"success\":true}"
  },
  "id": 0
}
{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{\"message\":\"bill not found!\",\"status\":\"40400000\",\"success\":false}"
  },
  "id": 0
}

4.交易

4.1交易创建

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction.create",
         "args":["{\"billId\":\"{billId}\",\"sellerMarket\":\"{sellerMarket}\",\"seller\":\"{seller}\",\"buyerMarket\":\"{buyerMarket}\",\"buyer\":\"{buyer}\",\"price\":{price},\"createTime\":{createTime}}","{sellerMarket-priKey}","{seller-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

返回消息中的TXID直接作为票据交易的transactionId,该返回并不代表交易创建成功,见说明。

交易创建成功,票据状态变更为交易中(20)。

4.2买方确认

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction.buyer.confirm",
         "args":["transactionId","{buyerMarket-priKey}","{buyer-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表交易确认成功,见说明。
买方确认成功时,买方状态变更为完成(1)。若卖方状态为完成(1)。则交易状态变更为完成(1),同时修改票据所有人,及票据状态(10)。

4.3卖方确认

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction.seller.confirm",
         "args":["transactionId","{sellerMarket-priKey}","{seller-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表交易确认成功,见说明。

卖方确认成功时,卖方状态变更为完成(1)。若买方状态为完成(1)。则交易状态变更为完成(1),同时修改票据所有人,及票据状态(10)。

4.4买方取消

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction.buyer.cancle",
         "args":["transactionId","{buyerMarket-priKey}","{buyer-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表交易取消成功,见说明。

买方取消成功时,买方状态变更为取消(2)。若卖方状态为取消(2)。则交易状态变更为取消(2),同时修改票据状态(10)。

4.5卖方取消

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction.seller.cancle",
         "args":["transactionId","{sellerMarket-priKey}","{seller-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表交易取消成功,见说明。

卖方取消成功时,卖方状态变更为取消(2)。若买状态为取消(2)。则交易状态变更为取消(2),同时修改票据状态(10)。

4.5交易查询

request

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"transaction",
         "args":["{transactionId}"]
      }
  },
  "id":{id}
}

5.资产

5.1资产打包上链

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"package.create",
         "args":["{\"userId\":\"{userId}\",\"marketId\":\"{marketId}\",\"name\":\"{name}\",\"endDate\":\"{endDate}\",\"price\":{price},\"billIds\":[\"{billId}",\"{billId}\"]}","{market-priKey}","{user-priKey}"]
      }
  },
  "id":{id}
}

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

返回消息中的TXID直接作为资产的packageId,该返回并不代表资产创建成功,见说明。

资产打包会检查票据持有人及priKey。

资产创建成功,票据状态变更为资产(30)。

5.2资产状态更新

request

{
  "jsonrpc": "2.0",
  "method": "invoke",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"package.create",
         "args":["{package}","{market-priKey}","{user-priKey}","{status}"]
      }
  },
  "id":{id}
}

{status}只能为"20"或者"30"

response

{
  "jsonrpc": "2.0",
  "result": {
    "status": "OK",
    "message": "{TXID}"
  },
  "id":{id}
}

该返回并不代表资产状态更新成功,见说明。

资产状态更新为已兑付(30)时,票据状态变更为已兑付(40)。

5.3资产查询

request

{
  "jsonrpc": "2.0",
  "method": "query",
  "params": {
      "type": 1,
      "chaincodeID":{
          "name":"{chaincodeId}"
      },
      "ctorMsg": {
         "function":"package",
         "args":["{package}"]
      }
  },
  "id":{id}
}
上一篇下一篇

猜你喜欢

热点阅读