Package: uat-breeze-connect
IndexUAT_Breeze_Connect_SDKSetup Virtual EnvironmentInstalling the clientWebsocket UsageAPI Usageget_customer_detailsget_demat_holdingsget_fundsset_fundsget_historical_dataadd_marginget_marginplace_orderorder_detailorder_listcancel_ordermodify_orderget_portfolio_holdingget_portfolio_positionget_quotesget_option_chain_quotessquare_offmodify_orderget_trade_listget_trade_detailUAT Breeze Connect SDKUAT Breeze ConnectThis is a package to integrate streaming of stocks or user's order-notification & call APIs through which you can fetch live/historical data, automate your trading strategies, and monitor your portfolio in real time.Setup virtual environmentSetup virtual environment in your MachineYou must install the virtualenv package via pippip install virtualenvYou should create breeze virtual environment via virtualenvvirtualenv -p python3 breeze_venvAnd then, You can activate virtual environment via sourcesource breeze_venv/bin/activateInstalling the clientInstalling the clientYou can install the latest release via pippip install --upgrade uat-breeze-connectOr, You can also install the specific release version via pippip install uat-breeze-connect==1.0.14rc35Websocket UsageWebsocket Usagefrombreeze_connectimportBreezeConnect# Initialize SDKbreeze=BreezeConnect(api_key="your_api_key")# Obtain your session key from https://uatapi.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.importurllibprint("https://uatapi.icicidirect.com/apiuser/login?api_key="+urllib.parse.quote_plus("your_api_key"))# Generate Sessionbreeze.generate_session(api_secret="your_secret_key",session_token="your_api_session")# Connect to websocketbreeze.ws_connect()# Callback to receive ticks.defon_ticks(ticks):print("Ticks:{}".format(ticks))# Assign the callbacks.breeze.on_ticks=on_ticks# subscribe stocks feedsbreeze.subscribe_feeds(exchange_code="NFO",stock_code="ZEEENT",product_type="options",expiry_date="31-Mar-2022",strike_price="350",right="Call",get_exchange_quotes=True,get_market_depth=False)# subscribe stocks feeds by stock-tokenbreeze.subscribe_feeds(stock_token="1.1!500780")# unsubscribe stocks feedsbreeze.unsubscribe_feeds(exchange_code="NFO",stock_code="ZEEENT",product_type="options",expiry_date="31-Mar-2022",strike_price="350",right="Call",get_exchange_quotes=True,get_market_depth=False)# unsubscribe stocks feeds by stock-tokenbreeze.unsubscribe_feeds(stock_token="1.1!500780")# subscribe order notification feedsbreeze.subscribe_feeds(get_order_notification=True)NOTEExamples for stock_token are "4.1!38071" or "1.1!500780".exchange_code must be 'BSE', 'NSE', 'NDX', 'MCX' or 'NFO'.stock_code should not be an empty string. Examples for stock_code are "WIPRO" or "ZEEENT".product_type can be either 'Futures', 'Options' or an empty string. product_type can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'.strike_date can be in DD-MMM-YYYY(Ex.: 01-Jan-2022) or an empty string. strike_date can not be an empty string for exchange_code 'NDX', 'MCX' and 'NFO'.strike_price can be float-value in string or an empty string. strike_price can not be an empty string for product_type 'Options'.right can be either 'Put', 'Call' or an empty string. right can not be an empty string for product_type 'Options'.Either get_exchange_quotes must be True or get_market_depth must be True. Both get_exchange_quotes and get_market_depth can be True, But both must not be False.API UsageAPI Usagefrombreeze_connectimportBreezeConnect# Initialize SDKbreeze=BreezeConnect(api_key="your_api_key")# Obtain your session key from https://uatapi.icicidirect.com/apiuser/login?api_key=YOUR_API_KEY# Incase your api-key has special characters(like +,=,!) then encode the api key before using in the url as shown below.importurllibprint("https://uatapi.icicidirect.com/apiuser/login?api_key="+urllib.parse.quote_plus("your_api_key"))# Generate Sessionbreeze.generate_session(api_secret="your_secret_key",session_token="your_api_session")# Generate ISO8601 Date/DateTime Stringimportdatetimeiso_date_string=datetime.datetime.strptime("28/02/2021","%d/%m/%Y").isoformat()[:10]+'T05:30:00.000Z'iso_date_time_string=datetime.datetime.strptime("28/02/2021 23:59:59","%d/%m/%Y %H:%M:%S").isoformat()[:19]+'.000Z'Following are the complete list of API method:customer_detailGet Customer details by api-session value.breeze.get_customer_details(api_session="your_api_session")Back to Indexdemat_holdingGet Demat Holding details of your account.breeze.get_demat_holdings()Back to Indexget_fundsGet Funds details of your account.breeze.get_funds()Back to Indexset_fundsSet Funds of your accountbreeze.set_funds(transaction_type="debit", 
                    amount="200",
                    segment="Equity")# Note: Set Funds of your account by transaction-type as "Credit" or "Debit" with amount in numeric string as rupees and segment-type as "Equity" or "FNO".Back to Indexhistorical_dataGet Historical Data for Futuresbreeze.get_historical_data(interval="1minute",
                            from_date= "2022-08-15T07:00:00.000Z",
                            to_date= "2022-08-17T07:00:00.000Z",
                            stock_code="ICIBAN",
                            exchange_code="NFO",
                            product_type="futures",
                            expiry_date="2022-08-25T07:00:00.000Z",
                            right="others",
                            strike_price="0")Get Historical Data for Equitybreeze.get_historical_data(interval="1minute",
                            from_date= "2022-08-15T07:00:00.000Z",
                            to_date= "2022-08-17T07:00:00.000Z",
                            stock_code="ITC",
                            exchange_code="NSE",
                            product_type="cash")Get Historical Data for Optionsbreeze.get_historical_data(interval="1minute",
                            from_date= "2022-08-15T07:00:00.000Z",
                            to_date= "2022-08-17T07:00:00.000Z",
                            stock_code="CNXBAN",
                            exchange_code="NFO",
                            product_type="options",
                            expiry_date="2022-09-29T07:00:00.000Z",
                            right="call",
                            strike_price="38000")# Note : Get Historical Data for specific stock-code by mentioned interval either as "1minute", "5minute", "30minutes" or as "1day"Back to Indexadd_marginAdd Margin to your account.breeze.add_margin(product_type="margin", 
                    stock_code="ICIBAN", 
                    exchange_code="BSE", 
                    settlement_id="2021220", 
                    add_amount="100", 
                    margin_amount="3817.10", 
                    open_quantity="10", 
                    cover_quantity="0", 
                    category_index_per_stock="", 
                    expiry_date="", 
                    right="", 
                    contract_tag="", 
                    strike_price="", 
                    segment_code="")Back to Indexget_marginGet Margin of your account.breeze.get_margin(exchange_code="NSE")# Note: Please change exchange_code=“NFO” to get F&O margin detailsBack to Indexplace_orderPlacing a Futures Order from your account.breeze.place_order(stock_code="ICIBAN",
                    exchange_code="NFO",
                    product="futures",
                    action="buy",
                    order_type="limit",
                    stoploss="0",
                    quantity="3200",
                    price="200",
                    validity="day",
                    validity_date="2022-08-22T06:00:00.000Z",
                    disclosed_quantity="0",
                    expiry_date="2022-08-25T06:00:00.000Z",
                    right="others",
                    strike_price="0",
                    user_remark="Test")Placing an Option Order from your account.breeze.place_order(stock_code="NIFTY",
                    exchange_code="NFO",
                    product="options",
                    action="buy",
                    order_type="market",
                    stoploss="",
                    quantity="50",
                    price="",
                    validity="day",
                    validity_date="2022-08-30T06:00:00.000Z",
                    disclosed_quantity="0",
                    expiry_date="2022-09-29T06:00:00.000Z",
                    right="call",
                    strike_price="16600")Place a cash order from your account.breeze.place_order(stock_code="ITC",
                    exchange_code="NSE",
                    product="cash",
                    action="buy",
                    order_type="limit",
                    stoploss="",
                    quantity="1",
                    price="305",
                    validity="day"
                )Back to Indexget_order_detailGet an order details by exchange-code and order-id from your account.breeze.get_order_detail(exchange_code="NSE",
                        order_id="20220819N100000001")# Note: Please change exchange_code=“NFO” to get details about F&OBack to Indexget_order_listGet order list of your account.breeze.get_order_list(exchange_code="NSE",
                        from_date="2022-08-01T10:00:00.000Z",
                        to_date="2022-08-19T10:00:00.000Z")# Note: Please change exchange_code=“NFO” to get details about F&OBack to Indexcancel_orderCancel an order from your account whose status are not Executed.breeze.cancel_order(exchange_code="NSE",
                    order_id="20220819N100000001")Back to Indexmodify_orderModify an order from your account whose status are not Executed.breeze.modify_order(order_id="202208191100000001",
                    exchange_code="NFO",
                    order_type="limit",
                    stoploss="0",
                    quantity="250",
                    price="290100",
                    validity="day",
                    disclosed_quantity="0",
                    validity_date="2022-08-22T06:00:00.000Z")Back to Indexget_portfolio_holdingGet Portfolio Holdings of your account.breeze.get_portfolio_holdings(exchange_code="NFO",
                                from_date="2022-08-01T06:00:00.000Z",
                                to_date="2022-08-19T06:00:00.000Z",
                                stock_code="",
                                portfolio_type="")# Note: Please change exchange_code=“NSE” to get Equity Portfolio HoldingsBack to Indexget_portfolio_positionGet Portfolio Positions from your account.breeze.get_portfolio_positions()Back to Indexget_quotesGet quotes of mentioned stock-codebreeze.get_quotes(stock_code="ICIBAN",
                    exchange_code="NFO",
                    expiry_date="2022-08-25T06:00:00.000Z",
                    product_type="futures",
                    right="others",
                    strike_price="0")Back to Indexget_option_chainGet option-chain of mentioned stock-code for product-type Futures where input of expiry-date is not compulsorybreeze.get_option_chain_quotes(stock_code="ICIBAN",
                    exchange_code="NFO",
                    product_type="futures",
                    expiry_date="2022-08-25T06:00:00.000Z")Get option-chain of mentioned stock-code for product-type Options where atleast 2 input is required out of expiry-date, right and strike-pricebreeze.get_option_chain_quotes(stock_code="ICIBAN",
                    exchange_code="NFO",
                    product_type="options",
                    expiry_date="2022-08-25T06:00:00.000Z",
                    right="call",
                    strike_price="16850")Back to Indexsquare_offSquare off an Equity Margin Orderbreeze.square_off(exchange_code="NSE",
                    product="margin",
                    stock_code="NIFTY",
                    quantity="10",
                    price="0",
                    action="sell",
                    order_type="market",
                    validity="day",
                    stoploss="0",
                    disclosed_quantity="0",
                    protection_percentage="",
                    settlement_id="",
                    cover_quantity="",
                    open_quantity="",
                    margin_amount="")# Note: Please refer get_portfolio_positions() for settlement id and margin_amountSquare off an FNO Futures Orderbreeze.square_off(exchange_code="NFO",
                    product="futures",
                    stock_code="ICIBAN",
                    expiry_date="2022-08-25T06:00:00.000Z",
                    action="sell",
                    order_type="market",
                    validity="day",
                    stoploss="0",
                    quantity="50",
                    price="0",
                    validity_date="2022-08-12T06:00:00.000Z",
                    trade_password="",
                    disclosed_quantity="0")Square off an FNO Options Orderbreeze.square_off(exchange_code="NFO",
                    product="options",
                    stock_code="ICIBAN",
                    expiry_date="2022-08-25T06:00:00.000Z",
                    right="Call",
                    strike_price="16850",
                    action="sell",
                    order_type="market",
                    validity="day",
                    stoploss="0",
                    quantity="50",
                    price="0",
                    validity_date="2022-08-12T06:00:00.000Z",
                    trade_password="",
                    disclosed_quantity="0")Back to Indexget_trade_listGet trade list of your account.breeze.get_trade_list(from_date="2022-08-01T06:00:00.000Z",
                        to_date="2022-08-19T06:00:00.000Z",
                        exchange_code="NSE",
                        product_type="",
                        action="",
                        stock_code="")# Note: Please change exchange_code=“NFO” to get details about F&OBack to Indexget_trade_detailGet trade detail of your account.breeze.get_trade_detail(exchange_code="NSE",
                        order_id="20220819N100000005")# Note: Please change exchange_code=“NFO” to get details about F&OBack to Index