# API de alquiler de energía TRON para bots: integración y flujo

Source: https://tenergy.me/es/learn/energy-api-for-bots

1.  [TEnergy](/es)
2.  [Aprender](/es/learn)
3.  API de alquiler de energía TRON para bots y servicios de backend

# API de alquiler de energía TRON para bots y servicios de backend

Integra el alquiler de energía TRON en bots de Telegram y backends de pago. El flujo REST en 5 pasos: estimación, firma HMAC, cotización, orden y webhooks.

Publicado 24 de octubre de 2026

Automatizar el alquiler de energía TRON permite que bots de Telegram, procesadores de pagos y servicios de pagos automáticos hagan transferencias de USDT TRC-20 sin gestionar a mano stakes de TRX ni quemar gas. En lugar de construir su propia infraestructura de stake o inmovilizar capital con los bloqueos de 14 días de la red, quienes desarrollan bots se conectan a una API REST que delega energía en la cadena bajo demanda con Stake 2.0[\[3\]](#source-3).

La integración sigue un ciclo de cinco pasos[\[1\]](#source-1): obtener una estimación al instante, generar las firmas HMAC-SHA256 de las solicitudes[\[2\]](#source-2), asegurar una cotización de precio por 120 segundos, crear una orden idempotente con un `client_order_id` propio y confirmar la delegación con webhooks firmados.

Antes de ejecutar órdenes automáticas en producción, prueba la firma, la creación de órdenes y los webhooks de tu bot en nuestro entorno de testnet Nile (`https://api-nile.tenergy.me/v1`).

## El ciclo de integración de un bot en 5 pasos

Nuestra API REST ofrece un flujo predecible pensado para backends automáticos:

```
[Bot / servidor]                    [API de energía]                  [Cadena TRON]
       |                                   |                                |
       |--- 1. GET /v1/estimate ---------->|                                |
       |<-- Devuelve SUN total y precio ---|                                |
       |                                   |                                |
       |--- 2. POST /v1/quotes ----------->|                                |
       |<-- Devuelve quote_id (120 s) -----|                                |
       |                                   |                                |
       |--- 3. POST /v1/orders ----------->|                                |
       |<-- 201 Created (ord_...) ---------|--- delegateResource ---------->|
       |                                   |                                |
       |<-- 4. Webhook: order.confirmed ---|<-- Confirmado en el bloque ----|
       |                                   |                                |
       |--- 5. Transmite la transferencia de USDT ------------------------->|
```

### 1\. Estima el costo de la orden sin credenciales

Para mostrar precios al instante a los usuarios del bot o calcular comisiones, consulta `GET /v1/estimate`[\[1\]](#source-1). Este endpoint público no necesita clave de API:

bash

```bash
curl -sG https://api.tenergy.me/v1/estimate \
  -d resource=energy -d amount=65000 -d tier=1h \
  -d receiver=TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE
```

La respuesta devuelve `total_amount_sun` y `price_sun_per_unit`, y detecta si la billetera receptora está activada en la cadena.

### 2\. Firma las solicitudes con HMAC-SHA256

Todos los endpoints autenticados requieren tres encabezados HTTP[\[2\]](#source-2):

-   `X-API-KEY`: el identificador de tu clave (`ak_live_...` o `ak_test_...`).
-   `X-API-TIMESTAMP`: marca de tiempo UTC en ISO 8601 (tolerancia de 5 segundos).
-   `X-API-SIGN`: `base64(HMAC-SHA256(secret, timestamp + METHOD + path + query + body))`.

### 3\. Fija el precio con una cotización de 120 segundos

Para proteger a tu bot de los cambios de precio mientras el usuario interactúa, llama a `POST /v1/quotes`[\[1\]](#source-1). Una cotización fija el costo total durante 120 segundos:

json

```json
{
  "resource": "energy",
  "amount": 65000,
  "tier": "1h",
  "receiver": "TQn9Y2khEsLJW1ChVWFMSMeRDow5KcbLSE"
}
```

### 4\. Envía una orden idempotente

Pasa el `quote_id` y tu propio `client_order_id` a `POST /v1/orders`[\[1\]](#source-1). Si tu servidor pierde la conexión o se agota el tiempo de espera, repite la misma llamada sin miedo; el sistema reconoce el id de orden del cliente y devuelve la orden existente en lugar de crear un cobro duplicado.

json

```json
{
  "quote_id": "qt_01J9Z5NB2K4R",
  "client_order_id": "bot-order-94812"
}
```

### 5\. Confirma la delegación en la cadena

Tu bot debe esperar la confirmación antes de transmitir la transferencia de USDT:

-   **Webhooks:** registra una URL HTTPS en tu panel. Cuando la delegación se verifica en la cadena, el sistema envía un evento `order.confirmed` firmado con HMAC-SHA256[\[2\]](#source-2).
-   **Consulta periódica:** como alternativa, consulta `GET /v1/orders/cid:bot-order-94812` cada 1–2 segundos hasta que `status` pase a `active` tras el `delegateResource` en la cadena[\[3\]](#source-3).

## Resumen de endpoints de la API

| Endpoint | Método | Requiere autenticación | Para qué sirve |
| --- | --- | --- | --- |
| `/v1/estimate` | `GET` | No | Estimación pública del costo para una cantidad de energía y un receptor |
| `/v1/prices` | `GET` | No | Tabla de precios por franja del día y plazos de alquiler disponibles |
| `/v1/balance` | `GET` | Sí | Consulta el saldo disponible de la cuenta en SUN |
| `/v1/quotes` | `POST` | Sí | Fija el precio durante 120 segundos (`quote_id`) |
| `/v1/orders` | `POST` | Sí | Crea una orden de energía con protección de idempotencia |
| `/v1/orders/cid:{id}` | `GET` | Sí | Consulta el estado de una orden por la referencia interna de tu bot |

## Prácticas clave de arquitectura para desarrolladores de bots

1.  **Entornos separados:** desarrolla y ensaya los flujos de tu bot con nuestro endpoint de testnet Nile (`https://api-nile.tenergy.me/v1`). Las claves de testnet llevan el prefijo `ak_test_` y están totalmente aisladas de las cuentas de producción.
2.  **Clave de idempotencia en cada orden:** genera un `client_order_id` distinto para cada acción de usuario. Así evitas cobros dobles accidentales cuando hay cortes de red.
3.  **Revisa las entregas parciales:** mira el booleano `partial` de las órdenes. Si falta oferta, una orden puede completarse en parte; el resto se reembolsa automáticamente.
4.  **Transmite después de la confirmación:** espera el webhook `order.confirmed` o el estado `active` antes de transmitir la transacción de USDT TRC-20 que depende de ella en la red principal de TRON.

Para los detalles técnicos, revisa nuestra [guía de inicio rápido](/docs/quickstart), la [referencia de autenticación](/docs/authentication) y la [documentación de la API](/es/api).

## Fuentes

1.  [Especificación de la API de TEnergy: inicio rápido y ciclo de vida de una orden](https://tenergy.me/docs/quickstart) [↩](#cite-ref-1 "Volver al texto")
2.  [Especificación de la API de TEnergy: autenticación HMAC-SHA256](https://tenergy.me/docs/authentication) [↩](#cite-ref-2 "Volver al texto")
3.  [Guía para desarrolladores de TRON Stake 2.0 (delegateResource)](https://developers.tron.network/docs/stake-20) [↩](#cite-ref-3 "Volver al texto")
4.  [Contrato de Tether USD (USDT) TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t en Tronscan](https://tronscan.org/#/contract/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t) [↩](#cite-ref-4 "Volver al texto")

## Preguntas frecuentes

01

### ¿Cómo puede un bot automatizar el alquiler de energía TRON?

El backend de un bot llama a la API REST en cinco pasos: consulta una estimación pública, firma la solicitud con HMAC-SHA256, fija el precio con una cotización, envía una orden idempotente y espera los webhooks de confirmación.

02

### ¿Los bots necesitan una clave de API para ver los precios de la energía en tiempo real?

No. Los endpoints GET /v1/estimate y GET /v1/prices son públicos y no requieren encabezados de autenticación ni claves de API.

03

### ¿Cómo evita la API órdenes duplicadas si la solicitud de un bot se agota por tiempo?

Las órdenes aceptan un client\_order\_id único. Si hay un tiempo de espera agotado y el bot repite exactamente la misma solicitud, la API devuelve la orden original con estado 200 sin cobrar dos veces.

04

### ¿Un bot debe consultar el estado de la orden o usar webhooks?

Se recomiendan los webhooks con verificación de firma criptográfica para servidores con endpoints HTTPS públicos. Consultar GET /v1/orders/cid:{client\_order\_id} está disponible como alternativa para entornos locales.

¿No encontró su respuesta? Escríbanos por Telegram a [@tenergymebot](https://t.me/tenergymebot) o a [support@tenergy.me](mailto:support@tenergy.me) y la añadiremos aquí.
