Developer Interface

长桥 OpenSDK 提供了 HTTP 客户端和 Websocket 客户端的实现。

Error

此 SDK 所抛出的异常

class longbridge.error.ApiError

通用错误

Parameters
  • code (int) – 错误码,由 SDK 定义

  • message (str) – 错误描述

class longbridge.error.HttpError

HTTP 请求服务端处理失败

Parameters
  • status (int) – 响应状态码

  • code (int) – 返回的错误码,由服务端定义

  • headers (dict) – 返回的响应头

  • message (str) – 错误描述

  • detail (str) – 错误详细原因

  • trace_id (str) – 当前请求 ID

class longbridge.error.RequestError

客户端请求失败

Parameters
  • code (int) – 错误码,由 SDK 定义

  • message (str) – 错误描述

Http Client

HTTP 客户端实现了加签逻辑,提供了 GET/POST/PUT/DELETE 方法,正常响应返回 ApiResponse 对象,异常响应抛出 ApiError 异常。

class longbridge.http.HttpClient

HTTP Client 实现

__init__(auth, config=Config(base_url='https://openapi.lbkrs.com', env=<Env.PROD: 3>, headers={}, language='zh-CN'))

初始化 Http Client

Parameters
delete(path, query=None, options=None)

发起 DELETE 请求

Parameters
  • path (str) – 请求的相对路径

  • query (Optional[Dict[str, Any]]) – 请求额外的 parameter

  • options (Optional[longbridge.http.RequestOption]) – 请求额外的定制信息

Returns

响应结果

Return type

ApiResponse

Raises
get(path, query=None, options=None)

发起 GET 请求

Parameters
  • path (str) – 请求的相对路径

  • query (Optional[Dict[str, Any]]) – 请求额外的 parameter

  • options (Optional[longbridge.http.RequestOption]) – 请求额外的定制信息

Returns

响应结果

Return type

ApiResponse

Raises
post(path, payload=None, options=None)

发起 POST 请求

Parameters
  • path (str) – 请求的相对路径

  • payload (Optional[Dict[str, Any]]) – 请求体,将以 JSON 的方式发送给服务器

  • options (Optional[longbridge.http.RequestOption]) – 请求额外的定制信息

Returns

响应结果

Return type

ApiResponse

Raises
put(path, payload=None, options=None)

发起 PUT 请求

Parameters
  • path (str) – 请求的相对路径

  • payload (Optional[Dict[str, Any]]) – 请求体,将以 JSON 的方式发送给服务器

  • options (Optional[longbridge.http.RequestOption]) – 请求额外的定制信息

Returns

响应结果

Return type

ApiResponse

Raises
set_header(key, value)

更新请求头

如果 value 为空,则移除对应的 key

set_language(language)

重置语言

set_url(base_url)

重置 base_url

class longbridge.http.Auth(app_key, app_secret, access_token=None)

认证凭证

Parameters
  • app_key (str) – App Key

  • app_secret (str) – App Key 对应的密钥

  • access_token (Optional[str]) – 用户凭证

class longbridge.http.Config(base_url='https://openapi.lbkrs.com', env=Env.PROD, headers=<factory>, language='zh-CN')

Http 配置信息

Parameters
  • base_url (str) – Open API 服务地址

  • language (str) – Accept-Language header 对应的值

  • headers (dict) – 所有请求携带的额外请求 Header

class longbridge.http.ApiResponse

请求返回的响应

Parameters
  • headers (dict) – 响应头

  • data (dict) – 响应体

class longbridge.http.RequestOption(headers, meta, timeout)

额外的请求配置

Parameters
  • headers (dict) – 单次请求额外的请求头

  • timeout (int) – 请求超时时间,默认 30 s,设置为 0 则不超时;超时返回 RequestError

Websocket Client

Websocket 客户端实现了对连接的自动保活,提供了 send_request 方法,及对 push 数据 / state 变更的回调。

class longbridge.ws.WsClient

WS Client 实现

__init__(url, http, callback)

初始化 WS Client

Parameters
close()

关闭当前连接,不再尝试重连

ready_state()

当前连接状态

Returns

连接状态

Return type

ReadyState

reconnect()

从关闭状态重新连接

send_request(command, payload, timeout=None)

发送请求

Parameters
  • command (int) – 请求命令,请参阅 pb 文件

  • payload (bytes) – protobuf 序列化后的请求体,请参阅 pb 文件

  • timeout (Optional[datetime.timedelta]) – 超时时间

Returns

返回的 protobuf 数据,类型为 command 对应的 response type,请参阅 pb 文件

Raises
  • WsError – 服务器响应错误

  • ApiError – 通用错误,如发请求时连接不在 OPEN 状态

Return type

bytes

class longbridge.ws.WsCallback

WS 回调函数,用户需自行实现如下两个方法:

  • on_push: 接收 command(int) 和 payload(bytes)

  • on_state: 接收 state(ReadyState)

class longbridge.ws.ReadyState

连接状态

  1. OPENING: 开始连接(用户不会收到,首次启动 SDK 自动等待到可用状况)

  2. OPEN: 连接正常,可以接收和发送数据

  3. RECONNECTING: 连接异常,自动重连中

  4. CLOSED: 连接用户主动关闭,不再重连