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

# GS2-Showcase 트랜잭션 액션

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





## Consume Action

소비 액션

### Gs2Showcase:IncrementPurchaseCountByUserId

사용자 ID를 지정하여 구매 횟수 가산<br>

지정된 사용자의 랜덤 진열대에 있는 특정 상품의 구매 횟수를 가산합니다. 로테이션 기간별 구매 제한을 추적하는 데 사용됩니다.

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

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

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| showcaseName | string |  | ✓|  |  ~ 128자 | 랜덤 진열대 이름 |
| displayItemName | string |  | ✓|  |  ~ 128자 | 상품 구매 횟수 이름<br>구매 횟수를 추적하는 랜덤 진열 상품의 이름입니다. 랜덤 진열대 내 진열 상품명에 대응합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| count | int |  | ✓|  | 0 ~ 100 | 가산할 구매 횟수 |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2Showcase:IncrementPurchaseCountByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "showcaseName": "[string]랜덤 진열대 이름",
        "displayItemName": "[string]상품 구매 횟수 이름",
        "userId": "[string]사용자ID",
        "count": "[int]가산할 구매 횟수",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:IncrementPurchaseCountByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  showcaseName: "[string]랜덤 진열대 이름"
  displayItemName: "[string]상품 구매 횟수 이름"
  userId: "[string]사용자ID"
  count: "[int]가산할 구매 횟수"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("showcase").consume.increment_purchase_count_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    showcaseName="[string]랜덤 진열대 이름",
    displayItemName="[string]상품 구매 횟수 이름",
    userId="[string]사용자ID",
    count="[int]가산할 구매 횟수",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---

## Acquire Action

입수 액션

### Gs2Showcase:DecrementPurchaseCountByUserId

사용자 ID를 지정하여 구매 횟수 감산<br>

랜덤 진열대의 특정 상품에 대한 구매 횟수를 감산합니다. 구매 취소나 구매 카운터 조정에 사용됩니다.

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

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

|  | 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 |
| --- | --- | --- | --- | --- | --- | --- |
| namespaceName | string |  | ✓|  |  ~ 128자 | 네임스페이스 이름<br>네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. |
| showcaseName | string |  | ✓|  |  ~ 128자 | 랜덤 진열대 이름 |
| displayItemName | string |  | ✓|  |  ~ 128자 | 상품 구매 횟수 이름<br>구매 횟수를 추적하는 랜덤 진열 상품의 이름입니다. 랜덤 진열대 내 진열 상품명에 대응합니다. |
| userId | string |  | ✓|  |  ~ 128자 | 사용자ID<br>`#{userId}`로 설정하면 로그인 중인 사용자ID로 치환됩니다. |
| count | int |  | ✓|  | 0 ~ 100 | 감산할 구매 횟수 |
| timeOffsetToken | string |  | |  |  ~ 1024자 | 타임 오프셋 토큰 |




**JSON**
```json
{
    "action": "Gs2Showcase:DecrementPurchaseCountByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "showcaseName": "[string]랜덤 진열대 이름",
        "displayItemName": "[string]상품 구매 횟수 이름",
        "userId": "[string]사용자ID",
        "count": "[int]감산할 구매 횟수",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:DecrementPurchaseCountByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  showcaseName: "[string]랜덤 진열대 이름"
  displayItemName: "[string]상품 구매 횟수 이름"
  userId: "[string]사용자ID"
  count: "[int]감산할 구매 횟수"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("showcase").acquire.decrement_purchase_count_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    showcaseName="[string]랜덤 진열대 이름",
    displayItemName="[string]상품 구매 횟수 이름",
    userId="[string]사용자ID",
    count="[int]감산할 구매 횟수",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---

### Gs2Showcase:ForceReDrawByUserId

사용자 ID를 지정하여 랜덤 진열대 내용을 재추첨<br>

지정된 사용자의 랜덤 진열대 상품을 강제로 재추첨하여 현재 선택을 초기화하고 설정된 풀에서 새로운 랜덤 상품 선택을 트리거합니다.

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

**반전 가능한 액션: 아니오**

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




**JSON**
```json
{
    "action": "Gs2Showcase:ForceReDrawByUserId",
    "request": {
        "namespaceName": "[string]네임스페이스 이름",
        "showcaseName": "[string]랜덤 진열대 이름",
        "userId": "[string]사용자ID",
        "timeOffsetToken": "[string]타임 오프셋 토큰"
    }
}
```

**YAML**
```yaml

action: Gs2Showcase:ForceReDrawByUserId
request:
  namespaceName: "[string]네임스페이스 이름"
  showcaseName: "[string]랜덤 진열대 이름"
  userId: "[string]사용자ID"
  timeOffsetToken: "[string]타임 오프셋 토큰"
```

**GS2-Script**
```lua

transaction.service("showcase").acquire.force_re_draw_by_user_id({
    namespaceName="[string]네임스페이스 이름",
    showcaseName="[string]랜덤 진열대 이름",
    userId="[string]사용자ID",
    timeOffsetToken="[string]타임 오프셋 토큰",
})
```


---



