menu

捐助捐款相关接口

更新时间: 2019-12-24 18:10:38 · 编辑者:宇链科技

创建捐款项目

接口地址

POST https://v1.api.tc.vastchain.ltd/donation/project

本请求需要携带签名。请参考 API 签名算法

POST 内容请使用 JSON(请使用Content-Type: application/json 头)。

项目内容均会加密,使用 AppSecret 可以解密,不会泄露隐私。请保管好 AppSecret,不要明文在网络上传输该字段,并在服务端妥善保管,不要保存在 git 等代码库中。

请求参数

{
    "id": "项目 id", // 必选,在项目方数据库中能唯一找到项目的项目 id,请确保该 id 不重复且可查询到项目情况
    "createTime": 1556592183531, // 可选,项目的创建时间(UNIX 时间戳),请以数值形式传递
    "title": "关爱重症儿童,助力象山小荣荣", // 可选,项目名称
    "desc": "今天我们隆重推出新项目:关爱重症儿童。这个项目是由慈善基金会发起的,可信度很高。", // 可选,项目描述
    "founder": "XX省慈善基金会", // 可选,发起单位
    "category": [ "助学" ], // 可选,项目类别,请以数组方式提供
    "keyWords": [ "基金会" ], // 可选,自定义关键词,请以数组方式提供
    "targetAmount": [ "3000.00 RMB", "3000.00 RMB" ] // 可选,目标金额,请务必按照此格式提供,分别代表最少金额(低于则项目不成立)、最高金额(超过则不再募资);小数点后至少要有2位
}

返回值说明

{
    "status": "pending",
    "version": "1"
}

如果返回值为 200 并且 statuspending 代表上传成功,系统会在后台排队上链。

否则,返回值会带有 msg 字段并表示错误详情。请务必重复尝试直到成功,以避免链上记录和数据库不符。

创建捐款项目的一次捐赠

接口地址

POST https://v1.api.tc.vastchain.ltd/donation/donate

本请求需要携带签名。请参考 API 签名算法

POST 内容请使用 JSON(请使用Content-Type: application/json 头)。

创建捐赠记录。记录内容均会加密,使用 AppSecret 可以解密,不会泄露隐私。请保管好 AppSecret,不要明文在网络上传输该字段,并在服务端妥善保管,不要保存在 git 等代码库中。

body 例子及解释:

{
    "id": "捐赠 id", // 必选,在项目方数据库中能唯一找到捐赠记录的 id,请确保该 id 不重复且可查询到项目情况
    "donatorId": "捐赠者 id", // 可选,捐赠者 id,同一个捐赠者多次捐赠的,此处必须相同
    "donatorPublicKey": "捐赠者 everiToken 公链地址", // 建议传输,捐赠者公钥地址,可作为捐款证明使用,如果捐款者拥有某些兼容 everiToken 芯片的市民卡、交通卡(如嘉兴杭州等),也可以直接写入卡内
    "donatorName": "捐赠者名称", // 可选,捐赠者名称 
    "createTime": 1556592183531, // 可选,捐赠时间(UNIX 时间戳),请以数值形式传递
    "projectId_biz": "d6bc8b1b17ff4861aca578e97673b981", // 必选,捐赠所对应的项目 id,项目必须存在
    "projectId_bc": "7673b98_d6bc8b1b17ff", // 可选,捐赠所对应的项目 id 上链后的 id,后面有一个 API 可根据 `projectId_biz` 查询此上链 id
    "amount": "3000.00 RMB" // 可选,金额,请务必按照此格式提供,小数点后要有2位
}

返回值例子及解释:

{
    "status": "pending",
    "version": "1"
}

如果返回值为 200 并且 statuspending 代表上传成功,系统会在后台排队上链。

否则,返回值会带有 msg 字段并表示错误详情。

获取捐款上链 ID

接口地址

POST https://v1.api.tc.vastchain.ltd/donation/fetchOnChainIds

本请求需要携带签名。请参考 API 签名算法

POST 内容请使用 JSON(请使用Content-Type: application/json 头)。

查询上链成功后的 ID。建议在上链 3 - 4 分钟之后调用,也可以在 App 展示区块链浏览器的页面进行调用查询,但务必不能在客户端存储或网络上传输 AppSecret,请在服务端进行。

body 例子及解释:

{
    "type": "project", // 要获取项目(project) 的链上 id,还是捐赠记录(donate)的链上id
    "originalIds": [ "d6bc8b1b17ff4861aca578e97673b981" ], // 要查询的 id 列表,每次可批量查询 20 个
}

返回值例子及解释:

{
    "status": "success",
    "ids": {
        "d6bc8b1b17ff4861aca578e97673b981": "7673b98_d6bc8b1b17ff"
    }
}

如果返回值为 200 并且 statussuccess 代表成功。 否则,如果 statuspending,则代表上链仍在排队,请稍后再试。在 App 上,请告知用户 “数据存证中”。