HATI ZA Msanidi Programu
ERROR CODES
Orodha kamili ya misimbo ya hitilafu ya TronEnergy API yenye maelezo na hatua za utatuzi.
Kila jibu la hitilafu lina sehemu mbili: error (inayosomeka kwa mashine, thabiti, haibadiliki kamwe kati ya matoleo) na message (inasomeka kwa binadamu, inaweza kuboreshwa baada ya muda). Washa kila wakati error katika msimbo wako. Onyesha message kwa watumiaji.
Muundo wa Hitilafu
Majibu yote ya hitilafu hufuata muundo sawa:
error response
{
"error": "error_code_here",
"message": "Human-readable explanation"
}
Baadhi ya makosa yanajumuisha sehemu za ziada: ref (kitambulisho cha marejeleo cha jaribio la ugawaji) na refund (maelezo kuhusu kurejeshewa pesa kiotomatiki).
Makosa ya Uthibitishaji
| Nambari ya Hitilafu | HTTP | Sababu | Azimio |
|---|---|---|---|
invalid_tx_hash | 400 | tx_hash si kamba ya heksadi yenye herufi 64 | Angalia umbizo la hashi. Lazima iwe herufi 64 za heksaidi, bila kiambishi awali. |
invalid_address | 400 | delegate_to si anwani halali Tron | Thibitisha anwani kwa kutumia TronWeb .isAddress() kabla ya kupiga simu. |
missing_signature | 400 | Hakuna sahihi iliyotolewa katika ombi | Saini ujumbe {tx_hash}:{delegate_to} na tronWeb.trx.signMessageV2() kutoka kwenye pochi iliyotuma TRX . |
invalid_signature | 401 | Saini haikuweza kuthibitishwa | Hakikisha umesaini haswa {tx_hash}:{delegate_to} (heksi ya heksi yenye herufi ndogo, koloni, anwani halisi Tron ). |
signature_mismatch | 403 | Anwani ya mwenye kusaini hailingani na mtumaji wa malipo | Saini lazima itoke kwenye pochi ile ile iliyotuma malipo ya TRX . Pochi tofauti = imekataliwa. |
Makosa ya Malipo
| Nambari ya Hitilafu | HTTP | Sababu | Azimio |
|---|---|---|---|
payment_verification_failed | 404 / 400 | Malipo ya ndani ya mnyororo hayakuweza kuthibitishwa. message shamba linaelezea sababu maalum. | Sababu za kawaida: tx bado haijathibitishwa (subiri sekunde 3-5 na ujaribu tena mara moja), anwani isiyo sahihi ya mpokeaji, muamala si uhamisho wa TRX , chini ya kiwango cha chini cha TRX 4. |
hash_already_used | 409 | Hash hii ya tx tayari imedaiwa | Kila hash ya malipo inaweza kutumika mara moja tu. Tuma malipo mapya kwa ajili ya uwakilishi mpya. |
Makosa ya Huduma
| Nambari ya Hitilafu | HTTP | Sababu | Azimio |
|---|---|---|---|
delegation_failed | 400 / 500 | Mtoa huduma hakuweza kutoa ugawaji wa nishati | Ikiwa hitilafu ilitokea baada ya malipo yako kuthibitishwa, marejesho ya kiotomatiki yatawekwa kwenye foleni. Angalia refund kitu. Vinginevyo jaribu tena, au wasiliana na usaidizi kwa ref Kitambulisho. |
rate_limited | 429 | Maombi mengi sana kutoka kwa IP hii | Punguza mwendo na ujaribu tena. Kikomo ni maombi 20 kwa sekunde. |
server_error | 500 | Hitilafu ya ndani isiyotarajiwa | Jaribu tena baada ya sekunde chache. Ikiwa itaendelea, wasiliana na usaidizi kwa ref ikiwa inapatikana. |
Kushughulikia Makosa katika Msimbo
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);