Skip to content

Oblicz cenę

POST /v1/orders/calculate

Zwraca dokładną cenę TRX dla hipotetycznego zamówienia bez jego tworzenia. Użyj tego, aby pokazać użytkownikom koszt przed dokonaniem wpłaty.

Jest to czysty endpoint cenowy — nie dotyka sieci TRON.

Treść żądania

PoleTypWymaganeOpis
durationintegertakCzas wynajmu zasobów w godzinach. Musi wynosić 1.
activationbooleannieJeśli true, uwzględnij opłatę za aktywację konta w total. Domyślnie false.
resources.energyintegernie*Ilość energii do dostarczenia.
resources.bandwidthintegernie*Ilość przepustowości do dostarczenia.

* Co najmniej jedno z pól resources.energy lub resources.bandwidth musi być większe od zera.

Przykłady

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'])

Odpowiedź

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
  }
}

Przy activation: true (aktywacja nowego konta):

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
  }
}

Pola odpowiedzi

PoleTypOpis
energy.amountintegerOdzwierciedlenie żądanej ilości energii.
energy.pricenumberKoszt energii w TRX.
bandwidth.amountintegerOdzwierciedlenie żądanej ilości przepustowości.
bandwidth.pricenumberKoszt przepustowości w TRX.
activation.requiredbooleanOdzwierciedlenie flagi activation, którą wysłałeś.
activation.pricenumberKoszt aktywacji w TRX. 0 gdy nie jest żądana.
totalnumberSuma cen energii + przepustowości + aktywacji.
currencystringZawsze TRX.
durationintegerOdzwierciedlenie żądanego czasu trwania.

total odpowiada kwocie z create-order

total z tego endpointu jest równy amount, którego będzie wymagał POST /v1/orders przy tych samych danych wejściowych i pasującym wyniku activation.

TronZap Partner Documentation