Skip to content

Estimer la Quantité d'Énergie

Ce endpoint estime la quantité d'énergie nécessaire pour effectuer un transfert de token sans créer de transaction.

POST /v1/estimate-energy

Requête

Paramètres de Requête

ChampTypeRequisDescription
from_addressstringOuiAdresse du portefeuille TRON de l'expéditeur (34 caractères)
to_addressstringOuiAdresse du portefeuille TRON du destinataire (34 caractères)
contract_addressstringNonAdresse du smart contract (par défaut : TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t - Tether (USDT))
bash
#!/bin/bash
API_TOKEN="votre_token_api"
API_SECRET="votre_secret_api"
REQUEST_BODY='{
  "from_address": "ADRESSE_TRX_EXPEDITEUR",
  "to_address": "ADRESSE_TRX_DESTINATAIRE",
  "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
}'

# 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/estimate-energy" \
  -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({
  from_address: 'ADRESSE_TRX_EXPEDITEUR',
  to_address: 'ADRESSE_TRX_DESTINATAIRE',
  contract_address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
});

// 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/estimate-energy',
  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([
  'from_address' => 'ADRESSE_TRX_EXPEDITEUR',
  'to_address' => 'ADRESSE_TRX_DESTINATAIRE',
  'contract_address' => 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
]);

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

// Faire la requête API
$ch = curl_init('https://api.tronzap.com/v1/estimate-energy');
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({
  'from_address': 'ADRESSE_TRX_EXPEDITEUR',
  'to_address': 'ADRESSE_TRX_DESTINATAIRE',
  'contract_address': 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
})

# 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/estimate-energy',
  headers=headers,
  data=request_body
)

print(response.json())

Réponse

La réponse fournit des informations détaillées de calcul pour l'énergie nécessaire pour effectuer un transfert de token.

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.amountintegerQuantité d'énergie nécessaire pour effectuer le transfert en utilisant le contrat
result.energyintegerQuantité d'énergie nécessaire pour effectuer le transfert en utilisant le contrat (obsolète, utilisez amount)
result.durationintegerDurée en heures (actuellement seulement 1 heure est disponible)
result.pricefloatPrix pour déléguer l'énergie
result.activation_feefloatPrix pour l'activation d'adresse (si requis)
result.totalfloatPrix final incluant l'activation si requise
result.from_addressstringL'adresse TRON de l'expéditeur fournie dans la requête
result.to_addressstringL'adresse TRON du destinataire fournie dans la requête
result.contract_addressstringL'adresse du smart contract utilisée pour le calcul

Exemple de Réponse

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 0,
        "total": 3.66,
        "from_address": "ADRESSE_TRX_EXPEDITEUR",
        "to_address": "ADRESSE_TRX_DESTINATAIRE",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

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

json
{
    "code": 0,
    "request_id": "bbf74bcd-fb36-4df8-adc8-25f2bacd087b",
    "result": {
        "amount": 64400,
        "energy": 64400,
        "duration": 1,
        "price": 3.66,
        "activation_fee": 1.4,
        "total": 5.06,
        "from_address": "ADRESSE_TRX_EXPEDITEUR",
        "to_address": "ADRESSE_TRX_DESTINATAIRE",
        "contract_address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"
    }
}

Erreurs Possibles

Code d'ErreurKeyDescription
1authErreur d'authentification (token ou signature incorrecte)
10invalid_tron_addressAdresse expéditeur invalide
10invalid_tron_addressAdresse destinataire invalide
10invalid_tron_addressAdresse de contrat invalide
35service_unavailableService non disponible
500internal_server_errorErreur interne du serveur

Notes

  • Le paramètre contract_address est optionnel et par défaut TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t (Tether USDT)
  • Ce endpoint estime seulement l'énergie pour effectuer un transfert USDT sans créer de transaction
  • Pour créer une transaction d'achat d'énergie réelle, utilisez le endpoint Créer une Transaction

Tron Energy API Documentation