Documentation index for AI agents

GS2-Exchange 스크립트 트리거 레퍼런스

확장 스크립트를 호출하는 이벤트 트리거의 레퍼런스

트리거

exchange

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelRateModel교환 레이트 모델
userIdstring교환을 실행하는 사용자 ID
countint교환량
configConfig[]트랜잭션 변수에 적용할 설정값
Result
타입필수기본값값 제한설명
permitbool
교환을 허용할지 여부
rateModestring
“float”배율 모드
ratefloat1.00 ~ 1000획득량 배율
logRateLogRate로그를 사용한 획득량 보정
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Business logic:
local permit = true
local rateMode = ""
local rate = 1.0
local logRate = nil

-- Result
result = {
  permit=permit,
  rateMode=rateMode,
  rate=rate,
  logRate=logRate
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelRateModel교환 레이트 모델
userIdstring교환을 실행하는 사용자 ID
countint교환량
configConfig[]트랜잭션 변수에 적용할 설정값
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

incrementalExchange

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelIncrementalRateModel교환 레이트 모델
userIdstring교환을 실행하는 사용자 ID
countint교환량
configConfig[]트랜잭션 변수에 적용할 설정값
Result
타입필수기본값값 제한설명
permitbool
교환을 허용할지 여부
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelIncrementalRateModel교환 레이트 모델
userIdstring교환을 실행하는 사용자 ID
countint교환량
configConfig[]트랜잭션 변수에 적용할 설정값
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local userId = args.userId
local count = args.count
local config = args.config

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}

calculateCost

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
incrementalRateModelIncrementalRateModel코스트 상승형 교환 모델
userIdstring사용자ID
currentExchangeCountint현재 교환 횟수
quantityint교환 수량
Result
타입필수기본값값 제한설명
costModestring
“num”코스트 계산 방법
costlong0 ~ 9223372036854775805코스트
logCostLogCost로그를 사용한 코스트 계산 결과
구현 예제
-- Request
local namespace = args.namespace
local incrementalRateModel = args.incrementalRateModel
local userId = args.userId
local currentExchangeCount = args.currentExchangeCount
local quantity = args.quantity

-- Business logic:
local costMode = ""
local cost = 0
local logCost = nil

-- Result
result = {
  costMode=costMode,
  cost=cost,
  logCost=logCost
}

acquireAwait

동기 실행 스크립트

처리 전에, 스크립트가 동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelRateModel교환 레이트 모델
awaitModelAwait교환 대기
Result
타입필수기본값값 제한설명
permitbool
교환 대기를 허용할지 여부
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local awaitModel = args.awaitModel

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

비동기 실행 스크립트

처리 후에, 스크립트가 비동기 실행됩니다.

Request
타입설명
namespaceNamespace네임스페이스
rateModelRateModel교환 레이트 모델
awaitModelAwait교환 대기
구현 예제
-- Request
local namespace = args.namespace
local rateModel = args.rateModel
local awaitModel = args.awaitModel

-- 비동기 스크립트는 일반적으로 API 응답에 영향을 주지 않습니다.
-- 로그 출력이나 분석, 외부 알림 등에 사용됩니다.

result = {
}