Skip to content

Расчёт цены

POST /v1/orders/calculate

Возвращает точную стоимость в TRX для гипотетического заказа без его создания. Используйте этот эндпоинт, чтобы показать пользователям стоимость до подтверждения депозита.

Это чистый ценовой эндпоинт — он не взаимодействует с сетью TRON.

Тело запроса

ПолеТипОбязательноеОписание
durationintegerдаДлительность аренды ресурсов в часах. Должно быть 1.
activationbooleanнетЕсли true, включает плату за активацию аккаунта в total. По умолчанию false.
resources.energyintegerнет*Количество энергии для доставки.
resources.bandwidthintegerнет*Количество пропускной способности для доставки.

* Хотя бы одно из полей resources.energy или resources.bandwidth должно быть больше нуля.

Примеры

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

Ответ

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

При activation: true (активация нового аккаунта):

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

Поля ответа

ПолеТипОписание
energy.amountintegerОтражение запрошенного количества энергии.
energy.pricenumberСтоимость энергии в TRX.
bandwidth.amountintegerОтражение запрошенного количества пропускной способности.
bandwidth.pricenumberСтоимость пропускной способности в TRX.
activation.requiredbooleanОтражение переданного флага activation.
activation.pricenumberСтоимость активации в TRX. 0, если активация не запрошена.
totalnumberСумма стоимостей энергии + пропускной способности + активации.
currencystringВсегда TRX.
durationintegerОтражение запрошенной длительности.

total совпадает с суммой заказа

Значение total из этого эндпоинта равно amount, который потребует POST /v1/orders при тех же входных данных и совпадающем результате activation.

TronZap Partner Documentation