ডেভেলপার ডকস
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 একটি ৬৪-অক্ষরের হেক্স স্ট্রিং নয় | হ্যাশ ফরম্যাটটি যাচাই করুন। এটি অবশ্যই হুবহু ৬৪টি হেক্স ক্যারেক্টারের হতে হবে এবং কোনো প্রিফিক্স ব্যবহার করা যাবে না। |
invalid_address | 400 | delegate_to একটি বৈধ Tron ঠিকানা নয় | কল করার আগে TronWeb .isAddress() ব্যবহার করে ঠিকানাটি যাচাই করুন। |
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 ক্ষেত্রটি নির্দিষ্ট কারণ বর্ণনা করে। | সাধারণ কারণসমূহ: লেনদেন এখনো নিশ্চিত হয়নি (৩-৫ সেকেন্ড অপেক্ষা করুন এবং একবার পুনরায় চেষ্টা করুন), ভুল প্রাপকের ঠিকানা, লেনদেনটি TRX ট্রান্সফার নয়, সর্বনিম্ন ৪ TRX কম। |
hash_already_used | 409 | এই tx হ্যাশটি ইতিমধ্যেই দাবি করা হয়েছে। | প্রতিটি পেমেন্ট হ্যাশ শুধুমাত্র একবার ব্যবহার করা যাবে। নতুন ডেলিগেশনের জন্য একটি নতুন পেমেন্ট পাঠান। |
পরিষেবা ত্রুটি
| ত্রুটি কোড | HTTP | কারণ | সমাধান |
|---|---|---|---|
delegation_failed | 400 / 500 | সরবরাহকারী শক্তি সরবরাহ করতে পারেনি | আপনার পেমেন্ট যাচাই হওয়ার পরে যদি ব্যর্থতা ঘটে থাকে, তাহলে একটি স্বয়ংক্রিয় রিফান্ড সারিবদ্ধ করা হয়। refund আপত্তি। অন্যথায় পুনরায় চেষ্টা করুন, অথবা সহায়তার সাথে যোগাযোগ করুন। ref আইডি। |
rate_limited | 429 | এই আইপি থেকে অনেক বেশি অনুরোধ এসেছে | গতি কমিয়ে আবার চেষ্টা করুন। প্রতি সেকেন্ডে অনুরোধের সীমা ২০টি। |
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);