Ҳар як ҷавоби хато дукунҷа майдон дорад: error (бинави мошин, ҳамвор, ҳарқадом байни версияҳо тағйир намеёбад) ва message (бинави инсон, метавонад бо гузишт бехтар шавад). Ҳамеша ба error ба коди худ табдил ёбед. Намоиш message ба корбарон.

Шакли хато

Ҳамаи ҷавобҳои хато як сохтори якхела риоя мекунанд:

посухи хатогӣ
{ "error": "error_code_here", "message": "Human-readable explanation" }

Баъзе хатоҳо қуллаҳои иловагиро дарбар мегиранд: ref (шунохаси ҳавола барои кӯшиши воколатдиҳӣ) ва refund (тафсилот дар бораи бозгардонидани худкори).

Хатоҳои Тасдиқкунӣ

Коди ХатоҳHTTPСабабҲал
invalid_tx_hash400tx_hash як сатри hex 64-ханҷари нестФормати хеши шумо барсӣ кунед. Бояд дақиқан 64 хонаи hex бошад, беғайра префикс.
invalid_address400delegate_to адреси Tron дилхоҳ нестАдресро бо TronWeb.isAddress() пеш аз даъват тасдиқ кунед.
missing_signature400Вақт имзо дар истидоди нестПаёми {tx_hash}:{delegate_to} бо tronWeb.trx.signMessageV2() аз ҳамён, ки TRX ирсол кард, имзо кунед.
invalid_signature401Имзои тасдиқ карда нашудМутаассис шумо дақиқан {tx_hash}:{delegate_to} (хеши hex хурдҳуроф, қавум, адреси Tron дақиқ) имзо кард.
signature_mismatch403Адреси имзокунанда адреси фиристандаи пардохт мутобиқ нестИмзо бояд аз ҳаммон ҳамён, ки пардохти TRX ирсол кард, бошад. Ҳамён гуногун = рад карда шуд.

Хатоҳои Пардохт

Коди ХатоҳHTTPСабабҲал
payment_verification_failed404 / 400Пардохти зинҷирӣ тасдиқ карда нашуд. Майдони message сабаби махсусро тавсиф мекунад.Сабабҳои маъмул: tx ҳалу ҷоӣ нашудаанд (3-5 сония интизор шавед ва як маротиба аз нав кӯшиш кунед), адреси қабулкунанда нодуруст, му'омила интиқоли TRX нест, пасти ҳадди ақали 4 TRX.
hash_already_used409Ин хеши tx аллакай даъво карда шудаистҲар як хеши пардохт танҳо як маротиба истифода карда мешавад. Барои воколатдиҳии нави пардохти нави ирсол кунед.

Хатоҳои Хидмат

Коди ХатоҳHTTPСабабҲал
delegation_failed400 / 500Фоъил наметавонист ҷаҳанбар энергиро ирсол кунадАгар шикост пас аз тасдиқи пардохти шумо ба вуҷуд омада бошад, бозгардонидани худкор сатр карда шудаист. Корибро барсӣ кунед refund объект. Агар не, кӯшиш кунед дубора ё бо дастгирӣ тамос гиред. ref шахсияти.
rate_limited429Аз ин IP адреси бисёр зиёд дархостҳоСуръати худро кам кунед ва кӯшиш кунед дубора. Ҳадди аксимум 20 дархост дар сония.
server_error500Хатои дохилии ғайримунтазири серверБаъди якчанд сонияҳо кӯшиш кунед дубора. Агар мувомолат давом ёбад, бо дастгирӣ тамос гиред ва ref агар дастрас бошад.

Коркард кардани Хатоҳо дар Код

идоракунии хатоҳои тавсияшуда
const result = await fetch('https://api.tronnrg.com/delegate', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ tx_hash: hash, delegate_to: addr, signature: sig }), }).then(r => r.json()); if (result.error) { switch (result.error) { case 'payment_verification_failed': // Most common: tx not yet indexed. Wait 3s and retry once. await new Promise(r => setTimeout(r, 3000)); return retry(hash, addr); case 'hash_already_used': // Already claimed. Don't retry. throw new Error('Duplicate delegation attempt'); case 'signature_mismatch': // Signer != payment sender. Sign with the same key. throw new Error('Signer does not match payment sender'); case 'delegation_failed': // Refund queued automatically if payment was verified. if (result.refund) console.log('Refund queued:', result.refund); break; default: console.error(result.error, result.message); } return; } // Success console.log('Delegated:', result.energy, 'energy'); console.log('Delegation tx:', result.delegations[0].tx); // verify on TronScan console.log('Ref:', result.ref);
Telegram WhatsApp