Elven Docs
简体中文
简体中文
  • 开始使用
  • 系统配置
    • 开始使用 Elven
    • 项目和主体
      • 选择会计起始日期
    • 邀请成员
    • 查看操作记录
  • 财务配置
    • 配置会计科目
      • 配置多级会计科目
      • 批量导入会计科目
    • 配置凭证模板
    • 配置辅助核算
    • 录入科目期初余额
  • 账户管理
    • 导入余额数据
    • 导入交易数据
      • 导入普通交易数据
      • 导入衍生品交易
    • 账户余额校验
    • 对手方账户管理
      • 对手方管理
      • 对手方识别规则管理
    • 添加交易所主/子账户
  • 交易管理
    • 交易总览
  • 记账
    • 通过交易数据记账
      • 给交易手动打标签
      • 通过规则进行自动打标签
    • 通过业务数据记账
      • 通过 API 导入业务数据
      • 通过 CSV 导入业务数据
      • 业务数据通过规则自动化记账
    • 记账凭证审核
  • 资产与估值
    • 资产管理
      • 如何通过智能合约地址添加 Token
      • 为资产自定义价格源
    • 加密资产公允价值与调账
      • Valuation 表介绍
    • 法币汇兑损益调账
    • 衍生品未实现损益调账
    • Broker 业务存货管理
  • 对账
    • 交易对账
  • 报告
    • 试算平衡表
    • 科目余额表
    • 财务报表
    • 加密资产披露表
    • 仪表盘
  • OpenApi
    • 接口授权
    • 在线接口调试
    • V3
      • 上传业务数据
      • 业务数据 source 查询接口
      • 删除业务数据 source 接口
      • 账户查询接口
      • 添加账户接口
      • 创建 source 接口
      • 账户 source 查询接口
      • 删除账户 source 接口
      • 资产查询接口
      • 批量添加资产接口
      • 币种查询接口
      • 平台查询接口
      • 导入价格接口
      • 导入账户余额接口
      • 导入转账记录接口
      • 导入交易记录接口
      • 导入损益记录接口
      • 添加对手方接口
    • V4
      • 导入价格接口
      • 导入账户余额接口
      • 导入转账记录接口
      • 导入交易记录接口
      • 导入损益记录接口
    • 时区信息
Powered by GitBook
On this page
  • 接口授权的获取
  • 接口授权的使用
  • 上传业务数据

Was this helpful?

  1. 记账
  2. 通过业务数据记账

通过 API 导入业务数据

Previous通过业务数据记账Next通过 CSV 导入业务数据

Last updated 9 months ago

Was this helpful?

接口授权的获取

登录到 Elven 系统,在需要使用 API 接入业务数据的 Entity 中,进入 Journals 页面,点击 Journals 页面右上角的 Integrations

在弹出的 Integrations 管理窗口中,点击 Add new integration 按钮

为新的数据类型进行命名,然后点击 Add 按钮

当完成了数据类型的添加之后,就可以添加新数据了。点击 Add data 按钮,在下拉菜单中选择“OpenAPI Integration”

在弹出的 API Key/Secret 管理窗口中,点击 Create 按钮

在下一个窗口中,为新创建的 API Key 命名

点击 Create 按钮,完成新 API Key 的创建。

您可以点击每一个 Key/Secret 后面的复制图标,将 Key/Secret 的内容复制到剪贴板中进行使用。

接口授权的使用

在请求头中提供以下参数

elven-api-key  获取到的授权 apiKey
elven-api-sign  base64格式的签名, 例如 LVT5aXA9064gpgZrPXPLJB/Aq9r45yMF10sTZQTteyE=
elven-api-timestamp 以毫秒格式的时间戳, 例如 1721209655047,过期时间是30秒

其他sign的算法如下, 把 时间戳, 请求方式, 请求路由拼在一起, 使用secret进行 HMAC SHA256的加密

// crypto 采用了 https://github.com/nodejs/node/blob/v16.9.0/lib/crypto.js 库
  /**
   * 生成签名
   * apiSecret: BjGiqCWfHGCrl065dlEBWFO5vLj7Hqiexxx,
   * timestamp: 1721205912758
   * method POST
   *  path  /open/v3/businessData
   */
  buildSign(apiSecret: string, timestamp: number, method: string, path: string) {
    const str = `${timestamp}${method}${path}`
    return crypto.createHmac('sha256', apiSecret).update(str).digest('base64')
  }

示例效果

[
  'D7JLJ3awwrTdNXtSrPI1GlYE', // key
  'BjGiqCWfHGCrl065dlEBWFO5vLj7Hqie', // secret
  'POST', // method 一定是大写的
  '/open/v3/businessData' // 不能带域名, 只能以 '/' 开始的的path部分
]
{
  'elven-api-key': 'D7JLJ3awwrTdNXtSrPI1GlYE',
  'elven-api-sign': 'LVT5aXA9064gpgZrPXPLJB/Aq9r45yMF10sTZQTteyE=',
  'elven-api-timestamp': 1721209655047
}

上传业务数据

POST https://openapi.elven.com/open/v3/businessData

header
{
  elven-api-key: aaaa
  elven-api-sign: bbbbbbbbbbbb
  elven-api-timestamp: 22222222
}

body
{
       businessDataTypeName: 'Settlement', // 已经在产品中创建好了
       businessDataSourceName: 'Settlement-2024-07',// 没创建或者已创建的openapi类型的
       businessDataList: [
               {"a": 100, "b": "buy", "c": "2024-07-01 22:33:44"},
               {"a": 100, "b": "sell", "c": "2024-07-01 23:33:44"},
               {"a": 100, "b": "buy", "c": "2024-07-02 06:33:44"},
       ]
}