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
servicestringOuiType de service (energy ou activate_address)
paramsobjectOuiParamètres du service
params.addressstringOuiAdresse du portefeuille TRON (34 caractères)
params.amountintegerOui*Quantité d'énergie ou de bande passante à acheter (minimum 50000 pour energy, 1000 pour bandwidth)
params.energy_amountintegerNonObsolète. Utilisez params.amount.
params.durationintegerOui*Durée en heures. Seule 1 heure est prise en charge (*requis pour le service energy)
typestringNonType de ressource à calculer ("energy" par défaut ou "bandwidth")

Exemples de Requête

bash
#!/bin/bash
API_TOKEN="votre_token_api"
API_SECRET="votre_secret_api"
REQUEST_BODY='{
  "service": "energy",
  "params": {
    "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({
  service: 'energy',
  params: {
    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([
  'service' => 'energy',
  'params' => [
    '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({
  'service': 'energy',
  'params': {
    '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 de coût calculées pour le service demandé.

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.typestringType de ressource ("energy" ou "bandwidth")
result.amountintegerQuantité d'énergie ou de bande passante fournie dans la requête
result.energyintegerObsolète. Utilisez result.amount.
result.pricefloatPrix du service
result.address_activation_feefloatFrais d'activation d'adresse (si applicable)
result.totalfloatPrix total incluant les frais supplémentaires

Exemple de Réponse

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "type": "energy",
        "amount": 65000,
        "price": 3.4,
        "address_activation_fee": 0,
        "total": 3.4
    }
}

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

Tron Energy API Documentation