Skip to content

Calcular Costo de Energía

Este endpoint calcula el costo de compra de energía sin crear una transacción.

POST /v1/calculate

Solicitud

Parámetros de Solicitud

CampoTipoRequeridoDescripción
addressstringDirección de billetera TRON (34 caracteres)
energyintegerCantidad de energía a comprar (mínimo 32000)
durationintegerDuración en horas (1 hora o 24 horas)
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "address": "TRX_ADDRESS",
  "energy": 32000,
  "duration": 1
}'

# Calcular firma
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Realizar solicitud a la API
curl -X POST "https://api.tronzap.com/v1/calculate" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  address: 'TRX_ADDRESS',
  energy: 32000,
  duration: 1
});

// Calcular firma
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Realizar solicitud a la API
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/calculate',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'address' => 'TRX_ADDRESS',
  'energy' => 32000,
  'duration' => 1
]);

// Calcular firma
$signature = hash('sha256', $requestBody . $apiSecret);

// Realizar solicitud a la API
$ch = curl_init('https://api.tronzap.com/v1/calculate');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'address': 'TRX_ADDRESS',
  'energy': 32000,
  'duration': 1
})

# Calcular firma
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Realizar solicitud a la API
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/calculate',
  headers=headers,
  data=request_body
)

print(response.json())

Respuesta

La respuesta proporciona información detallada del cálculo para la compra de energía.

Campos de Respuesta

CampoTipoDescripción
codeintegerCódigo de respuesta (0 = éxito)
resultobjectDatos de respuesta
result.addressstringLa dirección TRON proporcionada en la solicitud
result.energyintegerLa cantidad de energía proporcionada en la solicitud
result.durationintegerLa duración en horas proporcionada en la solicitud
result.pricefloatPrecio total por la compra de energía
result.activation_feefloatPrecio por activación de dirección (si es requerido)
result.totalfloatPrecio final incluyendo activación si es requerida

Ejemplo de Respuesta

json
{
    "code": 0,
    "result": {
        "address": "TRX_ADDRESS",
        "energy": 32000,
        "duration": 1,
        "price": 1.67,
        "activation_fee": 0,
        "total": 1.67
    }
}

Ejemplo de Respuesta (Dirección no activada)

json
{
    "code": 0,
    "result": {
        "address": "TRX_ADDRESS",
        "energy": 32000,
        "duration": 1,
        "price": 1.67,
        "activation_fee": 1.4,
        "total": 3.07
    }
}

Posibles Errores

Código de ErrorDescripción
1Error de autenticación (token o firma incorrectos)
2Servicio o parámetros inválidos
5Billetera no encontrada
10Dirección TRON inválida
11Cantidad de energía inválida
12Duración inválida
500Error interno del servidor

Notas

  • La cantidad de energía debe ser al menos 32000.
  • Se admiten duraciones de 1 hora y 24 horas.
  • Este endpoint solo calcula el costo sin crear una transacción.
  • Para crear una transacción real de compra de energía, use el endpoint Crear Transacción.

Tron Energy API Documentation