Skip to content

Calculer le Coût des Ressources

Ce endpoint calcule le coût d'achat de ressources sans créer de transaction.

POST /v1/calculate

Requête

Paramètres de Requête

ChampTypeRequisDescription
addressstringOuiAdresse du portefeuille TRON (34 caractères)
amountintegerOuiQuantité d'énergie ou de bandwidth à acheter (minimum 50000 pour energy, 1000 pour bandwidth)
energyintegerNonObsolète. Utilisez amount.
durationintegerOuiDurée en heures. Actuellement, seule 1 heure est prise en charge.
typestringNonType de ressource à calculer : "energy" (par défaut) ou "bandwidth"
bash
#!/bin/bash
API_TOKEN="votre_token_api"
API_SECRET="votre_secret_api"
REQUEST_BODY='{
  "address": "ADRESSE_TRX",
  "amount": 50000,
  "duration": 1
}'

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

# Faire la requête 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 = 'votre_token_api';
const apiSecret = 'votre_secret_api';
const requestBody = JSON.stringify({
  address: 'ADRESSE_TRX',
  amount: 50000,
  duration: 1
});

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

// Faire la requête 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 = 'votre_token_api';
$apiSecret = 'votre_secret_api';
$requestBody = json_encode([
  'address' => 'ADRESSE_TRX',
  'amount' => 50000,
  'duration' => 1
]);

// Calculer la signature
$signature = hash('sha256', $requestBody . $apiSecret);

// Faire la requête 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 = 'votre_token_api'
api_secret = 'votre_secret_api'
request_body = json.dumps({
  'address': 'ADRESSE_TRX',
  'amount': 50000,
  'duration': 1
})

# Calculer la signature
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Faire la requête 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())

Réponse

La réponse fournit les informations détaillées de calcul pour l'achat d'énergie ou de bandwidth.

Champs de Réponse

ChampTypeDescription
codeintegerCode de réponse (0 = succès)
request_idstringIdentifiant unique de la requête
resultobjectDonnées de réponse
result.addressstringL'adresse TRON fournie dans la requête
result.typestringType de ressource ("energy" ou "bandwidth")
result.amountintegerLa quantité d'énergie ou de bandwidth fournie dans la requête
result.energyintegerObsolète. Utilisez result.amount.
result.durationintegerLa durée en heures fournie dans la requête
result.pricefloatPrix total pour l'achat d'énergie
result.activation_feefloatFrais d'activation d'adresse (si nécessaire)
result.totalfloatPrix final incluant l'activation si nécessaire

Exemple de Réponse

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "address": "ADRESSE_TRX",
        "type": "energy",
        "amount": 50000,
        "energy": 50000,
        "duration": 1,
        "price": 1.67,
        "activation_fee": 0,
        "total": 1.67
    }
}

Exemple de Réponse (Adresse non activée)

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "address": "ADRESSE_TRX",
        "type": "energy",
        "amount": 50000,
        "energy": 50000,
        "duration": 1,
        "price": 3.67,
        "activation_fee": 1.4,
        "total": 5.07
    }
}

Erreurs Possibles

Code d'ErreurKeyDescription
1authErreur d'authentification (token ou signature incorrecte)
10invalid_tron_addressAdresse TRON invalide
11invalid_energy_amountQuantité d'énergie invalide
12invalid_durationDurée invalide
35service_unavailableService non disponible
500internal_server_errorErreur interne du serveur

Notes

  • La quantité d'énergie doit être d'au moins 50000.
  • Actuellement, seule la durée de 1 heure est prise en charge.
  • Ce endpoint calcule uniquement le coût sans créer de transaction.
  • Pour créer une transaction d'achat d'énergie, utilisez le endpoint Créer une Transaction.

Tron Energy API Documentation