Produktions-API
Bestellung anlegen
Eine idempotente Energy-Miete anlegen und ihren festen Betrag samt Polling-URL erhalten.
/v1/energy/ordersAuf dieser Seite
Jeder Geschäftsvorfall braucht eine stabile, eindeutige client_request_id. Sie ist der vorgeschriebene Schutz gegen Doppelbuchungen bei Netzwerk-Wiederholungen.
Anfragetext
{"client_request_id":"order-1042","address":"TJRabPrwbZy45sbavfcjinPJC18kjpRTv8","energy":65000,"duration_minutes":60,"expected_total_trx":"3.200000"}
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
client_request_id |
string | ja | Ihre eindeutige Vorgangs-ID. Wiederverwenden nur für genau diese Bestellung. |
address |
string | ja | Gültige TRON-Zieladresse. |
energy |
integer | ja | Positive Menge, ohne Rest durch die Einheitengröße teilbar. |
duration_minutes |
integer | ja | Erlaubte Dauer aus den Optionen, in Minuten. |
expected_total_trx |
string | ja | Exakter total_trx des zuletzt eingeholten Angebots, mit sechs Nachkommastellen. |
Unbekannte JSON-Eigenschaften werden abgelehnt. Senden Sie Content-Type: application/json.
Antwort 201 oder 200
{"id":"7c0c9a54-517c-4bbb-a946-bf14bf86c113","client_request_id":"order-1042","address":"TJRabPrwbZy45sbavfcjinPJC18kjpRTv8","energy":65000,"duration_minutes":60,"total_trx":"3.200000","status":"created","lifecycle_final":false,"delivery_final":false,"created_at":1784376000,"updated_at":1784376000,"energy_usable":false}
Die Antwort trägt die vollständige Form einer Bestellung aus Bestellung abrufen und lässt jedes Feld weg, das noch keinen Wert hat: eine eben angelegte Bestellung trägt weder den Schlüssel rental_expires_at noch den Schlüssel failure, statt beide auf null zu setzen.
201 Created— eine neue Bestellung;Locationenthält/v1/energy/orders/{id}.200 OK— eine exakt identische Wiederholung liefert die bestehende Bestellung.409 Conflictmitcode: energy_order_idempotency_conflict— dieselbeclient_request_idwurde mit anderer Adresse, Menge oder Dauer verwendet.409 Conflictmitcode: energy_price_changed— holen Sie ein neues Angebot ein und senden Sie erneut. Es wurde keine Bestellung angelegt und kein TRX reserviert.409 Conflictmitcode: insufficient_balance— der angebotene Gesamtbetrag übersteigtavailable_trx. Laden Sie das Konto auf und senden Sie erneut. Es wurde keine Bestellung angelegt und kein TRX reserviert.
Idempotenz
Erzeugen Sie nach einer Zeitüberschreitung keine neue ID. Senden Sie denselben Body mit derselben client_request_id. Eine neue ID gehört nur zu einem neuen Geschäftsvorfall.
Zustandsfelder
status beschreibt die aktuelle Phase. Eine Automatisierung sollte lifecycle_final und delivery_final auswerten, nicht eine fest verdrahtete Statusliste. Siehe Bestellung abrufen.
Fehler
Möglich sind 400, 401, 409, 413, 415, 429, 500 und 503. Wiederholen Sie 400, 401, 409, 413 und 415 nicht automatisch, ohne die Ursache zu beheben.
Rentron