트랜잭션 조회 API의 에러 status
토큰 전송 트랜잭션을 만들었는데 토큰이 부족하다거나 한 것을 그 트랜잭션을 조회하여 status를 통하여 파악하고 있습니다.
그런데 이 status값이 이전 문서와 스펙에서는 "CommittedError" 였어서 이를 통해 서비스를 구현한 것으로 기억하는데, 현재의 문서를 확인 하니 "CommitError"로 되어 있는 것을 발견하였습니다. 우선, 이 변화가 의도되었고 공지가 되었나요?
https://www.klaytnapi.com/ko/resource/openapi/wallet/reference/operation/TransactionReceipt/
또한, 실제로 실행하였을 때 돌아오는 status 값은 "CommitError"가 아닌, "CommitError; 0x9"와 같은 문자열로 돌아와 문자열의 1:1 매칭으로 이 에러를 파악하기에 문제가 있어 보입니다. 뒤의 0x9 표시는 의도된 바인가요? 그렇다면 항상 고정되어 있는지, 아니면 0x5와 같은 값으로도 변할 수 있어서 startsWith와 같은 메서드로 이 에러를 파악하는 것이 권장사항인지 여쭙고 싶습니다.
-
안녕하세요,
먼저 해당 Wallet API 호출 시, "CommittedError", "CommitError" 두개 모두 응답값으로 올 수 있으며, 최근 변경된 사항은 없습니다.
status 값을 확인하실때는 세미콜론을 구분자로 사용하여 파싱 후에 나온 status 상태값과 txError 두가지를 가지고 확인하실 수 있습니다.
status 상태값은 기존에 사용하시던 문자열 비교를 사용하실 수 있으며,
txError 값은 아래 클레이튼 문서의 트랜잭션 에러 코드로 확인 가능하십니다.
값을 확인하실때 주의하실 사항 두가지 안내드립니다.
- 세미콜론(;)을 구분자로 사용하실때, txError 앞에 공백(스페이스)가 들어갑니다.
- 두번째는 트랜잭션 에러가 발생했을 때에만 세미콜론과 함께 txError 값이 내려가므로, 파싱 시에 사용하시는 언어에 따라 예외처리가 필요할 수 있습니다.
감사합니다.
0 -
안녕하세요,
전에 드린 답변에 부정확한 부분이 있어 정정하여 다시 답변드립니다.
미리 확인하지 못한 점 양해 부탁드립니다.
-
KAS는 내부적으로 관리하는 트랜잭션 상태(2~6)를 문자열로 치환하여 내려보내며 이하의 내용을 참고 부탁드립니다.
CommitError
를 제외하고, 문자열은 링크의 문서에 나와있는 것과 동일하며, 최근에 이 값에 대해 KAS에서 변경한 사항은 없습니다.-
status가 2일때 →
Pending
-
status가 3일때 →
Signed
-
status가 4일때 →
Submitted
-
status가 5일때 →
Committed
-
status가 6일때 →
CommitError
(현재 문서 트랜잭션 전송 의CommittedError
라고 표기된 것은 오타입니다. 수정 예정입니다.)
-
감사합니다.
0 -
댓글을 남기려면 로그인하세요.
댓글
댓글 2개