GS2-SerialKey 트랜잭션 액션
검증/소비/입수 각 트랜잭션 액션의 사양
Verify Action
검증 액션
Gs2SerialKey:VerifyCodeByUserId
사용자 ID를 지정하여 시리얼 코드의 유효성 확인
지정된 사용자의 시리얼 코드를 소비하지 않고 검증합니다. 특정 캠페인 모델 이름에 대한 검증을 지원하며, 코드가 active(미사용)인지 inactive(사용 완료)인지 확인할 수 있습니다.
수량 지정 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||
| code | string | ✓ | ~ 48자 | 시리얼 코드 “XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다. | ||||||||
| campaignModelName | string | ~ 128자 | 캠페인 이름 이 시리얼 코드가 속한 캠페인 모델의 이름입니다. 캠페인 정보는 시리얼 코드 자체에 포함되어 있으므로 코드를 사용할 때는 네임스페이스만 지정하면 됩니다. | |||||||||
| verifyType | 문자열 열거형 enum { “active”, “inactive” } | ✓ | 검증 타입
| |||||||||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2SerialKey:VerifyCodeByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"code": "[string]시리얼 코드",
"campaignModelName": "[string]캠페인 이름",
"verifyType": "[string]검증 타입",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2SerialKey:VerifyCodeByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
code: "[string]시리얼 코드"
campaignModelName: "[string]캠페인 이름"
verifyType: "[string]검증 타입"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("serialKey").verify.verify_code_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
code="[string]시리얼 코드",
campaignModelName="[string]캠페인 이름",
verifyType="[string]검증 타입",
timeOffsetToken="[string]타임 오프셋 토큰",
})Consume Action
소비 액션
Gs2SerialKey:UseByUserId
사용자 ID를 지정하여 시리얼 코드 사용 처리
지정된 사용자에 의해 시리얼 코드를 사용 완료로 표시합니다. 코드가 존재하고 아직 사용되지 않았음을 검증합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| code | string | ✓ | ~ 48자 | 시리얼 코드 “XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2SerialKey:UseByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"code": "[string]시리얼 코드",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2SerialKey:UseByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
code: "[string]시리얼 코드"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("serialKey").consume.use_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
code="[string]시리얼 코드",
timeOffsetToken="[string]타임 오프셋 토큰",
})Acquire Action
입수 액션
Gs2SerialKey:RevertUseByUserId
사용자 ID를 지정하여 시리얼 코드 미사용 처리
사용 완료된 시리얼 코드를 미사용 상태로 되돌립니다. 되돌리기 전에 코드가 현재 사용 완료 상태임을 검증합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| code | string | ✓ | ~ 48자 | 시리얼 코드 “XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2SerialKey:RevertUseByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"code": "[string]시리얼 코드",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2SerialKey:RevertUseByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
code: "[string]시리얼 코드"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("serialKey").acquire.revert_use_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
code="[string]시리얼 코드",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2SerialKey:IssueOnce
시리얼 코드 1건 발행
시리얼 코드를 1건 즉시 발행합니다. 코드는 AES 암호화와 base32 인코딩을 사용하여 XXXXX-XXXX-XXXXX-XXXX-XXXXX 형식으로 생성됩니다. 배치 발행 작업과 달리 동기적으로 코드를 생성하여 반환합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| campaignModelName | string | ✓ | ~ 128자 | 캠페인 모델 이름 | ||
| metadata | string | ~ 2048자 | 메타데이터 메타데이터에는 임의의 값을 설정할 수 있습니다. 이 값들은 GS2의 동작에는 영향을 주지 않으므로, 게임 내에서 사용하는 정보를 저장하는 용도로 사용할 수 있습니다. |
{
"action": "Gs2SerialKey:IssueOnce",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"campaignModelName": "[string]캠페인 모델 이름",
"metadata": "[string]메타데이터"
}
}action: Gs2SerialKey:IssueOnce
request:
namespaceName: "[string]네임스페이스 이름"
campaignModelName: "[string]캠페인 모델 이름"
metadata: "[string]메타데이터"transaction.service("serialKey").acquire.issue_once({
namespaceName="[string]네임스페이스 이름",
campaignModelName="[string]캠페인 모델 이름",
metadata="[string]메타데이터",
})