Skip to content

Historique des transactions ​

Retourne les transactions de votre propre compte, des plus récentes aux plus anciennes, avec support de pagination et filtrage par statut. Seules les transactions passées par le compte auquel appartient la clé API sont listées. Les rechargements de solde, les récompenses de parrainage et les retraits ne sont pas des commandes et ne sont pas listés.

POST /v1/transactions/history

Demande ​

Tous les paramètres sont optionnels. Si les paramètres ne sont pas spécifiés, retourne la première page avec 10 éléments. Un status inconnu, une page inférieure à 1 ou un per_page en dehors de 1–50 est refusé avec le code 2. Un user_subscription_id qui n’est pas une chaîne de 1 à 26 caractères est refusé de la même façon.

Paramètres de Demande ​

ChampTypeRequisDescription
pageintegerNonNuméro de page (défaut: 1, minimum: 1)
per_pageintegerNonÉléments par page (défaut: 10, maximum: 50)
statusstringNonFiltrer par statut de transaction : new, pending, success ou failed (voir la liste des statuts)
user_subscription_idstringNonUniquement les transactions achetées par l’un de vos abonnements : son id, tel que le renvoient Historique des abonnements et Démarrer un abonnement. Un id qui n’est pas l’un de vos abonnements renvoie une page vide
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "page": 1,
  "per_page": 10,
  "status": "success"
}'

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

# Faire la requête API
curl -X POST "https://api.trxup.com/v1/transactions/history" \
  -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({
  page: 1,
  per_page: 10,
  status: 'success'
});

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

// Faire la requête API
axios({
  method: 'post',
  url: 'https://api.trxup.com/v1/transactions/history',
  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([
  'page' => 1,
  'per_page' => 10,
  'status' => 'success'
]);

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

// Faire la requête API
$ch = curl_init('https://api.trxup.com/v1/transactions/history');
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({
  'page': 1,
  'per_page': 10,
  'status': 'success'
})

# 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.trxup.com/v1/transactions/history',
  headers=headers,
  data=request_body
)

print(response.json())

Exemple de demande sans paramètres ​

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{}'

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

# Faire la requête API
curl -X POST "https://api.trxup.com/v1/transactions/history" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"

Réponse ​

La réponse contient une page des transactions du compte avec les informations de pagination. Chaque élément comporte exactement les champs que Vérifier le Statut de Transaction retourne pour le même id.

Une transaction qui achète plusieurs ressources à la fois (par exemple de l'énergie et de la bande passante ensemble) constitue un seul élément, et son amount est le montant total facturé pour celle-ci. Son service est "energy", et params.amounts liste chaque ressource achetée.

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.pageintegerPage actuelle
result.per_pageintegerÉléments par page
result.totalintegerNombre total de transactions correspondant au filtre
result.itemsarrayListe des transactions, des plus récentes aux plus anciennes
result.items[].idstringID interne de la transaction
result.items[].created_atstringHorodatage de création (format ISO 8601)
result.items[].statusstringStatut de la transaction (voir la liste des statuts)
result.items[].external_idstring|nullID externe de la transaction (si fourni)
result.items[].servicestringType de service : "energy", "bandwidth" ou "activate_address"
result.items[].paramsobject|nullParamètres originaux de la requête
result.items[].amountstringMontant de la transaction en TRX
result.items[].hashstring|nullHash de la transaction ; présent uniquement lorsque status vaut success

Exemple de Réponse ​

Réponse à la requête sans paramètres :

json
{
  "code": 0,
  "request_id": "64daeda7-15e4-4bcf-ae60-c94867af66d8",
  "result": {
    "page": 1,
    "per_page": 10,
    "total": 3,
    "items": [
      {
        "id": "01M52FEER5JVJ16QNSVX75700Q",
        "created_at": "2026-10-01T12:02:00+00:00",
        "status": "new",
        "external_id": null,
        "service": "energy",
        "params": {
          "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
          "amounts": {
            "energy": 65000
          },
          "duration": 1
        },
        "amount": "3.58"
      },
      {
        "id": "01M52FEEQT9TGZCHG1732ARRDN",
        "created_at": "2026-10-01T12:01:00+00:00",
        "status": "failed",
        "external_id": "hist-energy",
        "service": "energy",
        "params": {
          "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
          "amounts": {
            "energy": 65000
          },
          "duration": 1
        },
        "amount": "3.58"
      },
      {
        "id": "01M52FEEPEY6V1SBAMCDMA4GTG",
        "created_at": "2026-10-01T12:00:00+00:00",
        "status": "success",
        "external_id": "hist-bundle",
        "service": "energy",
        "params": {
          "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
          "amounts": {
            "energy": 65000,
            "bandwidth": 5000
          },
          "duration": 1
        },
        "amount": "3.64",
        "hash": "aa11bb22cc33dd44ee55ff6600112233445566778899aabbccddeeff00112233"
      }
    ]
  }
}

Erreurs Possibles ​

Code d'ErreurKeyDescription
1authErreur d'authentification (token ou signature invalide)
2invalid_service_or_paramsService ou paramètres invalides
500internal_server_errorErreur interne du serveur

Tron Energy API Documentation