原文
http://30daydo.com/article/181
目前还在完善,等功能完善了,就更新到csdn。
更新 2017-05-27
官方有API的文档,可是这个文档就像一个草稿一样,两个基本例子都没有。 所以自己摸索一下,自己写一个现成的例子给大家,可以有个参考。
首先看一下官方的API文档:
一、API使用说明
1、请求过程说明
1.1 构造请求数据,用户数据按照Jubi提供的接口规则,通过程序生成签名和要传输给Jubi的数据集合;
1.2 发送请求数据,把构造完成的数据集合通过POST/GET提交的方式传递给Jubi;
1.3 Jubi对请求数据进行处理,服务器在接收到请求后,会首先进行安全校验,验证通过后便会处理该次发送过来的请求;
1.4 返回响应结果数据,Jubi把响应结果以JSON的格式反馈给用户,具体的响应格式,错误代码参见接口部分;
1.5 对获取的返回结果数据进行处理;
2、安全认证
所有的private API都需要经过认证
Api的申请可以到财务中心 -> API,申请得到私钥和公钥,私钥Jubi将不做储存,一旦丢失将无法找回
注意:请勿向任何人泄露这两个参数,这像您的密码一样重要
2.签名机制
每次请求private api 都需要验证签名,发送的参数示例:
$param = array(
amount => 1,
price => 10000,
type => 'buy',
nonce => 141377098123
key => 5zi7w-4mnes-swmc4-egg9b-f2iqw-396z4-g541b
signature => 459c69d25c496765191582d9611028b9974830e9dfafd762854669809290ed82
);
nonce 可以理解为一个递增的整数:http://zh.wikipedia.org/wiki/Nonce
key 是申请到的公钥
signature是签名,是将amount price type nonce key等参数通过'&'字符连接起来通过md5(私钥)为key进行sha256算法加密得到的值.
首先聚币的行情是使用网络爬虫获取的,而说明中给出了一系列的参数,你需要做的就是把这些参数填充上去。
如果你只是想要获取行情,那么事情容易很多。
def real_time_ticker(coin): url = 'https://www.jubi.com/api/v1/ticker/' try: data = requests.post(url, data={'coin': coin}).json() except Exception ,e: print e return data
上面代码展示的时候获取实时的行情。委一和买一的价格,数量,和当前成交的数量,价格。
按照上面的格式,把参数coin填上去,比如要获取泽塔币, real_time_ticker('zet') 就会返回获取的数据。
{u'sell': u'0.179000', u'volume': 21828245.102822, u'buy': u'0.175010', u'last': u'0.179000', u'vol': 108290769.9171, u'high': u'0.289000', u'low': u'0.119141'}
所有的private API都需要经过认证, 就是说如果你要进行交易,委托,下单,你就需要使用私钥和公钥,并进行一系列的加密。
详细实现:
聚币网API使用教程 附demo代码