Master Data Reference of GS2-Showcase

{
  "version": "2019-04-04",
  "showcases": [
    {
      "name": "[string]Showcase Name",
      "metadata": "[string?]metadata",
      "salesPeriodEventId": "[string?]GS2-Schedule events with sales periods for display shelves",
      "displayItems": [
        {
          "displayItemId": "[string]Displayed Item ID",
          "type": "[string]Type",
          "salesItem": {
            "name": "[string]Product Name",
            "metadata": "[string?]metadata",
            "verifyActions": [
              {
                "action": "[string]Types of actions to be performed in the verify task",
                "request": "[string]JSON of request"
              }
            ],
            "consumeActions": [
              {
                "action": "[string]Types of actions to be performed in the consume action",
                "request": "[string]JSON of request"
              }
            ],
            "acquireActions": [
              {
                "action": "[string]Types of actions to be performed in the acquire action",
                "request": "[string]JSON of request"
              }
            ]
          },
          "salesItemGroup": {
            "name": "[string]Product Group Name",
            "metadata": "[string?]metadata",
            "salesItems": [
              {
                "name": "[string]Product Name",
                "metadata": "[string?]metadata",
                "verifyActions": [
                  {
                    "action": "[string]Types of actions to be performed in the verify task",
                    "request": "[string]JSON of request"
                  }
                ],
                "consumeActions": [
                  {
                    "action": "[string]Types of actions to be performed in the consume action",
                    "request": "[string]JSON of request"
                  }
                ],
                "acquireActions": [
                  {
                    "action": "[string]Types of actions to be performed in the acquire action",
                    "request": "[string]JSON of request"
                  }
                ]
              }
            ]
          },
          "salesPeriodEventId": "[string?]GS2-Schedule events with product sales periods"
        }
      ]
    }
  ],
  "randomShowcases": [
    {
      "name": "[string]Random Showcase Name",
      "metadata": "[string?]metadata",
      "maximumNumberOfChoice": "[int]Maximum number of products to be selected",
      "displayItems": [
        {
          "name": "[string]Random Displayed Item ID",
          "metadata": "[string?]metadata",
          "verifyActions": [
            {
              "action": "[string]Types of actions to be performed in the verify task",
              "request": "[string]JSON of request"
            }
          ],
          "consumeActions": [
            {
              "action": "[string]Types of actions to be performed in the consume action",
              "request": "[string]JSON of request"
            }
          ],
          "acquireActions": [
            {
              "action": "[string]Types of actions to be performed in the acquire action",
              "request": "[string]JSON of request"
            }
          ],
          "stock": "[int]Stock",
          "weight": "[int]Emission Weight"
        }
      ],
      "baseTimestamp": "[long]Base time for re-drawing the products on display",
      "resetIntervalHours": "[int]Interval (hours) between re-drawing the products on display",
      "salesPeriodEventId": "[string?]GS2-Schedule events with sales periods for display shelves"
    }
  ]
}
TypeConditionRequireDefaultLimitationDescription
version2019-04-04Format version of master data
showcasesList<Showcase>~ 10 itemsShowcase
randomShowcasesList<RandomShowcase>~ 10 itemsRandom Showcase

SalesItem

Product

Set the price required to purchase the product and the reward earned for the purchase of the product.

TypeConditionRequireDefaultLimitationDescription
namestring~ 128 charsProduct Name
metadatastring~ 2048 charsmetadata
verifyActionsList<VerifyAction>~ 10 itemsList of Verify Action
consumeActionsList<ConsumeAction>~ 10 itemsList of Consumption Action
acquireActionsList<AcquireAction>1 ~ 100 itemsList of Acquire Action

SalesItemGroup

Product Group

A product group is an entity for display on a showcase. The first product that is determined to be available for purchase is actually displayed on the shelves. This can be used for products that are discounted only for the first time, or for a system in which the contents of products change depending on the number of times they are purchased, such as a step-up gacha.

TypeConditionRequireDefaultLimitationDescription
namestring~ 128 charsProduct Group Name
metadatastring~ 2048 charsmetadata
salesItemsList<SalesItem>2 ~ 10 itemsProducts to be included in the product group

Showcase

Showcase

The sales period can be set for the display shelf.

TypeConditionRequireDefaultLimitationDescription
showcaseIdstring~ 1024 charsShowcase GRN
namestring~ 128 charsShowcase Name
metadatastring~ 2048 charsmetadata
salesPeriodEventIdstring~ 1024 charsGS2-Schedule events with sales periods for display shelves
displayItemsList<DisplayItem>1 ~ 1000 itemsList of Products on display

DisplayItem

Displayed Item

TypeConditionRequireDefaultLimitationDescription
displayItemIdstringUUID~ 128 charsDisplayed Item ID
typeenum {
    “salesItem”,
    “salesItemGroup”
}
~ 128 charsType
salesItemSalesItem{type} == “salesItem”Products to be displayed
salesItemGroupSalesItemGroup{type} == “salesItemGroup”Product group to be displayed
salesPeriodEventIdstring~ 1024 charsGS2-Schedule events with product sales periods

Enumeration type definition to specify as type

Enumerator String DefinitionDescription
salesItemProduct
salesItemGroupProduct Group

DisplayItemMaster

Displayed Item Master Data

TypeConditionRequireDefaultLimitationDescription
displayItemIdstringUUID~ 128 charsDisplayed Item ID
typeenum {
    “salesItem”,
    “salesItemGroup”
}
~ 128 charsType
salesItemNamestring{type} == “salesItem”~ 128 charsName of the product to be displayed
salesItemGroupNamestring{type} == “salesItemGroup”~ 128 charsName of the product group to be displayed
salesPeriodEventIdstring~ 1024 charsProduct group to be displayed
revisionlong0~ 9223372036854775805Revision

Enumeration type definition to specify as type

Enumerator String DefinitionDescription
salesItemProduct
salesItemGroupProduct Group

RandomShowcase

Random Showcase

A display shelf where randomly selected products are displayed at specified intervals.

The products to be selected are randomly selected from the registered products in the product pool according to the specified quantity and the weight set for each product. By associating an event of GS2-Schedule with the random display shelf, you can set the sales period.

TypeConditionRequireDefaultLimitationDescription
randomShowcaseIdstring~ 1024 charsRandom Showcase Model GRN
namestring~ 128 charsRandom Showcase Name
metadatastring~ 2048 charsmetadata
maximumNumberOfChoiceint1 ~ 100Maximum number of products to be selected
displayItemsList<RandomDisplayItemModel>1 ~ 100 itemsList of Products on display
baseTimestamplongBase time for re-drawing the products on display (Unix time unit:milliseconds)
resetIntervalHoursint1 ~ 168Interval (hours) between re-drawing the products on display
salesPeriodEventIdstring~ 1024 charsGS2-Schedule events with sales periods for display shelves

PurchaseCount

Number of product purchases

TypeConditionRequireDefaultLimitationDescription
namestring~ 128 charsRandom Displayed Item Name
countint1 ~ 2147483646Purchase count

RandomDisplayItem

Random displayable items on the Random Showcase

TypeConditionRequireDefaultLimitationDescription
showcaseNamestring~ 128 charsRandom Displayed Item Name
namestringUUID~ 128 charsRandom Displayed Item ID
metadatastring~ 2048 charsmetadata
verifyActionsList<VerifyAction>~ 10 itemsList of Verify Action
consumeActionsList<ConsumeAction>~ 10 itemsList of Consume Action
acquireActionsList<AcquireAction>1 ~ 100 itemsList of Acquire Action
currentPurchaseCountint1 ~ 2147483646Current purchase count
maximumPurchaseCountint1 ~ 2147483646Maximum purchase count

RandomDisplayItemModel

Random displayable items on the Random Showcase

You can set the probability of selecting items for the display shelf.

TypeConditionRequireDefaultLimitationDescription
namestringUUID~ 128 charsRandom Displayed Item ID
metadatastring~ 2048 charsmetadata
verifyActionsList<VerifyAction>~ 10 itemsList of Verify Action
consumeActionsList<ConsumeAction>~ 10 itemsList of Consumption Action
acquireActionsList<AcquireAction>1 ~ 100 itemsList of Acquire Action
stockint1 ~ 2147483646Stock
weightint1 ~ 2147483646Emission Weight

ConsumeAction

Consume Action

TypeConditionRequireDefaultLimitationDescription
actionenum {
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Enhance:DeleteProgressByUserId",
"Gs2Exchange:DeleteAwaitByUserId",
"Gs2Experience:SubExperienceByUserId",
"Gs2Experience:SubRankCapByUserId",
"Gs2Formation:SubMoldCapacityByUserId",
"Gs2Grade:SubGradeByUserId",
"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"Gs2Inbox:OpenMessageByUserId",
"Gs2Inbox:DeleteMessageByUserId",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2JobQueue:DeleteJobByUserId",
"Gs2Limit:CountUpByUserId",
"Gs2LoginReward:MarkReceivedByUserId",
"Gs2Mission:ReceiveByUserId",
"Gs2Mission:BatchReceiveByUserId",
"Gs2Mission:DecreaseCounterByUserId",
"Gs2Money:WithdrawByUserId",
"Gs2Money:RecordReceipt",
"Gs2Money2:WithdrawByUserId",
"Gs2Money2:VerifyReceiptByUserId",
"Gs2Quest:DeleteProgressByUserId",
"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId",
"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId",
"Gs2Schedule:DeleteTriggerByUserId",
"Gs2SerialKey:UseByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
}
~ 128 charsTypes of actions to be performed in the consume action
requeststring~ 1048576 charsJSON of request

VerifyAction

Verify Action

TypeConditionRequireDefaultLimitationDescription
actionenum {
"Gs2Dictionary:VerifyEntryByUserId",
"Gs2Distributor:IfExpressionByUserId",
"Gs2Distributor:AndExpressionByUserId",
"Gs2Distributor:OrExpressionByUserId",
"Gs2Enchant:VerifyRarityParameterStatusByUserId",
"Gs2Experience:VerifyRankByUserId",
"Gs2Experience:VerifyRankCapByUserId",
"Gs2Grade:VerifyGradeByUserId",
"Gs2Grade:VerifyGradeUpMaterialByUserId",
"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyIncludeMemberByUserId",
"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
"Gs2Inventory:VerifyItemSetByUserId",
"Gs2Inventory:VerifyReferenceOfByUserId",
"Gs2Inventory:VerifySimpleItemByUserId",
"Gs2Inventory:VerifyBigItemByUserId",
"Gs2Limit:VerifyCounterByUserId",
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Ranking2:VerifyGlobalRankingScoreByUserId",
"Gs2Ranking2:VerifyClusterRankingScoreByUserId",
"Gs2Ranking2:VerifySubscribeRankingScoreByUserId",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:VerifyCodeByUserId",
}
~ 128 charsTypes of actions to be performed in the verify task
requeststring~ 1048576 charsJSON of request

AcquireAction

Acquire Action

TypeConditionRequireDefaultLimitationDescription
actionenum {
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:AcquireForceByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Friend:UpdateProfileByUserId",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Idle:ReceiveByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Money2:DepositByUserId",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
~ 128 charsTypes of actions to be performed in the acquire action
requeststring~ 1048576 charsJSON of request