For the complete documentation index, see llms.txt. This page is also available as Markdown.

Infoway Go SDK

Infoway 官方 Go SDK。覆盖 REST 行情、基础信息、市场概览、板块、个股、财务,以及行情 / 新闻 WebSocket。

Go Reference Go License: MIT

项目
说明

运行环境

Go 1.22+

REST

https://data.infoway.io

行情 WebSocket

wss://data.infoway.io/ws

新闻 WebSocket

wss://data.infoway.io/news

接口频率

错误码

未传入 APIKey 时读取环境变量 INFOWAY_API_KEY。REST 方法第一个参数为 context.Context,错误以返回值给出。

目录

  • 安装

  • 快速开始

  • 标的代码

  • 客户端

  • REST

  • 返回值

  • WebSocket

  • 错误码

  • 版本变更

  • REST 路径

安装

快速开始

标的代码

市场
格式
正确
错误

美股

{代码}.US

AAPL.US

AAPL

港股

5 位 + .HK

00700.HK

700.HK

A 股上海

{代码}.SH

600519.SH

600519.CN

A 股深圳

{代码}.SZ

000001.SZ

000001.CN

日股

{代码}.JP

7203.JP

韩股

{代码}.KS

005930.KS

印股

{代码}.IN

RELIANCE.IN

台股

{代码}.TW

2330.TW

加密货币

交易对

BTCUSDT

外汇

货币对

USDJPY

Basic / Financial 的 type 用品种类型(STOCK_US、STOCK_CN、CRYPTO 等),不要传市场码 US。

客户端

选项
默认
说明

APIKey

INFOWAY_API_KEY

API Key

BaseURL

https://data.infoway.io

REST 根地址

Timeout

15s

单次超时

MaxRetries

3

失败重试

入口:Stock / Crypto / Japan / India / Korea / Taiwan / Common / Basic / Packages / Market / Plate / StockInfo / Financial。

REST

多个标的用英文逗号分隔。频率见 HTTP接口限制。

行情

方法
说明

GetTrade(ctx, codes)

最新成交

GetDepth(ctx, codes)

盘口

GetKline(ctx, codes, klineType, count, timestamp)

K 线。最新数据传 nil

常量
值
周期

KlineMin1 / KlineMin5 / KlineMin15 / KlineMin30

1–4

分钟

KlineHour1 / KlineHour2 / KlineHour4

5–7

小时

KlineDay / KlineWeek / KlineMonth / KlineQuarter / KlineYear

8–12

日及以上

单标的最多 500 根;多标的时每个返回最近 2 根。vw 为成交额。

基础信息

日期 YYYYMMDD。

市场 / 板块 / 个股 / 财务

排行 key 来自 GetRankCategories。财务需要 symbol + type。period_type:fq 季报、fy 年报、fh 中报。

返回值

REST 解成 any([]any 或 map[string]any)。数字为 float64,价格在线上仍是字符串。成交 t 为毫秒;K 线 t 为秒字符串;盘口 a/b 为 [[价格…],[数量…]]。

WebSocket

行情

Business 必须与标的市场一致。Connect 会阻塞,请在 goroutine 中调用。单连接每分钟最多 60 帧,见 WebSocket限制。

股票成交类型:SubscribeTrade(codes, true)。

行为
说明

心跳

每 30 秒发送 10010,服务端不回包

重连

断线后自动重连并补发当前订阅

OnReconnect

再次连上时触发

OnDisconnect

仅意外掉线。Close() 不触发

HTTP 401

停止重连

订阅配额超限(516)

不断开连接,在同一连接上退避重订,首次延迟 SubscribeRetry(默认 2s)

静默重订

收到过推送后静默超过 StaleAfter(默认 90s,0 关闭)自动重发订阅

Subscribe fail:

纯文本订阅失败以 SUBSCRIBE_FAIL 走 OnError

方向
协议号
说明

出

10000 / 10003 / 10006

订阅成交 / 盘口 / K 线

出

11000 / 11001 / 11002

退订

出

10010

心跳

入

10002 / 10005 / 10008

推送

入

11010

退订确认

入

200

连接成功

新闻

地址 wss://data.infoway.io/news,需单独授权。每个 Key 仅允许一条新闻连接。

订阅 10020,退订 11020,推送 10022。

错误码

REST 看 ret,WebSocket 看 code。508–514 两套含义不同。完整列表见 HTTP错误码 与 WebSocket错误码。

REST 限额约 1200 次/分钟/Key。无效 Key:REST 返回 *AuthError;WebSocket 握手 HTTP 401 且不重连。

REST ret

说明

200

成功

400

参数错误

500

服务端错误

501 / 502

频率超限

503

K 线数量超限

505

标的数量超限

506 / 507

参数错误 / 缺失

508

标的不存在

509

权限过期

513

历史时间超出套餐

514

无权限

WebSocket code

说明

501 / 502

频率超限

505

本连接订阅数超限(SDK 停止补发)

516

账号订阅配额超限(SDK 退避重订,不断连)

506 / 507

参数错误 / 缺失

508–511

API Key 过期 / 无效 / 为空 / 黑名单

512

连接数超限

513

心跳超时

515

非 JSON

517–521

握手失败

版本变更

v0.4.1 — WebSocket 订阅配额超限(516)不再终止连接:在同一连接上退避重订,重试与补发受每分钟 60 帧预算约束;服务端返回纯文本 Subscribe fail: 时以 SUBSCRIBE_FAIL 走 OnError;收到 505 后停止看门狗补发,订阅组较多时自动放宽补发间隔;新增 StaleAfter(默认 90s,0 关闭)与 SubscribeRetry(默认 2s);出站时间戳记录裁剪到 256 条;日股 / 印度示例改用 .JP / .IN(Yahoo 的 .T / .NS 返回 508)。

v0.4.0 — 请求上限本地校验(标的 ≤ 100、单标的 K 线 ≤ 500 根、多标的批量每标的 ≤ 2 根)、ValidSymbolType 校验财务 type、ClassifyRest 还原被 ret=500 包裹的业务错误码、IsTerminalWs 判定不可重试错误后停止重连、API Key 解析口径统一(显式空串不再回落环境变量)、Close 后调用返回错误并释放空闲连接。

v0.3.0 — 首个公开版本。

REST 路径

{market} = stock / crypto / japan / india / korea / taiwan / common。完整列表见 行情地址。

接口
路径

最新成交

GET /{market}/batch_trade/{codes}

盘口

GET /{market}/batch_depth/{codes}

K 线

POST /{market}/v2/batch_kline

品种 / 日历 / 财务

GET /common/basic/*

市场 / 板块 / 个股

GET /common/v2/basic/*

套餐

GET /package/info

许可证

MIT。API Key:infoway.io。

最后更新于