डेवलपर दस्तावेज़
ERROR CODES
TronEnergy API त्रुटि कोड की पूरी सूची, विवरण और समाधान के चरण सहित।
प्रत्येक त्रुटि प्रतिक्रिया में दो फ़ील्ड होते हैं: error (मशीन-पठनीय, स्थिर, संस्करणों के बीच कभी नहीं बदलता) और message (मानव-पठनीय, समय के साथ इसमें सुधार किया जा सकता है)। हमेशा चालू रखें error आपके कोड में। प्रदर्शित करें message उपयोगकर्ताओं के लिए।
त्रुटि प्रारूप
सभी त्रुटि प्रतिक्रियाओं की संरचना एक जैसी होती है:
error response
{
"error": "error_code_here",
"message": "Human-readable explanation"
}
कुछ त्रुटियों में अतिरिक्त फ़ील्ड शामिल होते हैं: ref (प्रतिनिधिमंडल प्रयास के लिए एक संदर्भ आईडी) और refund (स्वचालित रिफंड के बारे में विवरण)।
सत्यापन त्रुटियाँ
| त्रुटि कोड | HTTP | कारण | संकल्प |
|---|---|---|---|
invalid_tx_hash | 400 | tx_hash 64 वर्णों वाली हेक्स स्ट्रिंग नहीं है | हैश प्रारूप की जाँच करें। इसमें ठीक 64 हेक्स अक्षर होने चाहिए, कोई उपसर्ग नहीं होना चाहिए। |
invalid_address | 400 | delegate_to एक मान्य Tron पता नहीं है | कॉल करने से पहले TronWeb () का उपयोग करके पते को सत्यापित करें। |
missing_signature | 400 | अनुरोध में कोई हस्ताक्षर नहीं दिए गए हैं | संदेश पर हस्ताक्षर करें {tx_hash}:{delegate_to} साथ tronWeb.trx.signMessageV2() उस वॉलेट से जिसने TRX भेजा था। |
invalid_signature | 401 | हस्ताक्षर सत्यापित नहीं हो सके | सुनिश्चित करें कि आपने सही ढंग से हस्ताक्षर किए हैं {tx_hash}:{delegate_to} (लोअरकेस हेक्स हैश, कोलन, सटीक Tron पता)। |
signature_mismatch | 403 | हस्ताक्षरकर्ता का पता भुगतान भेजने वाले के पते से मेल नहीं खाता है। | हस्ताक्षर उसी वॉलेट से आना चाहिए जिससे TRX भुगतान भेजा गया था। यदि भुगतान किसी अन्य वॉलेट से हुआ है तो वह अस्वीकृत हो जाएगा। |
भुगतान त्रुटियाँ
| त्रुटि कोड | HTTP | कारण | संकल्प |
|---|---|---|---|
payment_verification_failed | 404 / 400 | ऑन-चेन भुगतान का सत्यापन नहीं हो सका। message यह क्षेत्र विशिष्ट कारण का वर्णन करता है। | सामान्य कारण: लेनदेन की पुष्टि नहीं हुई है (3-5 सेकंड प्रतीक्षा करें और एक बार फिर प्रयास करें), प्राप्तकर्ता का पता गलत है, लेनदेन TRX हस्तांतरण नहीं है, न्यूनतम 4 TRX से कम है। |
hash_already_used | 409 | इस लेनदेन का हैश पहले ही किसी और ने ले लिया है। | प्रत्येक भुगतान हैश का उपयोग केवल एक बार किया जा सकता है। नए प्रतिनिधिमंडल के लिए नया भुगतान भेजें। |
सेवा त्रुटियाँ
| त्रुटि कोड | HTTP | कारण | संकल्प |
|---|---|---|---|
delegation_failed | 400 / 500 | प्रदाता ऊर्जा प्रतिनिधिमंडल को पहुंचाने में असमर्थ रहा। | यदि भुगतान सत्यापित होने के बाद विफलता हुई है, तो स्वचालित धनवापसी प्रक्रिया शुरू हो जाएगी। जाँच करें refund ऑब्जेक्ट। अन्यथा पुनः प्रयास करें, या सहायता के साथ संपर्क करें। ref पहचान। |
rate_limited | 429 | इस आईपी से बहुत अधिक अनुरोध आ रहे हैं। | गति धीमी करें और पुनः प्रयास करें। सीमा 20 अनुरोध प्रति सेकंड है। |
server_error | 500 | अप्रत्याशित आंतरिक त्रुटि | कुछ सेकंड बाद पुनः प्रयास करें। यदि समस्या बनी रहती है, तो सहायता विभाग से संपर्क करें। 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);