Master Data Reference of GS2-LoginReward
{
"version": "2023-07-11",
"bonusModels": [
{
"name": "[string]Bonus Model Name",
"metadata": "[string?]metadata",
"mode": "[string]mode",
"periodEventId": "[string?]GS2-Schedule Event GRN that represents the period during which to enable login bonuses",
"resetHour": "[int]Reset time of the receive flag (UTC)",
"repeat": "[string]Reset time of the receive flag (UTC)",
"rewards": [
{
"acquireActions": [
{
"action": "[string]Types of actions to be performed in the acquire action",
"request": "[string]JSON of request"
}
]
}
],
"missedReceiveRelief": "[string]Missed Rescue Function",
"missedReceiveReliefVerifyActions": [
{
"action": "[string]Types of actions to be performed in the verify task",
"request": "[string]JSON of request"
}
],
"missedReceiveReliefConsumeActions": [
{
"action": "[string]Types of actions to be performed in the consume action",
"request": "[string]JSON of request"
}
]
}
]
}
| Type | Condition | Require | Default | Limitation | Description |
---|
version | | | ✓ | 2023-07-11 | | Format version of master data |
bonusModels | List<BonusModel> | | | | ~ 100 items | Bonus Model |
BonusModel
Bonus Model
Set the distribution schedule of login bonuses.
There are two types of distribution schedules: “Schedule Mode” and “Streaming Mode”.
In Schedule Mode, the GS2-Schedule event is required, and the bonus is distributed based on the number of days elapsed since the start of the event.
If you miss a shot in the middle, you will not receive the bonus for that shot.
In Streaming Mode, the rewards set for the bonus are distributed one by one from the beginning every day.
In Streaming Mode, you can set it to repeat. In that case, if you reach the end of the stream, you will start distributing from the beginning again.
Both Schedule Mode and Streaming Mode have a rescue function for missed shots.
By paying a certain cost, you can receive the bonus you missed.
However, if the GS2-Schedule event is associated, you can only receive the bonus after the number of days elapsed since the start of the event.
The missed capture function is not available in streaming mode and when repetition is enabled.
The maximum number of days of bonuses that can be set in both Scheduled and Streaming modes is 100 days.
| Type | Condition | Require | Default | Limitation | Description |
---|
bonusModelId | string | | ✓ | | ~ 1024 chars | Login Bonus Model GRN |
name | string | | ✓ | | ~ 128 chars | Bonus Model Name |
metadata | string | | | | ~ 2048 chars | metadata |
mode | enum { “schedule”, “streaming” }
| | ✓ | | ~ 128 chars | mode |
periodEventId | string | | | | ~ 1024 chars | GS2-Schedule Event GRN that represents the period during which to enable login bonuses |
resetHour | int | {periodEventId} == "" | ✓ | | ~ 23 | Reset time of the receive flag (UTC) |
repeat | enum { “enabled”, “disabled” }
| {mode} == “streaming” | ✓ | | ~ 128 chars | Reset time of the receive flag (UTC) |
rewards | List<Reward> | | | | ~ 100 items | List of rewards |
missedReceiveRelief | enum { “enabled”, “disabled” }
| | ✓ | “disabled” | ~ 128 chars | Missed Rescue Function |
missedReceiveReliefVerifyActions | List<VerifyAction> | {missedReceiveRelief} == “enabled” | | | ~ 10 items | List of verify actions for missed receive relief |
missedReceiveReliefConsumeActions | List<ConsumeAction> | {missedReceiveRelief} == “enabled” | | | ~ 10 items | List of consume actions for missed receive relief |
Enumeration type definition to specify as mode
Enumerator String Definition | Description |
---|
schedule | Schedule Mode |
streaming | Streaming Mode |
Enumeration type definition to specify as repeat
Enumerator String Definition | Description |
---|
enabled | Enabled |
disabled | Disabled |
Enumeration type definition to specify as missedReceiveRelief
Enumerator String Definition | Description |
---|
enabled | Enabled |
disabled | Disabled |
Reward
Reward
| Type | Condition | Require | Default | Limitation | Description |
---|
acquireActions | List<AcquireAction> | | ✓ | | 1 ~ 10 items | List of Acquire Action |
ConsumeAction
Consume Action
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2Matchmaking:VerifyIncludeParticipantByUserId", "Gs2AdReward:ConsumePointByUserId", "Gs2Dictionary:DeleteEntriesByUserId", "Gs2Distributor:IfExpressionByUserId", "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 chars | Types of actions to be performed in the consume action |
request | string | | ✓ | | ~ 1048576 chars | JSON of request |
AcquireAction
Acquire Action
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "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 chars | Types of actions to be performed in the acquire action |
request | string | | ✓ | | ~ 1048576 chars | JSON of request |
VerifyAction
Verify Action
| Type | Condition | Require | Default | Limitation | Description |
---|
action | enum { "Gs2Dictionary:VerifyEntryByUserId", "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", "Gs2Mission:VerifyCompleteByUserId", "Gs2Mission:VerifyCounterValueByUserId", "Gs2Ranking2:VerifyGlobalRankingScoreByUserId", "Gs2Ranking2:VerifyClusterRankingScoreByUserId", "Gs2Ranking2:VerifySubscribeRankingScoreByUserId", "Gs2Schedule:VerifyTriggerByUserId", "Gs2Schedule:VerifyEventByUserId", "Gs2SerialKey:VerifyCodeByUserId", }
| | ✓ | | ~ 128 chars | Types of actions to be performed in the verify task |
request | string | | ✓ | | ~ 1048576 chars | JSON of request |