Skip to content

Preis berechnen

POST /v1/orders/calculate

Gibt den genauen TRX-Preis für einen hypothetischen Auftrag zurück, ohne ihn zu erstellen. Verwende diesen Endpunkt, um Nutzern die Kosten anzuzeigen, bevor sie eine Einzahlung vornehmen.

Dies ist ein reiner Preisberechnungs-Endpunkt — er berührt das TRON-Netzwerk nicht.

Anfrage-Body

FeldTypErforderlichBeschreibung
durationintegerjaMietdauer der Ressourcen in Stunden. Muss 1 sein.
activationbooleanneinFalls true, wird die Kontoaktivierungsgebühr in total eingerechnet. Standard: false.
resources.energyintegernein*Zu liefernde Energy-Menge.
resources.bandwidthintegernein*Zu liefernde Bandwidth-Menge.

* Mindestens eines von resources.energy oder resources.bandwidth muss größer als null sein.

Beispiele

bash
curl -X POST https://api.tronzap.com/v1/orders/calculate \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "duration": 1,
    "activation": false,
    "resources": {
      "energy": 65000,
      "bandwidth": 345
    }
  }'
javascript
const response = await fetch('https://api.tronzap.com/v1/orders/calculate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json',
  },
  body: JSON.stringify({
    duration: 1,
    activation: false,
    resources: { energy: 65000, bandwidth: 345 },
  }),
})
const data = await response.json()
console.log(data.result.total, data.result.currency)
php
$response = file_get_contents('https://api.tronzap.com/v1/orders/calculate', false, stream_context_create([
  'http' => [
    'method' => 'POST',
    'header' => "Content-Type: application/json\r\nAccept: application/json",
    'content' => json_encode([
      'duration' => 1,
      'activation' => false,
      'resources' => ['energy' => 65000, 'bandwidth' => 345],
    ]),
  ],
]));
$data = json_decode($response, true);
echo $data['result']['total'] . ' ' . $data['result']['currency'];
python
import requests

resp = requests.post('https://api.tronzap.com/v1/orders/calculate', json={
    'duration': 1,
    'activation': False,
    'resources': {'energy': 65000, 'bandwidth': 345},
})
result = resp.json()['result']
print(result['total'], result['currency'])

Antwort

json
{
  "code": 0,
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "result": {
    "energy":     { "amount": 65000, "price": 2.34 },
    "bandwidth":  { "amount": 345,   "price": 0.35 },
    "activation": { "required": false, "price": 0 },
    "total": 2.69,
    "currency": "TRX",
    "duration": 1
  }
}

Mit activation: true (Aktivierung eines neuen Kontos):

json
{
  "code": 0,
  "request_id": "550e8400-e29b-41d4-a716-446655440000",
  "result": {
    "energy":     { "amount": 65000, "price": 2.34 },
    "bandwidth":  { "amount": 345,   "price": 0.35 },
    "activation": { "required": true, "price": 1.40 },
    "total": 4.09,
    "currency": "TRX",
    "duration": 1
  }
}

Antwortfelder

FeldTypBeschreibung
energy.amountintegerSpiegelt die angeforderte Energy-Menge wider.
energy.pricenumberTRX-Kosten für die Energy.
bandwidth.amountintegerSpiegelt die angeforderte Bandwidth-Menge wider.
bandwidth.pricenumberTRX-Kosten für die Bandwidth.
activation.requiredbooleanSpiegelt das gesendete activation-Flag wider.
activation.pricenumberTRX-Kosten der Aktivierung. 0, wenn nicht angefordert.
totalnumberSumme aus Energy + Bandwidth + Aktivierungspreisen.
currencystringImmer TRX.
durationintegerSpiegelt die angeforderte Dauer wider.

total entspricht dem Betrag bei Auftragserstllung

Der total dieses Endpunkts entspricht dem amount, den POST /v1/orders bei denselben Eingaben und passendem activation-Ergebnis erfordern wird.

TronZap Partner Documentation