> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-AdReward 트랜잭션 액션

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





## Consume Action

소비 액션

### Gs2AdReward:ConsumePointByUserId

사용자 ID를 지정하여 포인트 소비<br>

지정된 사용자 ID로부터 지정된 수의 포인트를 차감하고, 갱신된 포인트 정보를 반환합니다.<br>
요청된 소비량에 대해 포인트가 부족한 경우 오류가 반환됩니다.<br>
네임스페이스의 소비 스크립트 설정에 GS2-Script가 설정되어 있는 경우, 포인트 차감 전에 스크립트가 실행되어 커스텀 검증이나 소비량 변경이 가능합니다.<br>
포인트 차감 후, 네임스페이스 설정에서 변경 알림이 구성되어 있으면 알림이 전송됩니다.

**수량 지정 가능한 액션: 예**

**반전 가능한 액션: 예**

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| point | long |  | ✓|  | 1 ~ 9223372036854775805 | 소비할 포인트 |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2AdReward:ConsumePointByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "point": "[long]소비할 포인트",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2AdReward:ConsumePointByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  point: "[long]소비할 포인트"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("adReward").consume.consume_point_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    point="[long]소비할 포인트",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---

## Acquire Action

입수 액션

### Gs2AdReward:AcquirePointByUserId

사용자 ID를 지정하여 포인트 획득<br>

지정된 사용자 ID에 지정된 수의 포인트를 추가하고, 갱신된 포인트 정보를 반환합니다.<br>
사용자의 포인트 레코드가 존재하지 않는 경우, 포인트 추가 전에 새로운 레코드가 자동으로 생성됩니다.<br>
네임스페이스의 획득 스크립트 설정에 GS2-Script가 설정되어 있는 경우, 포인트 추가 전에 스크립트가 실행되어 커스텀 검증이나 획득량 변경이 가능합니다.<br>
포인트 추가 후, 네임스페이스 설정에서 변경 알림이 구성되어 있으면 알림이 전송됩니다.

**수량 지정 가능한 액션: 예**

**반전 가능한 액션: 예**

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| point | long |  | ✓|  | 1 ~ 9223372036854775805 | 획득할 포인트 |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2AdReward:AcquirePointByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "userId": "[string]사용자ID",
        "point": "[long]획득할 포인트",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2AdReward:AcquirePointByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  userId: "[string]사용자ID"
  point: "[long]획득할 포인트"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("adReward").acquire.acquire_point_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    userId="[string]사용자ID",
    point="[long]획득할 포인트",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---



