Skip to content

Calcular Preço

POST /v1/orders/calculate

Retorna o preço exato em TRX para um pedido hipotético sem criá-lo. Use isso para mostrar aos usuários o custo antes de confirmarem o depósito.

Este é um endpoint exclusivo de precificação — ele não acessa a rede TRON.

Corpo da requisição

CampoTipoObrigatórioDescrição
durationintegersimDuração do aluguel de recursos em horas. Deve ser 1.
activationbooleannãoSe true, inclui a taxa de ativação de conta no total. Padrão é false.
resources.energyintegernão*Quantidade de energia a entregar.
resources.bandwidthintegernão*Quantidade de bandwidth a entregar.

* Pelo menos um entre resources.energy e resources.bandwidth deve ser maior que zero.

Exemplos

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

Resposta

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

Com activation: true (ativando uma nova conta):

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

Campos da resposta

CampoTipoDescrição
energy.amountintegerEco da quantidade de energia solicitada.
energy.pricenumberCusto em TRX pela energia.
bandwidth.amountintegerEco da quantidade de bandwidth solicitada.
bandwidth.pricenumberCusto em TRX pelo bandwidth.
activation.requiredbooleanEco do parâmetro activation enviado.
activation.pricenumberCusto em TRX pela ativação. 0 quando não solicitada.
totalnumberSoma dos preços de energia + bandwidth + ativação.
currencystringSempre TRX.
durationintegerEco da duração solicitada.

total corresponde ao amount do create-order

O total deste endpoint é igual ao amount que POST /v1/orders exigirá, dados os mesmos parâmetros e o mesmo resultado de activation.

TronZap Partner Documentation