Upozornenie
Stav transakcie je dôležitým ukazovateľom pre aplikácie tretích strán. Informuje vás o tom, v akom stave sa transakcia nachádza a či je možné transakciu zopakovať. Neuvádza žiadne informácie o úspešnosti či neúspešnosti transakcie.
Žiadosť [transactionId]
Vstupná hodnota TransactionId sa vygeneruje v kroku 1 – Zaznamenanie transakcie.
void stateRequest(String transactionId, IStateResultListener listener) throws RemoteException
Odpoveď [StateResultEntity]
Stavy
Hneď ako dostanete informáciu o stave, DOKONČENÉ (v súčasnosti hodnoty 6, 7 a 8), môžete požiadavku považovať za uzavretú. V prípade stavu DOKONČENÉ (bod 6), mali by ste začať volať dotaz na podrobnosti transakcie, aby ste získali výsledok transakcie, pozri „4. Získanie podrobností o transakcii„
– Ak je isRepeatable == true, potom môžete transakciu zopakovať s rovnakou hodnotou transactionId, pozri Krok 2: Žiadosť o transakciu
– Ak je isRepeatable == false, nemôžete opakovať transakciu s rovnakou hodnotou transactionId, pozri Krok 2: Požiadavka na transakciu a musíte vygenerovať nové transactionId, pozri Krok 1: Registrácia transakcie.
Príklad odpovede na stav:
{„created“: “2023-09-11T12:29:11.300Z“, “error“: {„code“: 43, “internalErrorCode“: 0, “internalErrorSubCode“: 0, “platform“: “TOM_APP“} , “isRepeatable“:false,“resultCode“:0,“state“:8,“transactionId“: “d03484bc-509e-11ee-ba37-77691fde9486“, “updated“: “2023-09-11T12:30:34.337Z“}
Vysvetlenie: resultCode=0 znamená, že požiadavka bola úspešne spracovaná, stav=8 znamená, že transakcia je v stave „error“, code=43 uvádza podrobnú chybu, prečo úloha skončila chybou, a to podľa dokumentácie tu, hodnota „isRepeatable=false“ znamená, že nemôžete znovu volať TransactionRequestV2 s rovnakou hodnotou TransactionID.
