API Reference GS2-Grade Master Data Master Data Reference of GS2-Grade Reference of the format of master data and various models to be imported
{
"version" : "2023-12-25" ,
"gradeModels" : [
{
"name" : "[string]Grade Model Name" ,
"metadata" : "[string?]Metadata" ,
"defaultGrades" : [
{
"propertyIdRegex" : "[string]Regular expression for property ID to which default value is applied" ,
"defaultGradeValue" : "[long]Default grade value"
}
],
"experienceModelId" : "[string]Experience model GRN to link grade and rank cap" ,
"gradeEntries" : [
{
"metadata" : "[string?]Metadata" ,
"rankCapValue" : "[long]Rank cap value to be set in GS2-Experience" ,
"propertyIdRegex" : "[string]Regular expression for property ID that can be used for grade up" ,
"gradeUpPropertyIdRegex" : "[string]Regular expression for property ID that can be used for grade up"
}
],
"acquireActionRates" : [
{
"name" : "[string]Remuneration addition table name" ,
"mode" : "[string]Remuneration addition table type" ,
"rates" : [
"[double]Addition amount (multiplier)"
],
"bigRates" : [
"[string]Addition amount (multiplier)"
]
}
]
}
]
} Type Condition Required Default Value Limits Description version string ✓
2023-12-25 Format version of master data gradeModels List<GradeModel> ~ 100 items Grade ModelA grade model is an entity that sets the threshold of grade required for rank advancement and for each default and maximum rank cap.
AcquireActionRate Remuneration addition table master
You can adjust the amount of rewards according to the rank.
Type Condition Required Default Value Limits Description name string ✓
~ 128 chars Remuneration addition table name mode String Enum enum { “double”, “big” } ✓
“double” ~ 128 chars Remuneration addition table typeEnumerator String Definition Description “double” Floating point number less than 2^48 “big” Floating point number less than 1024 digits
rates List<double> {mode} == “double” ✓*
1 ~ 1000 items Amount added per grade (multiplier)* Required if mode is “double”
bigRates List<string> {mode} == “big” ✓*
1 ~ 1000 items Amount added per grade (multiplier)* Required if mode is “big”
AcquireAction Acquire Action
Type Condition Required Default Value Limits Description action String Enum 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" ,"Gs2Schedule:ExtendTriggerByUserId" ,"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 ✓
~ 524288 chars JSON string of the request used when executing the action
VerifyActionResult Verify action execution result
Type Condition Required Default Value Limits Description action String Enum enum {"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" ,"Gs2Stamina:VerifyStaminaValueByUserId" ,"Gs2Stamina:VerifyStaminaMaxValueByUserId" ,"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId" ,"Gs2Stamina:VerifyStaminaRecoverValueByUserId" ,"Gs2Stamina:VerifyStaminaOverflowValueByUserId" , } ✓
~ 128 chars Types of actions to be performed in the verify task verifyRequest string ✓
~ 524288 chars JSON string of the request used when executing the action statusCode int 0 ~ 999 Status code verifyResult string ~ 1048576 chars Result payload
ConsumeActionResult Consume action execution result
Type Condition Required Default Value Limits Description action String Enum enum {"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" ,"Gs2Mission:ResetCounterByUserId" ,"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 consumeRequest string ✓
~ 524288 chars JSON string of the request used when executing the action statusCode int 0 ~ 999 Status code consumeResult string ~ 1048576 chars Result payload
AcquireActionResult Acquire action execution result
Type Condition Required Default Value Limits Description action String Enum 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" ,"Gs2Schedule:ExtendTriggerByUserId" ,"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 acquireRequest string ✓
~ 524288 chars JSON string of the request used when executing the action statusCode int 0 ~ 999 Status code acquireResult string ~ 1048576 chars Result payload
TransactionResult Transaction execution results
Transaction execution results executed using server-side transaction auto-execution functionality
Type Condition Required Default Value Limits Description transactionId string ✓
36 ~ 36 chars Transaction ID verifyResults List<VerifyActionResult> 0 ~ 10 items List of verify action execution results consumeResults List<ConsumeActionResult> [] 0 ~ 10 items List of consume action execution results acquireResults List<AcquireActionResult> [] 0 ~ 100 items List of acquire action execution results hasError bool ✓
false Whether an error occurred during transaction execution
GradeModel Grade Model
A grade model is an entity that sets the threshold of grade required for rank advancement and for each default and maximum rank cap.
Type Condition Required Default Value Limits Description gradeModelId string ✓
~ 1024 chars Grade Model GRN name string ✓
~ 128 chars Grade Model Name metadata string ~ 2048 chars Metadata defaultGrades List<DefaultGradeModel> 0 ~ 100 items List of Default grade model experienceModelId string ✓
~ 1024 chars Experience model GRN to link grade and rank cap gradeEntries List<GradeEntryModel> ✓
1 ~ 100 items List of Grade entry acquireActionRates List<AcquireActionRate> 0 ~ 100 items List of Remuneration addition table
DefaultGradeModel Default grade model
You can set the default grade value according to the match of the property ID regular expression when creating a new grade.
Type Condition Required Default Value Limits Description propertyIdRegex string ✓
~ 1024 chars Regular expression for property ID to which default value is applied defaultGradeValue long ✓
0 ~ 9223372036854775805 Default grade value
GradeEntryModel Grade Entry
Type Condition Required Default Value Limits Description metadata string ~ 2048 chars Metadata rankCapValue long ✓
0 ~ 9223372036854775805 Rank cap value to be set in GS2-Experience propertyIdRegex string ✓
~ 1024 chars Regular expression for property ID that can be used for grade upYou can use the parts enclosed in parentheses in the pattern as $1/$2… in the regular expression of gradeUpPropertyIdRegex.
gradeUpPropertyIdRegex string ✓
~ 1024 chars Regular expression for property ID that can be used for grade up