Librerías SDK
TronZap proporciona librerías SDK oficiales para múltiples lenguajes de programación para ayudarte a integrar fácilmente con nuestra API. Estos SDK manejan la autenticación, las llamadas a la API y el manejo de errores, permitiéndote centrarte en construir tu aplicación.
SDK Disponibles
Actualmente ofrecemos SDK para los siguientes lenguajes:
SDK de PHP
bash
composer require tron-energy-market/tronzap-sdk-php
SDK de Node.js
Este SDK está diseñado para funcionar en múltiples plataformas JavaScript/TypeScript:
- Node.js: v16.0.0 o superior
- Bun: v1.0.0 o superior
- Deno: v1.0.0 o superior
bash
npm install tronzap-sdk
# o
yarn add tronzap-sdk
# o
pnpm add tronzap-sdk
SDK de Python
bash
pip install tronzap-sdk
Uso Básico
Todos los SDK proporcionan una interfaz similar para interactuar con la API de TronZap. Aquí hay algunos ejemplos básicos:
php
<?php
use TronZap\Client;
use TronZap\Exception\TronZapException;
// Inicializar el cliente
$apiToken = 'tu_api_token';
$apiSecret = 'tu_api_secret';
$client = new Client($apiToken, $apiSecret);
try {
// Obtener servicios disponibles
$services = $client->getServices();
// Crear una transacción de energía
$transaction = $client->createEnergyTransaction(
'DIRECCIÓN_TRX', // Dirección de la billetera TRON
32000, // Cantidad de energía
1, // Duración (horas)
'mi-tx-id', // ID externo (opcional)
false // No activar dirección (opcional)
);
// Verificar el estado de la transacción
$status = $client->checkTransaction($transaction['result']['transaction_id']);
} catch (TronZapException $e) {
echo "Error: " . $e->getMessage() . " (Código: " . $e->getCode() . ")\n";
}
javascript
import { TronZapClient, TronZapError } from 'tronzap-sdk';
// Inicializar el cliente
const client = new TronZapClient({
apiToken: 'your_api_token',
apiSecret: 'your_api_secret'
});
async function main() {
try {
// Obtener servicios disponibles
const services = await client.getServices();
console.log(services);
// Crear una transacción de energía
const transaction = await client.createEnergyTransaction(
'DIRECCIÓN_TRX', // Dirección de la billetera TRON
32000, // Cantidad de energía
1, // Duración (horas)
'mi-tx-id', // ID externo (opcional)
true // No activar dirección (opcional)
);
console.log(transaction);
// Verificar el estado de la transacción
const status = await client.checkTransaction(transaction.result.transaction_id);
console.log(status);
} catch (error) {
if (error instanceof TronZapError) {
console.error(`TronZap API Error: ${error.message} (Code: ${error.code})`);
} else {
// Type check the error before accessing its properties
if (error instanceof Error) {
console.error(`General error: ${error.message}`);
} else {
console.error('An unknown error occurred:', error);
}
}
}
}
main();
python
from tronzap_sdk import TronZapClient, TronZapError
# Inicializar el cliente
api_token = 'tu_api_token'
api_secret = 'tu_api_secret'
client = TronZapClient(api_token, api_secret)
try:
# Obtener servicios disponibles
services = client.get_services()
# Crear una transacción de energía
transaction = client.create_energy_transaction(
address='DIRECCIÓN_TRX', # Dirección de la billetera TRON
energy_amount=32000, # Cantidad de energía
duration=1, # Duración (horas)
external_id='mi-tx-id', # ID externo (opcional)
activate_address=False # No activar dirección (opcional)
)
# Verificar el estado de la transacción
status = client.check_transaction(transaction['result']['transaction_id'])
except TronZapError as e:
print(f"Error: {e.message} (Código: {e.code})")
Características
Todos nuestros SDK proporcionan las siguientes características:
- Autenticación: Generación automática de firmas API para peticiones seguras
- Información de Servicios: Obtener servicios disponibles y precios
- Transacciones de Energía: Crear transacciones para compra de energía
- Activación de Dirección: Crear transacciones para activación de dirección
- Estado de Transacción: Comprobar el estado de tus transacciones
- Gestión de Cuenta: Obtener información del saldo de la cuenta y uso
Documentación
Para la documentación completa de cada SDK, por favor consulta sus respectivos repositorios de GitHub.