> For the complete documentation index, see [llms.txt](https://docs.elven.com/v3/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elven.com/v3/chinese/openapi/v4/dao-ru-zhang-hu-liu-shui-jie-kou.md).

# 导入账户流水接口

### 接口概述

该接口用于批量导入转账记录(Transfer)到系统中，支持一次性导入多条数据。新增按照**资产代码**传递资产信息的能力。（原有 V3 版本接口，必须使用 Elven 系统的资产 id 来传递资产信息）

* **请求方式**：`POST`
* **请求 URL**：`https://openapi.elven.com/open/v4/transaction/transfer`

### 请求头参数

<table><thead><tr><th width="202">参数名</th><th width="90">类型</th><th width="64">必填</th><th>说明</th></tr></thead><tbody><tr><td>elven-api-key</td><td>String</td><td>是</td><td>分配给您的API密钥</td></tr><tr><td>elven-api-sign</td><td>String</td><td>是</td><td>请求签名，用于验证请求合法性</td></tr><tr><td>elven-api-timestamp</td><td>String</td><td>是</td><td>请求时间戳，毫秒级</td></tr></tbody></table>

[查看详细说明](https://docs.elven.com/v3/openapi/jie-kou-shou-quan#elven-api-sign)

### 请求参数

#### Body 参数（JSON 格式）

<table><thead><tr><th width="207">参数名</th><th width="91">类型</th><th width="65">必填</th><th>说明</th></tr></thead><tbody><tr><td>entityAccountId</td><td>String</td><td>是</td><td>账户的主键 ID</td></tr><tr><td>sourceId</td><td>String</td><td>是</td><td>Source 的主键 ID</td></tr><tr><td>timezone</td><td>String</td><td>否</td><td>时区，为空时视为 entity 时区。<a href="/pages/aGo8tOlAb3LVWBUj7oNv">具体介绍</a></td></tr><tr><td>list</td><td>Array</td><td>是</td><td>转账记录列表，包含多个对象，每次最多支持 1000 条记录</td></tr></tbody></table>

**list 数组元素**

<table><thead><tr><th width="227">参数名</th><th width="93">类型</th><th width="65">必填</th><th>说明</th></tr></thead><tbody><tr><td>direction</td><td>String</td><td>是</td><td>交易方向，<code>IN</code>（收入）或 <code>OUT</code>（支出）</td></tr><tr><td>amount</td><td>Number</td><td>是</td><td>交易金额</td></tr><tr><td>assetID</td><td>String</td><td>否</td><td>资产ID，需区分大小写，可从<a href="/pages/VMit0TXQj6EglCd9Ac96">资产查询接口</a>获取当前 entity 所支持的资产以及对应 ID<br><code>assetID</code>/和<code>symbol</code> 至少填写一个<br>都填写时，将只会识别<code>assetID</code></td></tr><tr><td>symbol</td><td>String</td><td>否</td><td>资产代码，需区分大小写，可从<a href="/pages/VMit0TXQj6EglCd9Ac96">资产查询接口</a>获取当前 entity 所支持的资产以及对应symbol<br>assetID/和symbol 至少填写一个<br>都填写时，将只会识别<code>assetID</code></td></tr><tr><td>transactionID</td><td>String</td><td>否</td><td>交易哈希或唯一标识</td></tr><tr><td>type</td><td>String</td><td>是</td><td>交易类型，根据平台类型（platform.type）进行区分，详见下方说明</td></tr><tr><td>datetime</td><td>String</td><td>是</td><td>交易时间，格式为 <code>YYYY-MM-DD HH:mm:ss</code></td></tr><tr><td>counterpartyAccountNo</td><td>String</td><td>否</td><td>对手方的地址或账号</td></tr><tr><td>counterpartyPlatformId</td><td>String</td><td>否</td><td>对手方的平台 ID</td></tr><tr><td>memo</td><td>String</td><td>否</td><td>备注信息</td></tr><tr><td>auxiliaryValueList</td><td>Array</td><td>否</td><td>辅助核算字段列表。若不设置可不传该字段或传空数组；<br>若传非空数组，则每项中的 <code>key</code> 和 <code>value</code> 均必填，且 <code>key</code>必须匹配当前主体下已配置的辅助核算字段名称</td></tr></tbody></table>

**type 参数说明**

* 当 `platform.type` 为 `CHAIN`，`type` 可选值：
  * `CHAIN_TRANSFER_IN`
  * `CHAIN_TRANSFER_OUT`
  * `CHAIN_TRANSACTION_FEE`
* 当 `platform.type` 为 `BANK`，`type` 可选值：
  * `BANK_DEPOSIT`
  * `BANK_WITHDRAW`
  * `BANK_FEE`
  * `BANK_INCOMING_FX`
  * `BANK_OUTGOING_FX`
* 当 `platform.type` 为 `EXCHANGE`，`type` 可选值：
  * `EXCHANGE_DEPOSIT`
  * `EXCHANGE_WITHDRAW`
  * `EXCHANGE_TRADE_IN`
  * `EXCHANGE_TRADE_OUT`
  * `EXCHANGE_FEE`
  * `EXCHANGE_STAKE`
  * `EXCHANGE_UNSTAKE`
  * `EXCHANGE_REWARD`
  * `EXCHANGE_REALIZED_PNL`
  * `EXCHANGE_BORROW`
  * `EXCHANGE_REPAY`
  * `EXCHANGE_FUNDING_FEE`
  * `EXCHANGE_TRANSFER_IN`
  * `EXCHANGE_TRANSFER_OUT`
* 当 `platform.type` 为 `CUSTODY`，`type` 可选值：
  * `CUSTODY_DEPOSIT`
  * `CUSTODY_WITHDRAW`
  * `CUSTODY_FEE`
* 当 `platform.type` 为 `PAYMENT`，`type` 可选值：
  * `PAYMENT_COMPLETED`
  * `PAYMENT_CHARGE_BACK`
  * `PAYMENT_REFUND`
  * `PAYMENT_FEE`
  * `PAYMENT_PAYOUT`
  * `PAYMENT_INCOMING_FX`
  * `PAYMENT_OUTGOING_FX`

#### auxiliaryValueList 数组元素

<table><thead><tr><th width="86.73828125">参数名</th><th width="91.109375">类型</th><th width="77.09765625">必填</th><th>说明</th></tr></thead><tbody><tr><td>key</td><td>String</td><td>是</td><td>辅助核算字段的名称，需与系统内已创建的辅助字段名称一致</td></tr><tr><td>value</td><td>String</td><td>是</td><td>辅助字段的值，不可为空</td></tr></tbody></table>

#### 请求示例

```json
{
    "entityAccountId": "19Pcnm3AQaUGMI6Kn2YvqtN9kje8yXic",
    "sourceId": "86w0LfZPdHkQKac8uGVNmU9jSzEBJXxy",
    "timezone":"MET",
    "list": [
        {
            "direction": "IN",
            "amount": 109,
            "assetID": "",
            "symbol": "SOL",
            "transactionID": "0xaaa111",
            "type": "CHAIN_TRANSFER_IN",
            "datetime": "2024-08-01 12:00:00",
            "counterpartyAccountNo": "0xsss",
            "memo": "this is memo",
            "auxiliaryValueList":[
              { "key": "BU", "value": "BU1" },
              { "key": "Cost Center", "value": "XX" }
              ]
        }
    ]
}
```

#### 响应参数

<table><thead><tr><th>参数名</th><th width="137">类型</th><th>说明</th></tr></thead><tbody><tr><td>status</td><td>String</td><td>请求状态（如 <code>success</code>）</td></tr><tr><td>data</td><td>Boolean</td><td>请求结果（如 <code>true</code> 表示成功）</td></tr></tbody></table>

#### 响应示例

```json
{
    "status": "success",
    "data": true
}

```

### 注意事项

1. **异步处理**：该接口调用成功后只是将数据导入到预处理数据库，系统需要一段时间来处理导入的数据，处理完成后才会显示在转账记录列表内。
2. **记录数量限制**：每次请求最多支持导入 5**000** 条交易记录。
3. **数据完整性**：请确保提供的数据完整且准确，避免因数据错误导致导入失败。
4. **时间格式**：`datetime` 参数的格式必须严格按照 `YYYY-MM-DD HH:mm:ss`，否则可能导致解析错误。。
5. **时区说明**：数据导入时，如果未提供时区字段。时区将和 Entity 设置的时区保持一致。
6. **交易类型**：`type` 参数必须根据对应的 `platform.type` 选择正确的值，否则可能导致交易分类错误。
