SDK
Платформа предоставляет два официальных SDK, которые автоматически подписывают каждый запрос в соответствии со спецификацией API и проверяют подлинность вебхуков. Для других языков программирования вы можете сгенерировать клиент напрямую из openapi.yaml.
| Язык | TypeScript | Python |
|---|---|---|
| Пакет | @tenergy/sdk (npm) | tenergy (PyPI) |
| Установка | npm install @tenergy/sdk | pip install tenergy; асинхронный: pip install "tenergy[async]" |
| Зависимости | нет (WebCrypto: Node 22+, Bun, Deno, Workers, браузеры) | нет; асинхронный клиент добавляет httpx |
| Стиль | async/await | Client (блокирующий) или AsyncClient (await, asyncio) |
| Проверка вебхука | verifyWebhookSignature(secret, timestamp, rawBody, signature) | verify_signature(secret, headers, body, tolerance_seconds=300) |
| Пример проекта | tenergy-examples-ts | tenergy-examples-py |
| Подробный справочник | TypeScript SDK | текущая страница |
TypeScript
import { TenergyClient } from "@tenergy/sdk";
const client = new TenergyClient({ baseUrl: "https://api-nile.tenergy.me/v1", apiKey: process.env.TENERGY_KEY!, apiSecret: process.env.TENERGY_SECRET! });
const quote = await client.createQuote({ resource: "energy", amount: 65_000, tier: "1h", receiver });
const order = await client.createOrder({ quote_id: quote.id, client_order_id: `qs-${crypto.randomUUID()}` });
const settled = await client.waitForOrder(order.id, { timeoutMs: 120_000 });
Python
import os, uuid
from tenergy import Client
client = Client(api_key=os.environ["TENERGY_KEY"], api_secret=os.environ["TENERGY_SECRET"], base_url="https://api-nile.tenergy.me/v1")
quote = client.create_quote({"resource": "energy", "amount": 65000, "tier": "1h", "receiver": receiver})
order = client.create_order({"quote_id": quote["id"], "client_order_id": f"qs-{uuid.uuid4()}"})
client.wait_for_order(order["id"]) вернёт заказ, когда статус станет active; либо ожидайте событие order.confirmed через вебхук.
Готовые примеры проектов для запуска
Оба quickstart проходят весь путь: тестовые кошельки → регистрация → депозит → оценка перевода → аренда энергии → настоящий перевод токена без сжигания TRX. Каждый шаг выводит подробный лог; при возникновении ошибок отображаются код ошибки slug и идентификатор запроса request_id.
| Проект | Команда запуска | Требования |
|---|---|---|
| tenergy-examples-ts | npm install && npm run quickstart | Node.js 22.9+; больше ничего — пример сам создаёт тестовые кошельки и регистрируется в Nile |
| tenergy-examples-py | pip install -e . && python quickstart.py | Python 3.9+; больше ничего — пример сам создаёт тестовые кошельки и регистрируется в Nile |
Ключи доступны сразу после регистрации; средства на балансе нужны только для шага непосредственной покупки.