Transaction#

SHELL 전송을 위한 API 를 제공합니다.

컨텐츠를 이용하거나 사용자 간 혹은 서비스 운영자가 사용자에게 SHELL 을 지급할 때 사용될 수 있습니다.


사용자 SHELL App 지갑으로 SHELL 지급 (Type1.컨텐츠 지급, 운영자 지급)#

개발사는 다양한 요구사항에 따라 사용자에게 SHELL을 지급할 수 있습니다 (게임 플레이에 대한 보상 등).

operationNo 값은, 다수의 운영자 지갑을 설정하기 위한 관리목적의 순번으로 BORA Atoll Console 에서 확인하실 수 있습니다.

Request

  • HOST:

    api.boraecosystem.com

  • URI:

    /v1/app/token/operations/{operationNo}/give

  • METHOD:

    POST

Parameters

Parameter Required Values Description Parameter type Data Type
Authorization * Bearer {Client's AccessToken} header string
operationNo * 사용자에게 보낼 운영자 지갑 번호 path integer
toAddr * 지급받을 사용자 지갑 주소 jsonData string, length(42)
amount * 지급할 토큰 개수 jsonData integer
reasonType * 지급 사유 jsonData string

Response

{
    "status": integer,
    "data" : {
        "tx_app_no": integer,   // 발급받은 App 번호
        "tx_log_no": integer    // transaction 번호
    }
}

Error

{
  "status": "406",
  "error": {
    "code": "198",
    "message": "잔고가 부족하여 보낼 수 없습니다.\n현재 보유 잔고는 0.000 Shell 입니다."
  }
}

Sample:

Sample Request:

curl -X POST "https://api.boraecosystem.com/v1/app/token/operations/3/give" -H "Authorization: Bearer {Client's AccessToken}" -d "{\"toAddr\":\"0xe58e40601926d9daad434a211e945128699d81f6\",\"amount\":10,\"reasonType\":\"item\"}"

Sample Response:

{
  "status": 200,
  "data": {
    "tx_app_no": 100012,    // 발급받은 App 번호
    "tx_log_no": 1570,      // transaction 번호
  }
}

사용자 SHELL App 지갑으로 SHELL 지급 (Type2.이벤트 지급)#

개발사는 사용자에게 SHELL 을 지급하는 이벤트를 진행할 수 있습니다. 다만 이벤트의 경우 로직 버그 나 어뷰징 등의 이유로 과다 지급되는 사례들이 많아, BORA 플랫폼 내에 이런 상황을 대비한 이벤트 전용 API 를 별도로 제공하고 있습니다.

사용자 SHELL 차감 요청#

개발사는 컨텐츠 사용에 대한 댓가로 사용자 SHELL을 차감시킬 수 있습니다. (아이템 구매, 게임 입장료 징수 등). 차감되는 SHELL 은 운영자 지갑으로 입금 됩니다.

Request

  • HOST:

    api.boraecosystem.com

  • URI:

    /v1/app/token/operations/receive-from

  • METHOD:

    POST

Request Parameters

Parameter Required Values Description Parameter type Data Type
Authorization * Bearer {Client's AccessToken} header string
fromAddr * 차감할 사용자 지갑 주소 jsonData string, length(42)
amount * 차감할 토큰 개수 jsonData integer
feeAmount * 차감시 수수료 jsonData integer
reasonType * 차감 사유 jsonData string

Response

{
    "status": integer,
    "data" : {
        "tx_app_no": integer,   // 발급받은 App 번호
        "tx_log_no": integer    // transaction 번호
    }
}

Error

{
  "status": "406",
  "error": {
    "code": "198",
    "message": "잔고가 부족하여 보낼 수 없습니다.\n현재 보유 잔고는 0.000 Shell 입니다."
  }
}

Sample:

Sample Request:

curl -X POST "http://api.boraecosystem.com/v1/app/token/operations/receive-from" -H "accept: */*" -H "Authorization: Bearer {Client's AcessToken}" -d "{\"fromAddr\":\"0x581106237366a1f4526fdee738139196ccd9bc11\",\"amount\":10,\"feeAmount\":0,\"reasonType\":\"item\"}"

Sample Response:

{
    "status":200,
    "data" : {
        "tx_app_no": 100004,  // 발급받은 App 번호
        "tx_log_no": 84       // transaction 번호
    }
}

콘텐츠 사용자 간 SHELL 송금#

컨텐츠 내용에 따라 사용자들간에 위해 SHELL을 전송할 수 있습니다. (옥션, 오픈마켓, PVP 대전 등)

Request

  • HOST:

    api.boraecosystem.com

  • URI:

    /v1/app/token/accounts/transfer

  • METHOD:

    POST

Request Parameters

Parameter Required Values Description Parameter type Data Type
Authorization * Bearer {Client's AccessToken} header string
fromAddr * 송금자 지갑 주소 jsonData string, length(42)
toAddr * 수신자 지갑 주소 jsonData string, length(42)
amount * 지급할 토큰 개수 jsonData integer
feeAmount * 수수료 jsonData integer
reasonType * 지급 사유 jsonData string

Response

{
    "status" : integer ,
    "data" : {
        "tx_app_no": integer,    // 발급받은 App 번호
        "tx_log_no": integer     // transaction 번호
    }
}

Error

{
  "status": "406",
  "error": {
    "code": "398",
    "message": "계정의 지갑 주소를 찾을 수 없습니다 . 다시 확인 후 시도해주세요 ."
  }
}

Sample:

Sample Request:

curl -X POST "https://api.boraecosystem.com/v1/app/token/accounts/transfer" -H "Authorization: Bearer {Client's AccessToken}"  -d "{\"fromAddr\":\"0x581106237366a1f4526fdee738139196ccd9bc11\",\"toAddr\":\"0x1dab31a637f05512fafb1c52568bf1c85ac70410\",\"amount\":10,\"feeAmount\":0,\"reasonType\":\"item\"}"

Sample Response:

{
  "status": 200,
  "data": {
    "tx_app_no": 100012,      // 발급받은 App 번호
    "tx_log_no": 1570,        // transaction 번호
  }
}

Error Code#

Status Code Description
500 999 확인되지 않은 오류. 잠시 후 다시 시도해주세요.
500 997 잘못된 파라미터 값이 입력되었습니다.
500 499 잔액 조회 오류. 잠시 후 다시 시도해주세요.
406 401 Unauthorized
406 399 잘못된 파라미터 값이 입력되었습니다.
406 398 계정의 지갑 주소를 찾을 수 없습니다 . 다시 확인 후 시도해주세요 .
406 397 Deposit 혹은 Withdrawal의 대상 APP No. 설정 오류. method(:method)
406 396 거래 내역이 존재하지 않습니다.
406 199 계정의 지갑 주소가 탈퇴 혹은 제재 중인 상태입니다.
406 198 잔고가 부족하여 보낼 수 없습니다.\n현재 보유 잔고는 :amount 입니다.
406 197 회원 지갑 주소 상태 값 변경에 실패했습니다. 다시 확인 후 시도해주세요.
406 196 수수료를 포함한 잔고가 부족하여 보낼 수 없습니다.\nuser amount ( :amount ) send amount ( :sendAmount )
406 299 0 이하 값의 토큰은 전송할 수 없습니다.\n전송 요청하신 토큰 수량은 :sendAmount 입니다.
406 298 정수가 아닌 소수점 수량의 토큰 전송은 불가능합니다. 전송 요청하신 토큰 수량은 ( :sendAmount )
406 297 최소 전송 수량인 :transferMin 보다 작은 수량은 전송할 수 없습니다.\n전송 요청 수량은 :sendAmount 입니다
406 296 1회 최대 전송 수량인 :transferMax 보다 큰 수량은 전송할 수 없습니다.\n전송 요청 수량은 :sendAmount 입니다
406 295 최근 24시간 기준 :onedayLimit 수량을 초과하여 전송할 수 없습니다.\n현재까지 24시간 기준 누적 전송 수량은 :onedaySendAmount 이며 전송 요청 수량은 :sendAmount 입니다.
406 294 전송받는 수량이 소수점이 되어 전송할 수 없습니다.\n수수료 값을 확인해주세요. 전송받는 수량 ( :recvAmount )