Skip to content

Historial de Transacciones ​

Devuelve las transacciones propias de su cuenta, de la más reciente a la más antigua, con soporte de paginación y filtrado por estado. Solo se listan las transacciones realizadas por la cuenta a la que pertenece la clave API. Las recargas de saldo, las recompensas de referidos y los pagos no son pedidos y no se listan.

POST /v1/transactions/history

Solicitud ​

Todos los parámetros son opcionales. Si no se especifican parámetros, devuelve la primera página con 10 elementos. Un status desconocido, un page menor que 1 o un per_page fuera del rango 1–50 se rechaza con el código 2. Un user_subscription_id que no sea una cadena de 1–26 caracteres se rechaza de la misma forma.

Parámetros de Solicitud ​

CampoTipoRequeridoDescripción
pageintegerNoNúmero de página (por defecto: 1, mínimo: 1)
per_pageintegerNoElementos por página (por defecto: 10, máximo: 50)
statusstringNoFiltrar por estado de transacción: new, pending, success o failed (ver lista de estados)
user_subscription_idstringNoSolo las transacciones que compró una de tus suscripciones: su id, tal como lo devuelven Historial de suscripciones e Iniciar suscripción. Un id que no es de tus suscripciones devuelve una página vacía
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "page": 1,
  "per_page": 10,
  "status": "success"
}'

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

# Realizar solicitud a la 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'
});

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

// Realizar solicitud a la 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'
]);

// Calcular firma
$signature = hash('sha256', $requestBody . $apiSecret);

// Realizar solicitud a la 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'
})

# Calcular firma
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Realizar solicitud a la 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())

Ejemplo de solicitud sin parámetros ​

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

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

# Realizar solicitud a la 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}"

Respuesta ​

La respuesta contiene una página de las transacciones de la cuenta con información de paginación. Cada elemento tiene exactamente los campos que devuelve Verificar Estado de Transacción para el mismo id.

Una transacción que compra varios recursos a la vez (por ejemplo, energía y ancho de banda juntos) es un solo elemento, y su amount es el monto total cobrado por ella. Su service es "energy", y params.amounts enumera cada recurso comprado.

Campos de Respuesta ​

CampoTipoDescripción
codeintegerCódigo de respuesta (0 = éxito)
request_idstringIdentificador único de la solicitud
resultobjectDatos de respuesta
result.pageintegerPágina actual
result.per_pageintegerElementos por página
result.totalintegerNúmero total de transacciones que coinciden con el filtro
result.itemsarrayLista de transacciones, de la más reciente a la más antigua
result.items[].idstringID de transacción interno
result.items[].created_atstringMarca de tiempo de creación (formato ISO 8601)
result.items[].statusstringEstado de la transacción (ver lista de estados)
result.items[].external_idstring|nullID de transacción externo (si fue proporcionado)
result.items[].servicestringTipo de servicio: "energy", "bandwidth" o "activate_address"
result.items[].paramsobject|nullParámetros originales de la solicitud
result.items[].amountstringMonto de la transacción en TRX
result.items[].hashstring|nullHash de la transacción; presente solo cuando status es success

Ejemplo de Respuesta ​

Respuesta a la solicitud sin parámetros:

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"
      }
    ]
  }
}

Posibles Errores ​

Código de ErrorKeyDescripción
1authError de autenticación (token o firma inválida)
2invalid_service_or_paramsServicio o parámetros inválidos
500internal_server_errorError interno del servidor

Tron Energy API Documentation