5paisa: Demat, Stocks & IPO 图标

5paisa Demat 数据 API

5paisa - Stock Market, Demat Account, Mutual Fund · 银行

5paisa: Demat, Stocks & IPO 是 5paisa Capital 的 Android 交易客户端;5paisa Capital 是从 IIFL 分拆出来的印度上市折扣券商。散户投资者和活跃交易者先开通“三合一”的 demat(证券托管)加交易账户,然后查看 NSE/BSE/MCX 标的行情,下达普通单、cover 单、篮子单、VTT 单和股票 SIP 单,跟踪持仓与 F&O 头寸,浏览共同基金和正在发行的 IPO,通过 UPI 和网银充值或提取卢比,并可质押持仓或开启 Margin Plus / MTF 以获得更大的购买力。围绕下单面板的还有行情图表(ChartIQ 与 TradingView)、Sensibull 期权链、smallcase 组合、CDSL eDIS/TPIN、被提名人登记与交易板块开通等流程。该应用仅面向印度——这是一家受 SEBI 监管的券商,与 Groww、Zerodha Kite、Upstox 和 Angel One 争夺同一批现货股票与衍生品交易用户。

持仓卡片上的 demat 份额,用 LTP 对照 NetQty 和 AvgRate 重新估值,每条 NSE/BSE 记录都带有 ISIN、ScripCode、CurrentValue 和 Haircut。紧挨着这本账的 RMS 余量是 AvailableMargin、SpanMargin、ExposureMargin 和 LedgerBalance;F&O 净头寸以 NetQty / PnL 出现在头寸标签页,在途委托则暴露 OrderID、ExchOrderID、PendingQty 和 OrderStatus。

一级市场的记录增加了 LotSize、BidPrice、VPA 和 ApplicationNo;卢比资金运营则复用 PayoutAmount、IFSC 和 AccountNo。持仓对账、交易前 RMS 校验、IPO 申购台和资金运营都会消费这些字段——openData Studio 把它们做成可调用的开放数据。

应用截图

  • 5paisa: Demat, Stocks & IPO 应用截图 1
  • 5paisa: Demat, Stocks & IPO 应用截图 2
  • 5paisa: Demat, Stocks & IPO 应用截图 3
  • 5paisa: Demat, Stocks & IPO 应用截图 4
  • 5paisa: Demat, Stocks & IPO 应用截图 5
  • 5paisa: Demat, Stocks & IPO 应用截图 6
  • 5paisa: Demat, Stocks & IPO 应用截图 7
  • 5paisa: Demat, Stocks & IPO 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • 请求登录 OTP

    POST /v1/session/otp/request openbanking

    发起第一重登录验证:提交带 ClientCode 和 MobileNo 的 Head/Body 信封,短信 OTP 发出后返回 Status/Message。

    认证方式: 无需令牌。会话建立之前,由请求码加 ClientCode / MobileNo 识别客户。

    • ClientCode
    • MobileNo
    • EmailId
    • RequestCode
    • AppSource
    • Status
    • Message
    • TimeStamp
    POST /v1/session/otp/request HTTP/1.1
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "otp.request",
        "AppSource": "ANDROID",
        "AppName": "5paisa"
      },
      "Body": {
        "ClientCode": "51123456",
        "MobileNo": "9876543210",
        "EmailId": "[email protected]"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "OTP sent",
        "TimeStamp": "2026-10-19T09:14:02+05:30"
      },
      "Body": {
        "ClientCode": "51123456",
        "MobileNo": "9876543210",
        "Status": 0,
        "Message": "OTP sent to registered mobile"
      }
    }
  • OTP 登录

    POST /v1/session/otp/verify openbanking

    用短信 OTP 换取 ClientName 以及 JwtToken / AccessToken,后者在之后的持仓与订单调用中作为交易会话使用。

    认证方式: 上一步通过短信下发的一次性密码;嵌入式网页视图另有不带 Cookie 的变体。

    • ClientCode
    • OTP
    • ClientName
    • EmailId
    • MobileNo
    • JwtToken
    • AccessToken
    • Status
    • Message
    POST /v1/session/otp/verify HTTP/1.1
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "otp.verify",
        "AppSource": "ANDROID"
      },
      "Body": {
        "ClientCode": "51123456",
        "OTP": "482193",
        "MobileNo": "9876543210"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "ClientName": "PRIYA SHARMA",
        "EmailId": "[email protected]",
        "MobileNo": "9876543210",
        "JwtToken": "<JwtToken>",
        "AccessToken": "<AccessToken>",
        "Status": 0
      }
    }
  • 验证 PIN 并签发令牌

    POST /v1/session/pin/verify openbanking

    回访用户的第二重验证:Pin 加 ClientCode 为交易会话签发新的 JwtToken。

    认证方式: ClientCode 加用户此前设置的 4 位 Pin;OTP 登录得到的 JwtToken 可能已附在会话上。

    • ClientCode
    • Pin
    • JwtToken
    • AccessToken
    • Status
    • Message
    • RequestCode
    POST /v1/session/pin/verify HTTP/1.1
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "pin.verify",
        "AppSource": "ANDROID"
      },
      "Body": {
        "ClientCode": "51123456",
        "Pin": "2580"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "JwtToken": "<JwtToken>",
        "AccessToken": "<AccessToken>",
        "Status": 0,
        "Message": "PIN verified"
      }
    }
  • 保证金快照

    POST /v1/account/margin/summary openbanking

    读取资金标签页的 RMS 余量:现金对比 SPAN/风险敞口、账本、抵押品和净可用保证金。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken,同时在请求信封的 key 中重复携带。

    • ClientCode
    • AvailableMargin
    • NetAvailableMargin
    • LedgerBalance
    • CashMargin
    • AvlbMarginCash
    • SpanMargin
    • ExposureMargin
    • AdhocMargin
    • CollateralValue
    • AvlbCollateral
    POST /v1/account/margin/summary HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "margin.summary",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "AvailableMargin": 173000.5,
        "NetAvailableMargin": 152410.25,
        "LedgerBalance": 125000.0,
        "CashMargin": 125000.0,
        "AvlbMarginCash": 118500.0,
        "SpanMargin": 18400.0,
        "ExposureMargin": 6200.5,
        "AdhocMargin": 0.0,
        "CollateralValue": 48000.5,
        "AvlbCollateral": 43200.0
      }
    }
  • 实时 demat 持仓

    POST /v1/portfolio/holdings/live openfinance

    为持仓卡片按市价重估 demat 账簿:数量、均价、LTP、投入与当前市值以及折价率。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken。

    • ScripCode
    • ScripName
    • Exch
    • ExchType
    • ISIN
    • NetQty
    • AvgRate
    • LTP
    • CurrentValue
    • InvestedValue
    • PnL
    • Haircut
    POST /v1/portfolio/holdings/live HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "holdings.live",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "Holdings": [
          {
            "ScripCode": 2885,
            "ScripName": "RELIANCE",
            "Exch": "N",
            "ExchType": "C",
            "ISIN": "INE002A01018",
            "NetQty": 50,
            "AvgRate": 2460.25,
            "LTP": 2512.4,
            "CurrentValue": 125620.0,
            "InvestedValue": 123012.5,
            "PnL": 2607.5,
            "Haircut": 12.5
          }
        ]
      }
    }
  • 委托簿

    POST /v1/orders/book openfinance

    为委托簿标签页分页返回当日在途与已成交订单,含交易所订单号、剩余数量和 OrderStatus。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken。

    • OrderID
    • RemoteOrderID
    • ExchOrderID
    • ScripCode
    • ScripName
    • Exch
    • ExchType
    • BuySell
    • Qty
    • TradedQty
    • PendingQty
    • Rate
    • AtMarket
    • OrderStatus
    • OrderType
    • ProductType
    POST /v1/orders/book HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "orders.book",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "OrderBookDetails": [
          {
            "OrderID": 88451209,
            "RemoteOrderID": "ORD-AND-88451209",
            "ExchOrderID": "1100000012345678",
            "ScripCode": 2885,
            "ScripName": "RELIANCE",
            "Exch": "N",
            "ExchType": "C",
            "BuySell": "B",
            "Qty": 10,
            "TradedQty": 10,
            "PendingQty": 0,
            "Rate": 2510.0,
            "AtMarket": false,
            "OrderStatus": "Fully Executed",
            "OrderType": "LIMIT",
            "ProductType": "D"
          }
        ]
      }
    }
  • 下单

    POST /v1/orders/place openfinance

    从下单面板提交现货或 F&O 委托;返回券商 OrderID 和交易所 ExchOrderID。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken;委托发出前会另行执行一次交易前保证金检查。

    • ClientCode
    • ScripCode
    • Exch
    • ExchType
    • BuySell
    • Qty
    • Rate
    • AtMarket
    • IsIntraday
    • DisQty
    • AHPlaced
    • StopLossPrice
    • TargetPrice
    • RemoteOrderID
    • OrderID
    • ExchOrderID
    • OrderStatus
    POST /v1/orders/place HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "orders.place",
        "Key": "<JwtToken>",
        "AppSource": "ANDROID"
      },
      "Body": {
        "ClientCode": "51123456",
        "ScripCode": 2885,
        "Exch": "N",
        "ExchType": "C",
        "BuySell": "B",
        "Qty": 10,
        "Rate": 2510.0,
        "AtMarket": false,
        "IsIntraday": false,
        "DisQty": 0,
        "AHPlaced": "N",
        "StopLossPrice": 0,
        "TargetPrice": 0,
        "RemoteOrderID": "ORD-AND-88451210"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "OrderID": 88451210,
        "RemoteOrderID": "ORD-AND-88451210",
        "ExchOrderID": "1100000012345690",
        "OrderStatus": "Pending",
        "Message": "Order placed"
      }
    }
  • 净头寸

    POST /v1/portfolio/positions/net openfinance

    为头寸标签页(按净额视图)轧差 F&O 与现货头寸,给出均价、LTP 和按市值计价的 PnL。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken。

    • ScripCode
    • ScripName
    • Exch
    • ExchType
    • BuySell
    • NetQty
    • AvgRate
    • LTP
    • PnL
    • ProductType
    POST /v1/portfolio/positions/net HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "positions.net",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "NetPositionDetails": [
          {
            "ScripCode": 35001,
            "ScripName": "NIFTY 30OCT24 25000 CE",
            "Exch": "N",
            "ExchType": "D",
            "BuySell": "B",
            "NetQty": 75,
            "AvgRate": 142.5,
            "LTP": 156.0,
            "PnL": 1012.5,
            "ProductType": "M"
          }
        ]
      }
    }
  • 账本明细

    POST /v1/account/ledger/entries openbanking

    返回“资金与账本”背后的卢比账本:滚动 LedgerBalance、权益拆分以及带日期的借贷记录。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken。

    • ClientCode
    • LedgerBalance
    • EQLedgerBalance
    • Narration
    • Amount
    • TimeStamp
    • FromDate
    • ToDate
    POST /v1/account/ledger/entries HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "ledger.entries",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456",
        "FromDate": "2026-10-01",
        "ToDate": "2026-10-19"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "LedgerBalance": 125000.0,
        "EQLedgerBalance": 118500.0,
        "LedgerDetails": [
          {
            "Narration": "Payin UPI",
            "Amount": 25000.0,
            "LedgerBalance": 125000.0,
            "TimeStamp": "2026-10-18T11:02:14+05:30"
          }
        ]
      }
    }
  • 在售 IPO 发行

    POST /v1/ipo/issues/open openfinance

    为 IPO 标签页列出正在发行的 IPO / FPO:每手股数、申购价区间、类别以及设置 UPI 授权前的 cutoff 标志。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken(部分 IPO 卡片在访客浏览时可省略)。

    • ScripName
    • Category
    • BidPrice
    • LotSize
    • CutOff
    • ISIN
    • ApplicationNo
    • Status
    • Message
    POST /v1/ipo/issues/open HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "ClientCode": "51123456",
      "Category": "INDIVIDUAL"
    }
    {
      "Status": 0,
      "Message": "SUCCESS",
      "Issues": [
        {
          "ScripName": "NEXUS SELECT TRUST",
          "Category": "INDIVIDUAL",
          "BidPrice": 100.0,
          "LotSize": 150,
          "CutOff": true,
          "ISIN": "INE0NDH01011",
          "ApplicationNo": null
        }
      ]
    }
  • 提交 IPO 申购

    POST /v1/ipo/bids openfinance

    提交以 UPI 冻结资金的 IPO 申购,并返回 ApplicationNo,供在售 IPO / 历史申购页面展示。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken;UPI VPA 需先在单独一步中完成校验。

    • ClientCode
    • ScripName
    • Category
    • BidPrice
    • Qty
    • LotSize
    • CutOff
    • VPA
    • ApplicationNo
    • Status
    • Message
    POST /v1/ipo/bids HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "ClientCode": "51123456",
      "ScripName": "NEXUS SELECT TRUST",
      "Category": "INDIVIDUAL",
      "BidPrice": 100.0,
      "Qty": 150,
      "LotSize": 150,
      "CutOff": true,
      "VPA": "priya@okaxis"
    }
    {
      "Status": 0,
      "Message": "Bid submitted",
      "ApplicationNo": "NXT8812345",
      "ScripName": "NEXUS SELECT TRUST",
      "BidPrice": 100.0,
      "Qty": 150,
      "VPA": "priya@okaxis"
    }
  • 资金出金

    POST /v1/funds/withdrawals openbanking

    在充值/提现流程中,把可提现的卢比转出到已绑定的银行账户。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken;目标银行记录来自已绑定银行的查询。

    • ClientCode
    • PayoutAmount
    • BankName
    • AccountNo
    • IFSC
    • Status
    • Message
    POST /v1/funds/withdrawals HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "funds.withdraw",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456",
        "PayoutAmount": 25000.0,
        "BankName": "HDFC BANK",
        "AccountNo": "50100012345678",
        "IFSC": "HDFC0000123"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "PayoutAmount": 25000.0,
        "BankName": "HDFC BANK",
        "AccountNo": "50100012345678",
        "IFSC": "HDFC0000123",
        "Status": 0,
        "Message": "Payout requested"
      }
    }
  • 入金详情

    POST /v1/funds/deposit-instructions openbanking

    返回为交易账本充值所用的 UPI VPA 和已绑定的银行信息。

    认证方式: 来自 PIN 或 OTP 登录的 Bearer JwtToken。

    • ClientCode
    • VPA
    • BankName
    • AccountNo
    • IFSC
    • Status
    • Message
    POST /v1/funds/deposit-instructions HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "Head": {
        "RequestCode": "funds.deposit",
        "Key": "<JwtToken>"
      },
      "Body": {
        "ClientCode": "51123456"
      }
    }
    {
      "Head": {
        "Status": 0,
        "Message": "SUCCESS"
      },
      "Body": {
        "ClientCode": "51123456",
        "VPA": "51123456@fivepaisa",
        "BankName": "HDFC BANK",
        "AccountNo": "50100012345678",
        "IFSC": "HDFC0000123",
        "Status": 0
      }
    }
  • 市场深度

    POST /v1/quotes/depth opendata

    在行情页返回某个标的的 20 档深度和最新成交价。

    认证方式: Bearer JwtToken,或由应用行情会话签发的短时图表令牌。

    • ScripCode
    • Exch
    • ExchType
    • LTP
    • Qty
    • Rate
    • BuySell
    • Status
    POST /v1/quotes/depth HTTP/1.1
    Authorization: Bearer <JwtToken>
    Content-Type: application/json
    
    {
      "ClientCode": "51123456",
      "ScripCode": 2885,
      "Exch": "N",
      "ExchType": "C"
    }
    {
      "Status": 0,
      "ScripCode": 2885,
      "Exch": "N",
      "ExchType": "C",
      "LTP": 2512.4,
      "Qty": 18420,
      "BuySell": [
        {
          "Rate": 2512.0,
          "Qty": 120
        },
        {
          "Rate": 2511.5,
          "Qty": 340
        }
      ]
    }

数据类别

  • 持仓
  • 头寸
  • 订单
  • 保证金
  • 账本流水
  • IPO
  • 资金
  • 行情

数据使用场景与案例

  • 夜间 demat 持仓对账

    家族办公室的账簿把持仓调用中的 ScripCode / ISIN / NetQty / AvgRate / CurrentValue 映射到托管行文件上,并在现货市场开盘前标出 Haircut 或 PnL 的偏差。

  • 交易前 RMS 校验

    执行机器人读取 AvailableMargin、SpanMargin 和 ExposureMargin,仅当 NetAvailableMargin 足以覆盖所选 ProductType 下的 Qty 乘以 Rate 时,才提交 OrderRequest。

  • IPO 申购台

    一级市场工作流列出在售新股(LotSize、BidPrice、CutOff),提交带 UPI VPA 的申购,并把 ApplicationNo 记入客户账本。

  • 卢比通道上的资金运营

    运营人员拉取 LedgerBalance 以及入金 VPA/IFSC,并按 FundsPayout 的 PayoutAmount 向已绑定的 AccountNo 出金,再把每一行与账本摘要逐条对上。

常见问题

5paisa 如何鉴权交易调用?

登录从 OTP 请求调用开始,提交 ClientCode 加 MobileNo,随后 OTP 验证调用返回 JwtToken 和 AccessToken。回访用户确认四位数字 Pin 即可换取新的 JwtToken。之后的持仓、订单和支付调用都把该 JwtToken 作为 Bearer 凭证携带。

哪些字段描述持仓与保证金?

实时持仓调用返回 ScripCode、ISIN、NetQty、AvgRate、LTP、CurrentValue、InvestedValue、PnL 和 Haircut。保证金快照则拆分出 AvailableMargin、NetAvailableMargin、LedgerBalance、CashMargin、SpanMargin、ExposureMargin、AdhocMargin 以及抵押品。

除了余额,还能读取订单和头寸吗?

可以。委托簿分页返回 OrderID、ExchOrderID、BuySell、Qty、TradedQty、PendingQty 和 OrderStatus。净头寸调用把 F&O 与现货合并轧差,给出 NetQty、AvgRate、LTP 和 PnL。下单调用是创建这些委托的写入接口。

IPO 申购和卢比出金的数据在哪里?

在售新股来自 IPO 发行列表调用(LotSize、BidPrice、CutOff)。申购调用提交 VPA 并返回 ApplicationNo。提现调用把 PayoutAmount 发往 BankName / AccountNo / IFSC;入金说明调用则返回 UPI 充值所用的收款 VPA。

与 5paisa: Demat, Stocks & IPO 相似的应用

  • Groww — Groww 是印度券商,应用可无纸化开立证券与交易账户,覆盖 NSE/BSE 股票、ETF、IPO、期货期权、大宗商品和直销共同基金。
  • Zerodha Kite — Zerodha 是印度线上券商,其 Kite 应用可交易股票、IPO、衍生品、大宗商品和 ETF,并通过 Coin 购买免佣直销共同基金。
  • Upstox Stocks IPO Mutual Funds — Upstox 是印度线上券商(RKSV Securities),应用覆盖 NSE、BSE 和 MCX 上的股票、共同基金、IPO、期货期权、大宗商品和外汇交易。
  • Angel One: Stocks, Mutual Fund — Angel One 是 SEBI 注册的印度券商,应用可下 NSE/BSE/MCX 股票、期货期权、大宗商品和外汇订单,并覆盖共同基金与 IPO。
  • IIFL : Stocks, Demat & IPOs — IIFL Capital(原 IIFL Securities)是 SEBI 注册的印度综合券商,其 Markets 应用覆盖 NSE/BSE/MCX 股票、期货期权、IPO、共同基金和证券账户。
  • INDmoney: US Stocks, F&O, IPO — INDmoney 是古尔冈的 SEBI 注册券商,应用可交易 NSE/BSE 股票、期货期权、大宗商品和 IPO,并在同一账户买卖美股、ETF、共同基金和 NPS。
  • Paytm Money — Paytm Money 是 SEBI 注册的印度券商,财富应用覆盖股票、期货期权、直销共同基金、ETF、IPO 以及国家养老金计划(NPS)。
  • Dhan — Dhan 是印度 SEBI 监管券商(Raise Securities),应用可交易股票、期货期权、大宗商品、ETF 和共同基金,并支持申购 IPO。

相关主题

  • 5paisa API
  • 5paisa 持仓
  • 5paisa 保证金
  • demat NetQty
  • SPAN AvailableMargin
  • 5paisa 委托簿
  • 5paisa IPO 申购
  • JwtToken ClientCode

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价