隐含的API方法
大多数交易所特定的API方法都是隐含的,意思是这些方法没有在代码中 显式地定义。ccxt库采用声明式的方法来定义隐含的交易所API方法。
API的每个方法通常都有自己的访问端结点。ccxt库为每个交易所都定义了
所有的访问端结点,你可以通过.api
属性访问。在创建交易所对象时,
在defineRestApi()
/ define_rest_api()
中将会为.api
列表中的
每个url创建一个隐含的魔术方法(即偏函数或闭包)。这个环节在所有
交易所上都是统一的。生成的每个方法都可以驼峰写法和下划线写法来访问。
访问点定义指的是一个交易所暴露出来的所有的API的URL的完整的列表。 这个列表将在交易所对象初始化时转化为可调用的方法。在API访问端结点 列表中的每个URL都有一个对应的可调用方法。对于所有的交易所而言,这 都是自动进行的,因此ccxt库支持数字货币交易所的所有可能的URL。
每个隐含的方法都有一个唯一的名字,这个名字是利用.api
中的定义生成的。
例如,对于一个私有HTTPS PUT访问端结点https://api.exchange.com/order/{id}/cancel
,
其对应的隐含方法名为.privatePutOrderIdCancel()
/ .private_put_order_id_cancel()
。
对于一个公开的HTTPS GET访问端结点https://api.exchange.com/market/ticker/{pair}
,
其对应的隐含方法名为.publicGetTickerPair()
/ .public_get_ticker_pair()
,依次类推。
隐含方法接收传入的参数字典,将请求发送到交易所,然后返回交易所特定的未解析
的JSON结果。要传入一个参数,将其添加到字典中与参数同名的键下即可。例如对于
上面的例子,就是像.privatePutOrderIdCancel ({ id: '41987a2b-...' })
和.publicGetTickerPair ({ pair: 'BTC/USD' })
。
ccxt推荐的与交易所交互的方式,并不是使用交易所特定的隐含方法,而是使用ccxt 提供的统一方法。只有当ccxt的统一api中没有提供相应的方法时,才应当使用 隐含的方法作为后备方案。
要获得指定交易所实例的所有可用方法,包括隐含方法和统一方法,你可以 使用如下的简单代码。
JavaScript代码示例:
console.log (new ccxt.kraken ())
Python代码示例:
print(dir(ccxt.hitbtc()))
PHP代码示例:
var_dump (new \ccxt\okcoinusd ());