我想生成一个JSON文件并使用python提交。这可能吗?如何实现? 可以使用requests.post吗
实际文档在这里。我只是想知道如何在python中实现这一点
https://kite.trade/docs/connect/v3/basket/
我在下面添加了整个文档
我希望通过python api发送2个或更多订单的组合
我认为最后一个块正是我需要的,但不是渲染链接,直接从python执行,使用kite connect使用basket同时执行多个订单,使用python而不是java脚本
场外订单执行» 场外订单执行功能允许您将用户重定向到Kite的exchange approved order页面,用户在该页面下订单并无缝返回到您的应用程序,就像支付网关一样。这样,您就不必为订单执行屏幕构建、维护和获得exchange批准。Kite Publisher程序利用场外订单执行来提供不需要任何API集成的可嵌入Javascript+HTML交易按钮
启动订单» 示例JSON篮
[{
"variety": "regular",
"tradingsymbol": "INFY",
"exchange": "NSE",
"transaction_type": "BUY",
"order_type": "MARKET",
"quantity": 10,
"readonly": false
}, {
"variety": "regular",
"tradingsymbol": "NIFTY15DECFUT",
"exchange": "NFO",
"transaction_type": "SELL",
"order_type": "LIMIT",
"price": 7845,
"quantity": 1,
"readonly": false
},
{
"variety": "bo",
"tradingsymbol": "RELIANCE",
"exchange": "NSE",
"transaction_type": "BUY",
"order_type": "LIMIT",
"product": "MIS",
"price": 915.15,
"quantity": 1,
"stoploss": 5,
"squareoff": 7,
"trailing_stoploss": 1.5,
"readonly": true
}]
Posting the JSON basket
<form method="post" id="basket-form" action="https://kite.zerodha.com/connect/basket">
<input type="hidden" name="api_key" value="xxx" />
<input type="hidden" id="basket" name="data" value="" />
</form>
<script>
document.getElementById("basket").value = your_basket;
document.getElementById("basket-form").submit();
</script>
可以发送多个订单,然后用户在类似购物篮的界面上确认。您应该准备一个JSON工具列表,使用所需的订单参数进行交易,并将其作为表单字段发布,其中包含名称数据以及https://kite.zerodha.com/connect/basket的api_键
这是一个浏览器/移动设备(webview)请求,必须在用户端进行,尽管篮准备可以在后端进行。发出请求的最简单方法是创建一个隐藏表单,将JSON负载插入其中,并使用Javascript自动提交
如果您正在准备web应用程序的basket客户端,那么可以使用Kite Publisher javascript插件使事情变得更简单
注
您不必使用登录API启动登录来执行异地订单。如果用户尚未登录,将要求他们登录,否则,他们将被直接带到订单篮。无论哪种方式,最终您都会在重定向url处收到状态和请求令牌,就像登录流中一样
将异地执行链接到Kite Connect» 场外订单执行遵循与登录相同的流程,但登录后出现的订单篮除外。一旦用户下单完毕,购物篮将重定向回您注册的重定向登录,并带有请求密钥,与登录完全相同。您可以自由地使用此密钥创建新的Kite Connect会话以进行进一步的API交互,也可以完全忽略它
Publisher-JS插件» Kite Publisher Javascript插件允许您在网页中添加一键交易按钮。它的工作原理类似于一个结合了支付网关的购物篮,在您的网页上打开一个内嵌弹出窗口,引导用户完成交易,并将用户放回您的页面。如偏移顺序执行部分所述,可以从该流捕获请求\u令牌以启动Kite Connect会话
您可以使用Javascript插件动态地将一只或多只股票添加到篮子中(最多10只),或者使用普通HTML嵌入简单的静态按钮
入门»
<script src="https://kite.trade/publisher.js?v=3"></script>
将Kite Publisher包括在网页的末尾,即关闭标记之前粘贴以下脚本标记。只需包含一次即可呈现页面上任意数量的按钮
品牌HTML5按钮»
<!-- A link that initiates a buy (market) of the SBIN stock //-->
<kite-button href="#" data-kite="your_api_key"
data-exchange="NSE"
data-tradingsymbol="SBIN"
data-transaction_type="BUY"
data-quantity="1"
data-order_type="MARKET">Buy SBI stock</kite-button>
您可以使用自定义HTML5标记呈现品牌风筝按钮,只需单击即可启动交易。品牌按钮的工作方式与社交媒体按钮类似,您可以在一个页面上包含任意数量的按钮
自定义HTML5按钮»
<a href="#" data-kite="your_api_key"
data-exchange="NSE"
data-tradingsymbol="SBIN"
data-transaction_type="BUY"
data-quantity="1"
data-order_type="MARKET">Buy SBI stock</a>
<!-- A button that initiates a sell (LIMIT) of the RELIANCE stock //-->
<button data-kite="your_api_key"
data-exchange="NSE"
data-tradingsymbol="RELIANCE"
data-transaction_type="SELL"
data-quantity="1"
data-order_type="LIMIT"
data-price="100">Buy RELIANCE</button>
<!-- A button that initiates a BO of the RELIANCE stock //-->
<button data-kite="your_api_key"
data-exchange="NSE"
data-tradingsymbol="RELIANCE"
data-transaction_type="BUY"
data-quantity="1"
data-order_type="LIMIT"
data-variety="bo"
data-product="MIS"
data-price="915"
data-stoploss="5"
data-squareoff="7"
data-trailing_stoploss="1.5"
>Buy RELIANCE (Bracket Order)</button>
您可以在任何HTML元素上使用HTML5数据属性,并将其转换为只需单击即可调用的交易按钮。上的例子右边显示一个链接和一个按钮被转换成交易按钮
使用Javascript生成动态按钮
<!-- A Kite button will be generated inside this container //-->
<p id="default-button"> </p>
<!-- The basket will be linked to this element's onClick //-->
<button id="custom-button">Buy the basket</button>
<script>
// Only run your custom code once KiteConnect has fully initialised.
// Use KiteConnect.ready() to achieve this.
KiteConnect.ready(function() {
// Initialize a new Kite instance.
// You can initialize multiple instances if you need.
var kite = new KiteConnect("your_api_key");
// Add a stock to the basket
kite.add({
"exchange": "NSE",
"tradingsymbol": "INFY",
"quantity": 5,
"transaction_type": "BUY",
"order_type": "MARKET"
});
// Add another stock
kite.add({
"exchange": "NSE",
"tradingsymbol": "SBIN",
"quantity": 1,
"order_type": "LIMIT",
"transaction_type": "SELL",
"price": 105
});
// Add a Bracket Order
kite.add({
"tradingsymbol": "RELIANCE",
"exchange": "NSE",
"transaction_type": "BUY",
"order_type": "LIMIT",
"product": "MIS",
"price": 915.15,
"quantity": 1,
"variety": "bo",
"stoploss": 5,
"squareoff": 7,
"trailing_stoploss": 1.5,
"readonly": true
});
// Register an (optional) callback.
kite.finished(function(status, request_token) {
alert("Finished. Status is " + status);
});
// Render the in-built button inside a given target
kite.renderButton("#default-button");
// OR, link the basket to any existing element you want
kite.link("#custom-button");
});
您可以创建一个股票篮子,让插件呈现一个执行它的风筝按钮,或者将篮子链接到您自己的按钮(或任何HTML元素)。
插件以异步方式加载其资产,因此在完全加载后初始化自定义KiteConnect调用非常重要。您需要使用KiteConnect.ready()函数来实现这一点
对于问题的第一部分,如何生成
json
结构,您可以使用标准库中的json
模块。然后,根据json字符串的位置(存储为字符串变量或文本文件),可以使用json.loads
或json.load
将其转换为python对象。有关详细信息,请查看docs对于第二部分您应该提供一个最低限度的工作示例。。。太多的可能性
编辑:第二部分
再说一次,有很多可能性。。。您可以尝试使用
requests
模块(不是从标准库中)。此外,您应该查看响应,以了解连接需要什么以及如何使用。这里是一个指示性示例最后试试
json={'json_payload': js_text[0]}
…并提供一些代码快照强>
在这里你能找到^{} 的文件吗
相关问题 更多 >
编程相关推荐