# Надёжные заказы энергии: идемпотентность и сверка Практический подход к API TRONow: точные SUN, стабильный идентификатор заказа, проверка после тайм-аута и защита от повторной обработки уведомлений. Canonical: https://tronow.io/ru/guides/reliable-energy-integration/ Reviewed by TRONow · 2026-09-12 ## Создайте локальный заказ До запроса сохраните уникальный client_order_id, количество, срок и получателя. Ограничение уникальности в базе защитит от параллельного создания одной операции. Это технический пример, а не клиентский кейс. ## Получите точную котировку GET /prices/quote должен соответствовать фактическому заказу. Сохраните quote_id, сумму и expires_at. Используйте целые SUN или точный десятичный тип. При изменении параметров запросите новую котировку. ## Подпишите отправляемые байты Храните ключи на сервере. Сериализуйте JSON один раз и подпишите именно отправляемое тело по спецификации. Исключите секреты и заголовки авторизации из журналов. ## Сохраните ключ идемпотентности Кроме client_order_id, POST /orders требует Idempotency-Key из 8–128 видимых ASCII-символов. Сохраните ключ и точное тело до отправки. При повторе неопределённого запроса оставьте их прежними, но обновите timestamp, nonce и подпись. Меняйте просроченную котировку только после выяснения результата предыдущего запроса. Правила Webhook приведены в публичном Skill; активация адреса не имеет Webhook и требует опроса. ## Проверяйте неопределённый результат После тайм-аута POST /orders вызовите GET /orders?client_order_id={client_order_id}. Отслеживайте существующий заказ. При допустимом повторе сохраняйте идентификатор и параметры; конфликт идемпотентности требует проверки. ## Не путайте принятие с доставкой Сохраняйте платформенный номер и переходы статуса. Обновляйте исполнение по конечному результату и свидетельству доставки, а не только HTTP-успеху. Сохраняйте ошибки и состояния проверки для операторов. ## Проверяйте уведомления Верифицируйте подпись Webhook по контракту и исключайте повторы по ID события. Подтверждайте приём после надёжного сохранения или обработки. При расхождении состояний выполняйте сверку через запрос заказа. ## Ограничивайте повторы Используйте тайм-ауты, ограниченную экспоненциальную задержку и бюджет повторов. Записывайте номера и безопасные коды ошибок. До запуска проверьте недостаток баланса, просроченную котировку, дубликаты, тайм-аут после принятия и неверную подпись. Формат запросов задаёт публичный контракт. ## Библиотека - [Энергия TRON и комиссии за перевод USDT](https://tronow.io/ru/guides/tron-energy-usdt/) - [Надёжная покупка энергии TRON через API](https://tronow.io/ru/guides/tron-energy-api/) - [О TRONow: аренда энергии TRON и API](https://tronow.io/ru/about/) - [Как рассчитывается цена энергии TRONow](https://tronow.io/ru/pricing/) - [TRONow: вопросы о покупке, пополнении и API](https://tronow.io/ru/faq/) ## Ресурсы для разработчиков - [OpenAPI](https://tronow.io/developers/openapi.yaml) - [Skill: authentication, idempotency, webhook verification](https://tronow.io/developers/tronow-connect/SKILL.md) - [Node.js](https://tronow.io/developers/tronow-connect/client.mjs)