Kody błędów
Ta strona zawiera informacje o kodach błędów, które mogą być zwracane przez API TronZap.
Format odpowiedzi błędu
Gdy wystąpi błąd, API zwróci odpowiedź z niezerowym kodem błędu i komunikatem błędu:
json
{
"code": 1,
"key": "auth",
"request_id": "99d8b507-0bca-4d5a-9542-cc2a2f2e3639",
"error": "Incorrect token or signature"
}Lista kodów błędów
| Kod | Key | Opis | Rozwiązanie |
|---|---|---|---|
| 0 | — | Sukces | To nie jest błąd. Żądanie zakończyło się pomyślnie. |
| 1 | auth | Błąd uwierzytelniania | Sprawdź swój token API i upewnij się, że podpis jest obliczony poprawnie. |
| 2 | invalid_service_or_params | Nieprawidłowa usługa lub parametry | Sprawdź, czy nazwa usługi i parametry są poprawne. |
| 5 | wallet_not_found | Portfel nie znaleziony | Zweryfikuj adres portfela lub skontaktuj się z pomocą techniczną, jeśli uważasz, że to błąd. |
| 6 | insufficient_funds | Niewystarczające środki | Doładuj konto lub zmniejsz ilość żądanej energii. |
| 10 | invalid_tron_address | Nieprawidłowy adres TRON | Sprawdź format adresu TRON. Powinien to być prawidłowy 34-znakowy adres TRON. |
| 11 | invalid_energy_amount | Nieprawidłowa ilość energii | Upewnij się, że żądana ilość energii jest prawidłowa. |
| 12 | invalid_duration | Nieprawidłowy czas trwania | Sprawdź, czy parametr czasu trwania jest prawidłowy. |
| 20 | subscription_not_found | Nie znaleziono subskrypcji | Zweryfikuj, czy ID subskrypcji lub zewnętrzne ID jest poprawne. |
| 21 | cannot_stop_subscription | Nie można zatrzymać subskrypcji | Sprawdź limity subskrypcji; dostosuj limit transakcji lub zakończ oczekujące transakcje. |
| 24 | address_not_activated | Adres nie aktywowany | Najpierw aktywuj adres, wykonując transakcję aktywacji adresu. |
| 25 | address_already_activated | Adres już aktywowany | Adres jest już aktywowany. Nie trzeba podejmować działań. |
| 30 | aml_check_not_found | Nie znaleziono sprawdzenia AML | Wykonaj ponownie sprawdzenie AML lub skontaktuj się z pomocą techniczną w celu potwierdzenia statusu weryfikacji. |
| 35 | service_unavailable | Usługa niedostępna | Usługa jest tymczasowo niedostępna. |
| 500 | internal_server_error | Wewnętrzny błąd serwera | Skontaktuj się z pomocą techniczną, jeśli ten błąd będzie się powtarzać. |
Podklucze (Sub-keys)
Niektóre błędy mogą zawierać bardziej szczegółowy podklucz, który dostarcza dodatkowego kontekstu. Podklucze używają notacji kropkowej (np. invalid_tron_address.from_address).
| Klucz bazowy | Sub-key | Opis |
|---|---|---|
invalid_tron_address | invalid_tron_address.from_address | Nieprawidłowy adres nadawcy |
invalid_tron_address | invalid_tron_address.to_address | Nieprawidłowy adres odbiorcy |
invalid_tron_address | invalid_tron_address.contract_address | Nieprawidłowy adres kontraktu |
invalid_tron_address | invalid_tron_address.already_subscribed | Adres ma już aktywną subskrypcję |
invalid_service_or_params | invalid_service_or_params.network | Nieobsługiwana sieć |
invalid_service_or_params | invalid_service_or_params.address | Podany adres jest nieprawidłowy |
invalid_service_or_params | invalid_service_or_params.hash | Hash jest wymagany do sprawdzania hash |
invalid_service_or_params | invalid_service_or_params.direction | Nieprawidłowa wartość kierunku |
invalid_service_or_params | invalid_service_or_params.page | Nieprawidłowa strona |
invalid_service_or_params | invalid_service_or_params.per_page | Nieprawidłowy per_page |
invalid_service_or_params | invalid_service_or_params.status | Nieprawidłowy status |
invalid_service_or_params | invalid_service_or_params.id | Nieprawidłowe id / Wymagane jest id lub external_id |
invalid_service_or_params | invalid_service_or_params.external_id | Nieprawidłowe external_id |
invalid_service_or_params | invalid_service_or_params.address_owner | Adres należy do innego użytkownika |
invalid_service_or_params | invalid_service_or_params.internal_credit | Wewnętrzny kredyt jest niedozwolony |
invalid_service_or_params | invalid_service_or_params.amount | Kwota poza zakresem |
invalid_service_or_params | invalid_service_or_params.exchange_finalized | Wymiana zakończona |
invalid_service_or_params | invalid_service_or_params.exchange_state | Wymiana w nieprawidłowym stanie |
invalid_energy_amount | invalid_energy_amount.energy_amount | Nieprawidłowa ilość energii |
invalid_energy_amount | invalid_energy_amount.bandwidth_amount | Nieprawidłowa ilość przepustowości |
invalid_duration | invalid_duration.duration | Czas trwania musi być równy 1 (1 godzina) |
address_not_activated | address_not_activated.subscription | Adres musi być aktywowany przed zakupem subskrypcji |
subscription_not_found | subscription_not_found.transaction | Nie znaleziono transakcji |
Obsługa błędów
Podczas korzystania z API powinieneś zaimplementować logikę obsługi błędów dla wszystkich możliwych kodów błędów. Oto kilka rekomendacji:
Błędy uwierzytelniania (Kod 1)
Błędy uwierzytelniania wskazują na problemy z danymi uwierzytelniania API lub obliczaniem podpisu. Powinieneś:
- Zweryfikować, czy token API jest poprawny
- Sprawdzić logikę obliczania podpisu
- Upewnić się, że sekret API nie jest ujawniony w kodzie po stronie klienta
Błędy zasobów (Kody 5, 6, 10, 20)
Błędy zasobów wskazują na problemy z podanymi zasobami. Powinieneś:
- Walidować adresy TRON przed wysłaniem ich do API
- Sprawdzić saldo konta przed wykonaniem transakcji
- Zweryfikować ID transakcji podczas sprawdzania statusu
Błędy logiki biznesowej (Kody 24, 25)
Błędy logiki biznesowej wskazują na problemy z żądaną operacją. Powinieneś:
- Zaimplementować sprawdzanie aktywacji adresu przed próbą zakupu energii
- Pominąć aktywację adresu, jeśli jest już aktywowany
