交易状态与历史记录 API 开发指南

·

在加密货币交易平台的集成开发中,有效追踪和管理交易状态至关重要。通过专用的 API 接口,开发者能够实时获取用户交易数据,并为用户提供透明、及时的交易信息反馈。本文将深入解析交易状态 API 和历史交易 API 的核心功能、请求参数、响应字段及使用示例,助你高效集成交易查询功能。

交易状态 API:实时监控交易进度

交易状态 API 专为开发者设计,用于获取用户实时法币入金交易列表。通过轮询该接口,开发者可以实时追踪交易状态,并在客户端应用中清晰展示用户的 Coinbase 法币入金交易记录。

核心功能与集成要点

为关联会话期间创建的所有交易,开发者必须在初始化法币入金流程时,通过查询参数提供可选的 partnerUserId 字段。若客户端应用无用户概念,可传递随机生成的 partnerUserId 以引用一次性会话。

该 API 返回按时间倒序排列的分页交易列表,确保最新交易优先显示。

请求方法与 URL 结构

请求方法:GET

基础 URL

https://api.developer.coinbase.com/onramp/v1/buy/user/{partner_user_id}/transactions?page_key={next_page_key}&page_size={page_size}

请求参数详解

参数名类型是否必填说明
partner_user_id字符串客户端应用中用于标识用户法币入金交易的唯一 ID。
page_key字符串指向下一页交易的引用键,由上一页的响应返回。
page_size数字每页返回的交易数量,默认值为 1。

响应字段解析

API 返回 JSON 格式响应,包含以下字段:

字段名说明
transactions按时间倒序排列的 OnrampTransactions 列表。
next_page_key指向下一页交易的引用键。
total_count用户发出的交易总数。

法币入金交易数据结构

字段名说明可选值
status法币入金交易状态。ONRAMP_TRANSACTION_STATUS_IN_PROGRESS(处理中), ONRAMP_TRANSACTION_STATUS_SUCCESS(成功), ONRAMP_TRANSACTION_STATUS_FAILED(失败)
purchase_currency购买的加密货币类型。字符串
purchase_network用于向用户钱包交付加密货币的网络。字符串
purchase_amount购买的加密货币数量。字符串
payment_total用户需支付的法币总额。字符串
payment_subtotal用户需支付的法币金额(不含费用)。字符串
coinbase_fee收取的经纪费用。字符串
network_fee收取的网络费用。字符串
exchange_rate所购加密货币的单位价格。字符串
country用户所在国家。字符串
user_id用户的唯一标识符。字符串
partner_user_ref对应 Onramp URL 中的 partnerUserId 参数(若提供)。字符串
payment_method用户使用的支付方式。CARD(信用卡), ACH_BANK_ACCOUNT(银行账户), APPLE_PAY, FIAT_WALLET(法币钱包), CRYPTO_WALLET(加密货币钱包)
tx_hash链上发送的区块哈希。字符串
transaction_id法币入金交易的唯一标识符。字符串
wallet_address交易发送至的钱包地址。字符串
type交易类型。ONRAMP_TRANSACTION_TYPE_BUY_AND_SEND(购买并发送), ONRAMP_TRANSACTION_TYPE_SEND(仅发送)

请求示例

cdpcurl -k /tmp/cdp_api_key.json 'https://api.developer.coinbase.com/onramp/v1/buy/user/{partner_user_id}/transactions?page_key={next_page_key}&page_size={page_size}'

历史交易 API:批量获取交易记录

历史交易 API 提供指定日期范围内的 Coinbase 法币入金交易历史列表,适用于数据分析场景。该接口同样返回按时间倒序排列的分页结果,便于批量处理。

👉 查看实时交易监控工具

请求方法与 URL 结构

请求方法:GET

基础 URL

https://api.developer.coinbase.com/onramp/v1/buy/transactions?page_key={next_page_key}&page_size={page_size}&start_date={start_date}&end_date={end_date}

请求参数详解

参数名类型是否必填说明
page_key字符串指向下一页交易的引用键,由上一页的响应返回。
page_size数字每页返回的交易数量,默认值为 1000。
start_date字符串返回交易范围的开始日期(包含),格式为 YYYY-MM-DD。默认值为 end_date 的前一个月。
end_date字符串返回交易范围的结束日期(不包含),格式为 YYYY-MM-DD。默认值为明天。

响应字段解析

API 返回 JSON 格式响应,包含以下字段:

字段名说明
transactions按时间倒序排列的 OnrampTransactions 列表。
next_page_key指向下一页交易的引用键。

历史交易 API 中的法币入金交易数据结构与交易状态 API 完全一致,确保数据格式的统一性。

请求示例

cdpcurl -k /tmp/cdp_api_key.json 'https://api.developer.coinbase.com/onramp/v1/buy/transactions?page_key={next_page_key}&page_size={page_size}&start_date={start_date}&end_date={end_date}'

常见问题

1. 交易状态 API 和历史交易 API 有何区别?

交易状态 API 用于实时轮询特定用户的交易状态,适合集成到用户界面中提供即时反馈。而历史交易 API 则用于批量获取指定时间段内的所有交易记录,更侧重于数据分析和报表生成。

2. partner_user_id 参数是否必须提供?

在交易状态 API 中,partner_user_id 是必填参数,用于标识特定用户的交易。如果应用没有用户系统,可以使用随机生成的 ID 来关联一次性会话。

3. 如何处理分页?

两个 API 均支持分页。响应中的 next_page_key 字段提供了获取下一页数据的引用键,只需将其作为请求参数传入即可获取后续页面。

4. 交易状态有哪些可能的值?

交易状态主要包括三种:ONRAMP_TRANSACTION_STATUS_IN_PROGRESS(处理中)、ONRAMP_TRANSACTION_STATUS_SUCCESS(成功)和 ONRAMP_TRANSACTION_STATUS_FAILED(失败)。历史交易 API 通常只返回成功或失败的交易。

5. 如何指定查询的日期范围?

历史交易 API 通过 start_dateend_date 参数指定查询范围。日期格式必须为 YYYY-MM-DD,且 end_date 是不包含的,即查询范围是 [start_date, end_date)。

6. 这两个 API 的主要应用场景是什么?

交易状态 API 适用于需要实时展示交易进度的场景,如交易确认页面。历史交易 API 则适用于后台管理系统、对账系统和数据分析平台,用于生成交易报表和分析用户行为。

通过合理利用这两个 API,开发者可以构建功能完善、用户体验良好的加密货币交易应用,👉 获取进阶集成方法 进一步提升开发效率。