GS2-Limit 트랜잭션 액션
검증/소비/입수 각 트랜잭션 액션의 사양
Verify Action
검증 액션
Gs2Limit:VerifyCounterByUserId
사용자 ID를 지정하여 카운터 값 검증
지정된 사용자의 카운터 값이 지정된 조건을 충족하는지 검증합니다.
less, lessEqual, greater, greaterEqual, equal, notEqual의 6가지 비교 연산자를 지원합니다.
수량 지정 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||||||||||
| limitName | string | ✓ | ~ 128자 | 사용 횟수 제한 모델 이름 이 카운터가 속한 사용 횟수 제한 모델의 이름입니다. 이 카운터 값에 적용되는 리셋 일정(매일, 매주, 매월 등)을 결정합니다. | ||||||||||||||||
| counterName | string | ✓ | ~ 128자 | 카운터 이름 사용 횟수 제한 모델 내에서 이 카운터를 고유하게 식별하는 이름입니다. 동일한 사용 횟수 제한 모델을 서로 다른 이름의 여러 카운터로 공유할 수 있어, 개별 사용 횟수 제한 모델을 만들지 않고도 별도의 사용 횟수 추적(예: 퀘스트별 또는 상품별로 카운터 1개)이 가능합니다. | ||||||||||||||||
| verifyType | 문자열 열거형 enum { “less”, “lessEqual”, “greater”, “greaterEqual”, “equal”, “notEqual” } | ✓ | 검증 종류
| |||||||||||||||||
| count | int | 0 | 0 ~ 2147483646 | 카운트 값 이 카운터의 현재 사용 횟수입니다. countUp 조작으로 증가하며, 이때 지정된 최대값과 비교됩니다. 사용 횟수 제한 모델의 리셋 시점에 도달하면 자동으로 0으로 리셋됩니다. | ||||||||||||||||
| multiplyValueSpecifyingQuantity | bool | true | 수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부 | |||||||||||||||||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Limit:VerifyCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"limitName": "[string]사용 횟수 제한 모델 이름",
"counterName": "[string]카운터 이름",
"verifyType": "[string]검증 종류",
"count": "[int]카운트 값",
"multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Limit:VerifyCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
limitName: "[string]사용 횟수 제한 모델 이름"
counterName: "[string]카운터 이름"
verifyType: "[string]검증 종류"
count: "[int]카운트 값"
multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("limit").verify.verify_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
limitName="[string]사용 횟수 제한 모델 이름",
counterName="[string]카운터 이름",
verifyType="[string]검증 종류",
count="[int]카운트 값",
multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
timeOffsetToken="[string]타임 오프셋 토큰",
})Consume Action
소비 액션
Gs2Limit:CountUpByUserId
사용자 ID를 지정하여 카운트업
지정된 사용자의 카운터를 지정된 카운트업 값만큼 증가시킵니다.
maxValue가 지정된 경우, 카운터는 해당 상한을 초과하지 않습니다. 작업이 최대값을 초과하는 경우 Overflow 오류가 반환됩니다.
카운터가 아직 존재하지 않는 경우, 자동으로 생성됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| limitName | string | ✓ | ~ 128자 | 사용 횟수 제한 모델 이름 이 카운터가 속한 사용 횟수 제한 모델의 이름입니다. 이 카운터 값에 적용되는 리셋 일정(매일, 매주, 매월 등)을 결정합니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 이름 사용 횟수 제한 모델 내에서 이 카운터를 고유하게 식별하는 이름입니다. 동일한 사용 횟수 제한 모델을 서로 다른 이름의 여러 카운터로 공유할 수 있어, 개별 사용 횟수 제한 모델을 만들지 않고도 별도의 사용 횟수 추적(예: 퀘스트별 또는 상품별로 카운터 1개)이 가능합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| countUpValue | int | 1 | 1 ~ 2147483646 | 카운트업할 양 | ||
| maxValue | int | 1 ~ 2147483646 | 카운트업을 허용하는 최댓값 | |||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Limit:CountUpByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"limitName": "[string]사용 횟수 제한 모델 이름",
"counterName": "[string]카운터 이름",
"userId": "[string]사용자ID",
"countUpValue": "[int]카운트업할 양",
"maxValue": "[int]카운트업을 허용하는 최댓값",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Limit:CountUpByUserId
request:
namespaceName: "[string]네임스페이스 이름"
limitName: "[string]사용 횟수 제한 모델 이름"
counterName: "[string]카운터 이름"
userId: "[string]사용자ID"
countUpValue: "[int]카운트업할 양"
maxValue: "[int]카운트업을 허용하는 최댓값"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("limit").consume.count_up_by_user_id({
namespaceName="[string]네임스페이스 이름",
limitName="[string]사용 횟수 제한 모델 이름",
counterName="[string]카운터 이름",
userId="[string]사용자ID",
countUpValue="[int]카운트업할 양",
maxValue="[int]카운트업을 허용하는 최댓값",
timeOffsetToken="[string]타임 오프셋 토큰",
})Acquire Action
입수 액션
Gs2Limit:CountDownByUserId
사용자 ID를 지정하여 카운트다운
지정된 사용자의 카운터를 지정된 카운트다운 값만큼 감소시킵니다.
카운터 값은 0 미만으로 내려가지 않습니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| limitName | string | ✓ | ~ 128자 | 사용 횟수 제한 모델 이름 이 카운터가 속한 사용 횟수 제한 모델의 이름입니다. 이 카운터 값에 적용되는 리셋 일정(매일, 매주, 매월 등)을 결정합니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 이름 사용 횟수 제한 모델 내에서 이 카운터를 고유하게 식별하는 이름입니다. 동일한 사용 횟수 제한 모델을 서로 다른 이름의 여러 카운터로 공유할 수 있어, 개별 사용 횟수 제한 모델을 만들지 않고도 별도의 사용 횟수 추적(예: 퀘스트별 또는 상품별로 카운터 1개)이 가능합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| countDownValue | int | 1 | 1 ~ 2147483646 | 카운트다운할 양 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Limit:CountDownByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"limitName": "[string]사용 횟수 제한 모델 이름",
"counterName": "[string]카운터 이름",
"userId": "[string]사용자ID",
"countDownValue": "[int]카운트다운할 양",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Limit:CountDownByUserId
request:
namespaceName: "[string]네임스페이스 이름"
limitName: "[string]사용 횟수 제한 모델 이름"
counterName: "[string]카운터 이름"
userId: "[string]사용자ID"
countDownValue: "[int]카운트다운할 양"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("limit").acquire.count_down_by_user_id({
namespaceName="[string]네임스페이스 이름",
limitName="[string]사용 횟수 제한 모델 이름",
counterName="[string]카운터 이름",
userId="[string]사용자ID",
countDownValue="[int]카운트다운할 양",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Limit:DeleteCounterByUserId
사용자 ID를 지정하여 카운터 삭제
지정된 사용자의 카운터를 삭제하고 사용 횟수를 리셋합니다.
이를 통해 이 카운터에 대한 횟수 제한이 실질적으로 해제되어, 사용자는 다시 0부터 카운트를 시작할 수 있습니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| limitName | string | ✓ | ~ 128자 | 사용 횟수 제한 모델 이름 이 카운터가 속한 사용 횟수 제한 모델의 이름입니다. 이 카운터 값에 적용되는 리셋 일정(매일, 매주, 매월 등)을 결정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 이름 사용 횟수 제한 모델 내에서 이 카운터를 고유하게 식별하는 이름입니다. 동일한 사용 횟수 제한 모델을 서로 다른 이름의 여러 카운터로 공유할 수 있어, 개별 사용 횟수 제한 모델을 만들지 않고도 별도의 사용 횟수 추적(예: 퀘스트별 또는 상품별로 카운터 1개)이 가능합니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Limit:DeleteCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"limitName": "[string]사용 횟수 제한 모델 이름",
"userId": "[string]사용자ID",
"counterName": "[string]카운터 이름",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Limit:DeleteCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
limitName: "[string]사용 횟수 제한 모델 이름"
userId: "[string]사용자ID"
counterName: "[string]카운터 이름"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("limit").acquire.delete_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
limitName="[string]사용 횟수 제한 모델 이름",
userId="[string]사용자ID",
counterName="[string]카운터 이름",
timeOffsetToken="[string]타임 오프셋 토큰",
})