Documentation index for AI agents

GS2-SerialKey 트랜잭션 액션

검증/소비/입수 각 트랜잭션 액션의 사양

Verify Action

검증 액션

Gs2SerialKey:VerifyCodeByUserId

사용자 ID를 지정하여 시리얼 코드의 유효성 확인

지정된 사용자의 시리얼 코드를 소비하지 않고 검증합니다. 특정 캠페인 모델 이름에 대한 검증을 지원하며, 코드가 active(미사용)인지 inactive(사용 완료)인지 확인할 수 있습니다.

수량 지정 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
codestring
~ 48자시리얼 코드
“XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다.
campaignModelNamestring~ 128자캠페인 이름
이 시리얼 코드가 속한 캠페인 모델의 이름입니다. 캠페인 정보는 시리얼 코드 자체에 포함되어 있으므로 코드를 사용할 때는 네임스페이스만 지정하면 됩니다.
verifyType문자열 열거형
enum {
  “active”,
  “inactive”
}
검증 타입
정의설명
active유효
inactive비활성
timeOffsetTokenstring~ 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를 지정하여 시리얼 코드 사용 처리

지정된 사용자에 의해 시리얼 코드를 사용 완료로 표시합니다. 코드가 존재하고 아직 사용되지 않았음을 검증합니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
codestring
~ 48자시리얼 코드
“XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다.
timeOffsetTokenstring~ 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를 지정하여 시리얼 코드 미사용 처리

사용 완료된 시리얼 코드를 미사용 상태로 되돌립니다. 되돌리기 전에 코드가 현재 사용 완료 상태임을 검증합니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 예

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
userIdstring
~ 128자사용자ID
#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다.
codestring
~ 48자시리얼 코드
“XXXXX-XXXX-XXXXX-XXXX-XXXX” 형식의 시리얼 코드 문자열입니다. 각 코드는 고유하며 캠페인 식별 정보를 포함합니다. 코드의 형식과 데이터 길이는 고정되어 있어 변경할 수 없습니다.
timeOffsetTokenstring~ 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 형식으로 생성됩니다. 배치 발행 작업과 달리 동기적으로 코드를 생성하여 반환합니다.

수량 지정 가능한 액션: 아니오

반전 가능한 액션: 아니오

타입활성화 조건필수기본값값 제한설명
namespaceNamestring
~ 128자네임스페이스 이름
네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
campaignModelNamestring
~ 128자캠페인 모델 이름
metadatastring~ 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]메타데이터",
})