SDK
Платформа предоставляет два официальных SDK, которые автоматически подписывают каждый запрос в соответствии со спецификацией API и проверяют подлинность вебхуков. Для других языков программирования вы можете сгенерировать клиент напрямую из openapi.yaml.
| Язык | TypeScript | Python |
|---|---|---|
| Пакет | @tenergy/sdk (npm) | tenergy (PyPI) |
| Установка | npm install @tenergy/sdk | pip install tenergy |
| Проверка вебхука | 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.get_order(order["id"]) до статуса active либо ожидать событие order.confirmed через вебхук.
Готовые примеры проектов для запуска
Проекты наглядно демонстрируют весь цикл: запрос цен → расчет стоимости → настройка ключа → депозит → заказ → завершение. Каждый шаг выводит подробный лог; при возникновении ошибок отображаются код ошибки slug и идентификатор запроса request_id.
| Проект | Команда запуска | Требования |
|---|---|---|
examples/ts-quickstart | npm install && npx tsx quickstart.ts | Node.js 18+; переменные TENERGY_KEY/TENERGY_SECRET либо автоматическая регистрация одноразового кошелька в Nile |
examples/py-quickstart | pip install -e . && python quickstart.py | Python 3.9+; ключи TENERGY_KEY/TENERGY_SECRET из кабинета |
Ключи доступны сразу после регистрации; средства на балансе нужны только для шага непосредственной покупки.