Документация для разработчиков

Пространство API
https://api.rentron.xyz/v1
Схема OpenAPI

Создать заказ

// POST

API для реальных заказов

Создание заказа

Создайте идемпотентный заказ аренды Energy и получите зафиксированную сумму и URL для проверки статуса.

POST /v1/energy/orders
На этой странице

Каждое бизнес-событие должно иметь стабильный уникальный client_request_id. Это обязательная защита от дублей при сетевых повторах.

Тело запроса

{"client_request_id":"order-1042","address":"TXYZ","energy":65000,"duration_hours":1,"expected_total_trx":"3.200000"}
Поле Тип Обязательно Описание
client_request_id string да Ваш уникальный ID операции. Повторяйте его только для того же заказа.
address string да Корректный TRON-адрес получателя.
energy integer да Положительный объём, кратный размеру порции.
duration_hours integer да Разрешённый срок из полученных параметров аренды.
expected_total_trx string да Точный total_trx из последней котировки, строго с шестью знаками после точки.

Лишние JSON-поля запрещены. Отправляйте Content-Type: application/json.

Ответ 201 или 200

{"id":"7c0c9a54-517c-4bbb-a946-bf14bf86c113","client_request_id":"order-1042","address":"TXYZ","energy":65000,"duration_hours":1,"total_trx":"3.200000","status":"created","lifecycle_final":false,"delivery_final":false,"created_at":1784376000,"updated_at":1784376000,"failure":null}
  • 201 Created — новый заказ; заголовок Location содержит /v1/energy/orders/{id}.
  • 200 OK — точный идемпотентный повтор, возвращён уже существующий заказ.
  • 409 Conflict с code: energy_order_idempotency_conflict — тот же client_request_id использован с другим адресом, объёмом или сроком.
  • 409 Conflict с code: energy_price_changed — получите новую котировку и подтвердите ещё раз. Заказ не создан, TRX не удержаны.

Идемпотентность

Если время ожидания истекло, не генерируйте новый ID. Повторите тот же JSON и тот же client_request_id. Новый ID создавайте только для нового бизнес-события.

Поля состояния

status показывает стадию заказа. Для автоматического завершения используйте lifecycle_final и delivery_final, а не список строковых статусов. Подробности — в получении заказа.

Ошибки

Возможны 400, 401, 409, 413, 415, 429, 503. Небезопасно автоматически повторять 400, 401, 409, 413 или 415 без исправления причины.