开发者文档

API 工作区
https://api.rentron.xyz/v1
OpenAPI 架构

查询订单

// GET

生产 API

查询订单

读取一笔属于该账户的订单,判断 Energy 何时可以使用,以及资源分配和完整租赁生命周期是否结束。

GET /v1/energy/orders/{id}
本页内容

使用创建订单时返回的 UUID,或使用其 Location 请求头中的路径。

路径参数

参数 类型 说明
id UUID 公开订单标识符。

响应 200

{"id":"7c0c9a54-517c-4bbb-a946-bf14bf86c113","client_request_id":"order-1042","address":"TJRabPrwbZy45sbavfcjinPJC18kjpRTv8","energy":65000,"duration_minutes":60,"total_trx":"3.200000","status":"delivered","lifecycle_final":false,"delivery_final":true,"created_at":1784376000,"updated_at":1784376073,"energy_usable":true,"rental_expires_at":1784379612}

没有值的字段不会返回 null,而是整个字段都不出现:Energy 还没有到达地址的订单不带 rental_expires_at,成功的订单不带 failure。请把缺失的字段按 null 处理,不要要求它一定存在。

字段 类型 说明
status string createdexecutingavailabledeliveredrental_finishedfailedrental_interrupted
energy_usable boolean Energy 已在该地址上,可以使用。在 rental_expires_at 之前,availabledelivered 都为 true;该时刻过后即为 false,即使状态还会显示一段时间的 delivered:租赁的结束要依据已最终确认的链上证据。
rental_expires_at integer,无值时不返回 已付费租赁时长结束的 Unix 秒。Energy 到达地址之前不返回该字段;状态为 failed 时同样不返回:冻结资金已全额退回,该时长也随之作废。状态为 rental_interrupted 时保留该时长,那次租赁确实开始过,只是被提前中断。
lifecycle_final boolean 整个租赁已经结束,不会再发生状态变化。
delivery_final boolean 分配尝试已经结束。状态为 available 时仍为 false,因为分配结果尚未经过独立验证。true 本身不代表成功,请检查 failure
failure object,无值时不返回 状态为 failed 时返回 code: energy_delivery_failed,状态为 rental_interrupted 时返回 code: energy_delivery_interrupted。两者都带有该稳定的 code 和可安全显示的 message
created_atupdated_at integer Unix 秒。

何时发起您的交易?

请依据 energy_usable 判断,而不是 delivered

{"status":"available","lifecycle_final":false,"delivery_final":false,"energy_usable":true,"rental_expires_at":1784379612}

available 表示 Energy 已分配到该地址并且可以使用,您付费的时长正在计时,直到 rental_expires_at。大约一分钟后,独立验证确认分配完成,状态变为 delivered,此时 rental_expires_at 不会改变。等待 delivered 只会白白消耗您已经付费的租赁时长。

何时停止轮询?

只有两个结束标志都为 true 才停止。完整租赁成功结束时状态为 rental_finishedfailedrental_interrupted 会包含 failure

未找到

不存在的 ID 和其他账户的 ID 故意返回相同响应:

{"type":"https://rentron.xyz/docs/errors/codes#energy_order_not_found","title":"Not Found","status":404,"detail":"Order was not found.","code":"energy_order_not_found"}