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

Формати хато

Ҳамаи посухҳои хатогӣ сохтори якхеларо риоя мекунанд:

error response
{ "error": "error_code_here", "message": "Human-readable explanation" }

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

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

Рамзи хатоHTTPСабабҚарор
invalid_tx_hash400tx_hash сатри шонздаҳӣ бо 64-рақама нестФормати хэшро санҷед. Он бояд дақиқ 64 аломати шонздаҳӣ бошад, бе префикс.
invalid_address400delegate_to суроғаи дурусти Tron нестПеш аз занг задан, суроғаро бо истифода аз TronWeb .isAddress() тасдиқ кунед.
missing_signature400Дар дархост имзо дода нашудаастПаёмро имзо кунед {tx_hash}:{delegate_to} бо tronWeb.trx.signMessageV2() аз ҳамёне, ки TRX фиристодааст.
invalid_signature401Имзо тасдиқ карда нашудБоварӣ ҳосил кунед, ки шумо дақиқ имзо кардаед {tx_hash}:{delegate_to} (ҳеши шонздаҳӣ бо ҳарфҳои хурд, ду нуқта, суроғаи дақиқи 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 ID.
rate_limited429Дархостҳои аз ҳад зиёд аз ин IPСуръатро суст кунед ва дубора кӯшиш кунед. Маҳдудият 20 дархост дар як сония аст.
server_error500Хатои дохилии ғайричашмдоштПас аз чанд сония дубора кӯшиш кунед. Агар ин кор идома ёбад, бо дастгирии ширкат тамос гиред ref агар дастрас бошад.

Коркарди хатогиҳо дар код

recommended error handling
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