How to place a braket order from API

Hi,

I am trying to place a braket order from fyers api v3,

but getting error:

My code:

def place_bo_order(symbol,buy_or_sell_type,qty,order_type,stop_loss,take_profit):
    data =  {
      "symbol":symbol,
      "qty":qty,
      "type":order_type, # limit 1 market 2
      "side":buy_or_sell_type, # buy 1, sell -1
      "productType":"BO", # BO
      "limitPrice":0, # Provide valid price for Limit and Stoplimit orders
      "stopPrice":0, # Provide valid price for Stop and Stoplimit orders
      "validity":"DAY",
      "disclosedQty":0,
      "offlineOrder":False, # False => When market is open
      "stopLoss":stop_loss, # Provide valid price for CO and BO orders
      "takeProfit":take_profit, # Provide valid price for CO and BO orders
      "orderTag":"venkataapi"
    }       


    response = fyers.place_order(data)
    return response


# NSE:EICHERMOT-EQ   NSE:EICHERMOT-EQ NSE:LTIM-EQ NSE:M&M-EQ NSE:SUNPHARMA-EQ NSE:BAJAJ-AUTO-EQ NSE:APOLLOHOSP-EQ NSE:HEROMOTOCO-EQ NSE:RELIANCE-EQ NSE:TCS-EQ NSE:INDUSINDBK-EQ

# This places a HDFCBANK BUY Bracket martket order of 1 share  with rupees 5 as stop loss and 10 rupees as target
response = place_bo_order("NSE:APOLLOHOSP-EQ",1,1,2,5,10)
print(json.dumps(response, indent =4))

My Error Response:

{

"code": -50,

"message": "productType must be one of the following: \"CNC\", \"MARGIN\", \"INTRADAY\"",

"s": "error"

}

1
1 reply