Figyelmeztetés
A tranzakció státusza fontos mutató a harmadik féltől származó alkalmazások számára. Megmutatja, hogy a tranzakció milyen állapotban van, és hogy a tranzakciót meg lehet-e próbálni újra. A tranzakció sikerességéről/sikertelenségéről nem mond semmit.
Kérés [transactionId]
A TransactionId bemeneti értéket az 1. lépés - Tranzakció regisztrálása során generáljuk.
void stateRequest(String transactionId, IStateResultListener listener) throws RemoteException
Válasz [StateResultEntity]
Állapot
Amint a kapott státusz BEFEJEZETT (jelenleg 6,7 és 8 értékek), meg kell kezdenie a tranzakció részleteit lekérdezni, hogy megkapja a tranzakció eredményét, lásd"4.A tranzakció részleteinek lekérdezése".
- Ha az isRepeatable == true, akkor megismételheti a tranzakciót ugyanazzal a transactionId értékkel, lásd 2. lépés: Tranzakciókérelem.
- Ha az isRepeatable == false, akkor nem lehet megismételni egy tranzakciót ugyanazzal a transactionId értékkel, lásd 2. lépés: Tranzakciókérelem, és új transactionId-t kell létrehozni, lásd 1. lépés: Tranzakció regisztrálása.
- Ha az IN_PROGRESS állapotot kapja vissza, meg kell várnia a tranzakció befejezését, azaz 500 ms múlva küldhet újra kérdést.
Ha az IN_PROGRESS állapot 5 percnél régebbi, akkor a tranzakciót sikertelenként kell feldolgozni.
Példa egy kérésre adott válaszra:
{„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“}
Magyarázat: resultCode=0 azt jelenti, hogy a kérést sikeresen feldolgozták, status=8 azt jelenti, hogy a tranzakció "hiba" állapotban van, code=43 részletes hibaüzenetet ad arról, hogy a feladat miért végződött hibával az itteni dokumentáció szerint, az "isRepeatable=false" érték azt jelenti, hogy nem hívható meg újra a TransactionRequestV2 ugyanazzal a TransactionID értékkel.