Skip to content

Créer une Transaction

Ce endpoint crée une nouvelle transaction pour l'achat d'énergie ou l'activation d'adresse.

POST /v1/transaction/new

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.energy_amountintegerOui*Quantité d'énergie (*requis pour le service "energy")
params.durationintegerOui*Durée en heures (*requis pour le service "energy")
params.external_idstringNonID externe pour identifier la transaction
params.activate_addressbooleanNonActiver l'adresse si nécessaire (par défaut : false)

Service Achat d'Énergie

bash
#!/bin/bash
API_TOKEN="votre_token_api"
API_SECRET="votre_secret_api"
REQUEST_BODY='{
  "service": "energy",
  "params": {
    "address": "ADRESSE_TRX",
    "energy_amount": 65000,
    "duration": 1,
    "external_id": "mon-id-unique",
    "activate_address": false
  }
}'

# 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/transaction/new" \
  -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',
    energy_amount: 65000,
    duration: 1,
    external_id: 'mon-id-unique',
    activate_address: false
  }
});

// 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/transaction/new',
  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',
    'energy_amount' => 65000,
    'duration' => 1,
    'external_id' => 'mon-id-unique',
    'activate_address' => false
  ]
]);

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

// Faire la requête API
$ch = curl_init('https://api.tronzap.com/v1/transaction/new');
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',
    'energy_amount': 65000,
    'duration': 1,
    'external_id': 'mon-id-unique',
    'activate_address': False
  }
})

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

print(response.json())

Service Activation d'Adresse

bash
#!/bin/bash
API_TOKEN="votre_token_api"
API_SECRET="votre_secret_api"
REQUEST_BODY='{
  "service": "activate_address",
  "params": {
    "address": "ADRESSE_TRX",
    "external_id": "activation-unique-id"
  }
}'

# 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/transaction/new" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const requestBody = JSON.stringify({
  service: 'activate_address',
  params: {
    address: 'ADRESSE_TRX',
    external_id: 'activation-unique-id'
  }
});
php
<?php
$requestBody = json_encode([
  'service' => 'activate_address',
  'params' => [
    'address' => 'ADRESSE_TRX',
    'external_id' => 'activation-unique-id'
  ]
]);
?>
python
request_body = json.dumps({
  'service': 'activate_address',
  'params': {
    'address': 'ADRESSE_TRX',
    'external_id': 'activation-unique-id'
  }
})

Réponse

La réponse fournit les détails de la transaction créée.

Champs de Réponse

ChampTypeDescription
codeintegerCode de réponse (0 = succès)
resultobjectDonnées de réponse
result.transaction_idstringID unique de la transaction
result.statusstringStatut actuel de la transaction
result.servicestringType de service
result.pricefloatPrix de la transaction
result.addressstringAdresse TRON cible

Exemple de Réponse (Achat d'Énergie)

json
{
    "code": 0,
    "result": {
        "transaction_id": "12345678-1234-1234-1234-123456789012",
        "status": "new",
        "service": "energy",
        "price": 3.4,
        "address": "ADRESSE_TRX",
        "energy_amount": 65000,
        "duration": 1
    }
}

Exemple de Réponse (Activation d'Adresse)

json
{
    "code": 0,
    "result": {
        "transaction_id": "12345678-1234-1234-1234-123456789012",
        "status": "new",
        "service": "activate_address",
        "price": 1.4,
        "address": "ADRESSE_TRX"
    }
}

Erreurs Possibles

Code d'ErreurDescription
1Erreur d'authentification (token ou signature incorrecte)
2Service ou paramètres invalides
6Fonds insuffisants
10Adresse TRON invalide
11Quantité d'énergie invalide
12Durée invalide
24Adresse non activée (pour le service energy)
25Adresse déjà activée (pour le service activate_address)
500Erreur interne du serveur

Notes

  • Utilisez le transaction_id retourné pour vérifier le statut de la transaction
  • Le paramètre external_id vous permet de suivre vos transactions avec votre propre système d'ID
  • L'activation d'adresse n'est nécessaire que pour les nouvelles adresses TRON
  • Pour vérifier le statut d'une transaction, utilisez le endpoint Vérifier le Statut de Transaction

Tron Energy API Documentation