get_connection_status
ChatGPTThe customer's linked accounts, trading authorization and service state. `linked_accounts (masked) and effective_account: with several accounts, say which is active. trading_authorization is the MobilG AI matrix (markets such as BIST_PP/VIOP, order types, short sell, TL limits, today's used and remaining amount): answer permission questions from it, not by preparing an order. setup.next_step, when present, is read to the customer as written. session` gives the login time and when the connection ends (then a new MobilG login is needed).
get_help
ChatGPTWhat the customer can do with Phillip Intelligence. Call it, in any language, whenever the customer asks what they can do, what the service offers or how to use it ('neler yapılır', 'what can I do'). Never answer that question from the tool list. Show `help word for word and add nothing of your own. language` is the language the customer wrote the question in: "tr" for Turkish, "en" for any other language. The help text comes back in that language. It does not change the card language; call set_language for that when the customer's language differs from the last card's lang.
get_orderbook
ChatGPTBir sembolün alış ve satış kademelerini, adet ve emir sayılarıyla getirir. Derinlik müşterinin veri lisansıyla sınırlıdır; aşılırsa cevap kırpılır ve levels_allowed sınırı söyler. data_mode gecikmeliyse delay_minutes'i belirt. Sembol: hisse GARAN/GARAN.E, fon GLDTR.F, varant PPAAZ.V, VIOP vadeli F_XU0300826, opsiyon O_XU030E0826C16250.00; VIOP sembollerine .E eklenmez, sembol tahmin edilmez.
get_positions
ChatGPTPositions and balances from the brokerage backoffice (cached: true with age_secs is normal; refreshed at most once a minute). Buying power for a new equity order: `cash.trading_limit_try when present (the intraday limit MobilG shows; trading_limit_type says leveraged or cash, trading_limit_cash_try applies to cash-only instruments), else cash.available_try. settlement_t1_try is informational only. cash.credit_limit_try (and credit_available/balance when sent) answers "kredi limitim ne"; if absent, the brokerage reported none. VIOP (F_/O_) orders use viop.available_collateral_try, never equity cash; viop also holds margins, withdrawable collateral, day P/L and margin calls. futures lists open VIOP positions; funds lists fund units (not tradable here). "Can I sell / how much / can I sell today's purchase": call this and answer from sellable_positions (includes today's completed buys, minus blocks and working sells). If sellable_notice is present, say the figure is not available now; never answer from general exchange rules. average_cost` is the position's average cost, not a trade price; a fill price comes from list_orders.
get_quote
ChatGPTBir sembolün son fiyatını, en iyi alış/satışını ve seans istatistiklerini getirir. Her BIST fiyat sorusu ("GARAN kaç?", taban/tavan) bu araçla cevaplanır; web, haber ya da hafızadan fiyat verilmez. data_mode realtime ya da delayed; gecikmeli veride delay_minutes gecikmeyi söyler, gecikmeli fiyatı anlık gibi sunma. Birden çok sembol için tek çağrıda symbols listesi ver (en fazla 5; fazlası istenirse hiçbiri dönmez); endeks ya da uzun liste için scan_market kullan (tek tek sorgu 5 dakikada sınırlıdır). Sembol: hisse GARAN, GARAN.E ya da şirket adı; fon GLDTR.F; varant PPAAZ.V; VIOP vadeli F_XU0300826; VIOP opsiyon O_XU030E0826C16250.00 (dayanak + vade + C/P + kullanım fiyatı). VIOP sembollerine .E eklenmez; bilmediğin sembolü tahmin etme. price_step_size son fiyatın kademesidir; kademe hesabını sunucu yapar. gross_settlement (brüt takas) "aynı gün satabilir miyim" sorusunu cevaplar; measures_notice varsa aynen göster.
get_symbol_research
ChatGPTShow KAP and Phillip Capital information for a BIST symbol. `symbol is a ticker or an unambiguous company name, resolved the same way as in order review. exchange_measures.gross_settlement true means brüt takas (today's buys cannot be sold before T+2); show its notice verbatim and answer measure questions from it. The default overview focus (and technical) is the PhillipMind AI summary alone. Show phillipmind_summary verbatim without opening a web page, then phillipmind_disclaimer verbatim on its own line and phillipmind_source unchanged below it. Then ask the customer whether they also want Phillip Capital's detailed report; if so call again with focus="detailed". Public offering questions use focus="ipo". more_available` lists the other focus values with content for this symbol. This is informational and is not investment advice.
list_executed_orders
ChatGPTExecuted orders of ONE day, over every channel, with today's price next to them. For "what did I buy yesterday / on the 14th, how are those doing": pass date (YYYY-MM-DD) or days_back (1 = yesterday, 0 = today). Only the last max_days calendar days are available; for an older day say the limit. orders lists each executed order with quantity, average price and amount; summary folds them per instrument and side and, when a price could be read, adds last_price, price_change_pct against the average price and, for buys, unrealized_pnl (quantity times the price difference). That figure is about those purchases alone: shares sold since are not deducted and no fee is included; the position itself is in get_positions. Report from summary unless the customer asks order by order. data_available false means there is no record for that day (holiday, or before retention); say so, never guess. Working and cancelled orders are not here: today's are in list_orders.
list_orders
ChatGPTThe account's orders over every channel: today's plus any still working, working first. Executed orders are not listed one by one. executed_summary gives, per instrument and side, the number of orders, the total quantity, the average price and the amount, over all channels: present executed orders from it, grouped, and never ask for a symbol first. Pass detail=true only when the customer asks for the executed orders one by one. When the customer asks what is waiting or pending, also call list_synthetic_orders and list_protection_plans where they exist: the three lists are separate. Name an empty list in a sentence; an empty list has no card. Earlier days' closed orders are not available here; say so. For "what are my orders" report the working ones and summarise today's closed ones in a line. Ask narrowly: one instrument is symbol, plus side and filled_only=true for a trade ("what did I pay for my last AKBNK" is symbol="AKBNK", side="buy", filled_only=true, detail=true, limit=1); the customer sees every returned row. limit_px is the limit set, the traded price is avg_fill_px; without it state no fill price. orders and other_channel_orders together are the whole account: the second holds the orders entered from other channels (MobilG and others), pending and today's cancelled alike. Answer every question about orders from both lists and the summary as one; never limit an answer to this channel unless the customer asks for that. Other channels' orders cannot be changed here (broker_order_id, price = limit, average_fill_price = traded). If the field is absent, say other channels cannot be shown now, not that there are none. Status "seans için zamanlandı" with scheduled_for waits for an auction window. cancel and review_amend_order take the cl_ord_id from here.
list_protection_plans
ChatGPTList the customer's ACTIVE protection plans: the buy, fills, the protected quantity, both exits and their state, and attention notes (show those word for word). A plan whose exit fired is listed but cannot change. plan_id goes to amend_protection_plan and cancel. include_closed only when the customer explicitly asks about a finished or cancelled plan; never to find a plan to change and never after a refusal.
list_synthetic_orders
ChatGPTList the customer's waiting conditional (synthetic) orders: stop loss, take profit, trailing stop and target buy instructions that have not fired, expired or been cancelled. These are separate from exchange orders: an order that has fired appears in the ordinary order list as an order from another channel, not here. order_id from this list is what cancel and change_synthetic_order take. Dates are Istanbul dates.
quote_chart
ChatGPTFiyat kartının gün içi grafiği: bugünkü dakikalık fiyat ve hacim. Yalnız kart çağırır. Veri müşterinin lisans kademesinde (anlık ya da gecikmeli) gelir; derinlik lisansı varsa 15 dakika gecikmeli bekleyen emir toplamları da eklenir. card_version kartın kendi sürümüdür.
quote_prices
ChatGPTÇoklu fiyat kartının satır fiyatları: son fiyat ve değişim. Yalnız kart çağırır; kapalı satırlar da güncel kalsın diye. Her sembol müşterinin lisans kademesinde (anlık ya da gecikmeli) gelir. card_version kartın kendi sürümüdür.
scan_market
ChatGPTEn çok yükselen, düşen, hacimli, cirolu ya da son dakikada en hareketli sembolleri sıralar. "Bugün en çok düşen hisseler" gibi sorular o anki veriyle buradan cevaplanır, web'den ya da önceki günün tablosundan değil. Sembol keşfi için de kullanılır: suffix noktayla başlıyorsa sonek, değilse önektir (.E hisse, .F fon, .V varant, F_ vadeli, O_ opsiyon, O_XU030E0826 tek bir opsiyon zinciri, boş = tüm piyasa); zincirdeki sembolleri tahmin etme. by: change_pct | volume | turnover | activity (son 60 sn kotasyon sayısı; işlem görmemiş kontratlar için anlamlı tek sıralama). data_mode gecikmeliyse delay_minutes'i belirt.
select_account
ChatGPTSwitch which of the customer's linked accounts subsequent orders and portfolio reads use. Account switching is not a customer feature: never offer, suggest or list it. Call this only when the customer names a specific linked account to use. Accepts the masked form shown by `get_connection_status (linked_accounts, e.g. XX09), just the trailing digits (09), or the full account number the customer states. When the customer asks to change accounts, first show them their linked_accounts and the current effective_account from get_connection_status`, then call this with their choice. If the digits match more than one linked account, ask the customer for more digits or the full number.
set_language
ChatGPTChoose the language of the customer's cards: "tr" (Turkish) or "en" (English). Call it when the customer asks for English or Turkish cards, or writes in a language the cards are not in (every card carries its lang). The choice is kept until the customer changes it.