期权改单
接口描述
- 功能说明:期权改单,支持改数量和价格。期权订单查询建议使用v2的订单查询接口:订单详情 
- 请求URL: /openapi/account/orders/option/replace?account_id={account_id} 
- 请求方式: POST 
- 频次限制:每个AppId调用频次限制为1秒1次。 
请求参数
| 参数 | 类型 | 是否必须 | 描述 | 示例值 | 
|---|---|---|---|---|
| account_id | String | 是 | 账户id | 2847483 | 
| modify_orders | []order_item | 是 | 订单明细 | 
order_item:
| 参数 | 类型 | 是否必须 | 描述 | 示例值 | 
|---|---|---|---|---|
| client_order_id | String | 是 | 订单id | 0KGOHL4PR2SLC0DKIND4TI0002 | 
| stop_price | String | 否 | 止损价 | 11.00 | 
| limit_price | String | 否 | 限价 | 11.00 | 
| quantity | String | 否 | 数量 | 1 | 
| orders | []order | 是 | 腿明细 | 
order
| 参数 | 类型 | 是否必须 | 描述 | 示例值 | 
|---|---|---|---|---|
| client_order_id | String | 是 | 单腿期权订单id | G2JAJPOR4KUA0F5I9LONH8J83A | 
| quantity | String | 是 | 数量 | 1 | 
响应参数
| 参数 | 类型 | 是否必须 | 描述 | 示例值 | 
|---|---|---|---|---|
| client_order_id | String | 否 | 客户端订单id 普通订单返回 | 0KGOHL4PR2SLC0DKIND4TI0002 | 
| order_id | String | 否 | 订单id 普通订单返回 | 80HG7CPSFDPCAL3TP66LKBAS69 | 
请求示例
- Python
- Java
from webullsdktrade.api import API
from webullsdkcore.client import ApiClient
from webullsdkcore.common.region import Region
client_order_id = uuid.uuid4().hex
option_modify_orders = [
    {
        "client_order_id": client_order_id,
        "quantity": "2",
        "limit_price": "11.3",
        "orders": [
            {
                "client_order_id": client_order_id,
                "quantity": "2"
            }
        ]
    }
]
api_client = ApiClient(your_app_key, your_app_secret, Region.HK.value)
api = API(api_client)
response = api.order.replace_option(account_id, option_modify_orders)
if response.status_code == 200:
    order_res = response.json()
HttpApiConfig apiConfig = HttpApiConfig.builder()
        .appKey(Env.APP_KEY)
        .appSecret(Env.APP_SECRET)
        .regionId(Region.hk.name())
        .build();
TradeApiService apiService = new TradeHttpApiService(apiConfig);
OptionOrderItemLeg optionReplaceItemLeg = new OptionOrderItemLeg();
optionReplaceItemLeg.setQuantity("2");
optionReplaceItemLeg.setClientOrderId(clientOrderId);
List<OptionOrderItemLeg> optionReplaceItemLegList = new ArrayList<>();
optionReplaceItemLegList.add(optionReplaceItemLeg);
OptionOrderItem optionReplaceItem = new OptionOrderItem();
optionReplaceItem.setClientOrderId(clientOrderId();
optionReplaceItem.setLimitPrice("3");
optionReplaceItem.setQuantity("2");
optionReplaceItem.setOrders(optionReplaceItemLegList);
List<OptionOrderItem> optionReplaceItemList = new ArrayList<>();
optionReplaceItemList.add(optionReplaceItem);
OptionOrder optionReplace = new OptionOrder();
optionReplace.setModifyOrders(optionReplaceItemList);
TradeOrderResponse tradeReplaceOptionResponse = apiService.replaceOption(accountId, optionReplace);