Master Data Reference of GS2-Mission
{
"version": "2019-05-28",
"groups": [
{
"name": "[string]Mission Group Name",
"metadata": "[string?]Metadata",
"tasks": [
{
"missionTaskId": "[string]Mission Task GRN",
"name": "[string]Task Name",
"metadata": "[string?]Metadata",
"verifyCompleteType": "[string]Completion criteria type",
"targetCounter": {
"counterName": "[string]Counter Name",
"scopeType": "[string]Scope type",
"resetType": "[string?]Target Reset timing",
"conditionName": "[string]Condition Name",
"value": "[long]Target value"
},
"verifyCompleteConsumeActions": [
{
"action": "[string]Types of actions to be performed in the verify task",
"request": "[string]JSON string of the request used when executing the action"
}
],
"completeAcquireActions": [
{
"action": "[string]Types of actions to be performed in the acquire action",
"request": "[string]JSON string of the request used when executing the action"
}
],
"challengePeriodEventId": "[string?]GS2-Schedule event GRN with a set period of time during which rewards can be received",
"premiseMissionTaskName": "[string?]Name of the tasks accomplish to attempt this task",
"counterName": "[string]Counter Name",
"targetResetType": "[string?]Target Reset timing",
"targetValue": "[long]Target value"
}
],
"resetType": "[string]Reset timing",
"resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
"resetDayOfWeek": "[string]Day of the week to reset",
"resetHour": "[int]Hour of Reset",
"completeNotificationNamespaceId": "[string?]Namespace GRN",
"anchorTimestamp": "[long]Base date and time for counting elapsed days",
"days": "[int]Number of days to reset"
}
],
"counters": [
{
"name": "[string]Counter Name",
"metadata": "[string?]Metadata",
"scopes": [
{
"scopeType": "[string]Scope type",
"resetType": "[string]Reset timing",
"resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
"resetDayOfWeek": "[string]Day of the week to reset",
"resetHour": "[int]Hour of Reset",
"conditionName": "[string]Condition Name",
"condition": {
"action": "[string]Types of actions to be performed in the verify task",
"request": "[string]JSON string of the request used when executing the action"
},
"anchorTimestamp": "[long]Base date and time for counting elapsed days",
"days": "[int]Number of days to reset"
}
],
"challengePeriodEventId": "[string?]GS2-Schedule event GRN that sets the period during which the counter can be operated."
}
]
}| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| version | string | ✓ | 2019-05-28 | Format version of master data | ||
| groups | List<MissionGroupModel> | ~ 20 items | Mission Group Model A mission group is an entity that groups tasks by counter reset timing. For example, one group for daily missions. One group for Weekly Mission. | |||
| counters | List<CounterModel> | ~ 1000 items | Counter Model The counter model is an entity that can be set as a condition for accomplishing mission tasks. Since counter values can be referenced by multiple mission groups, a single counter can be set as an accomplishment condition for multiple mission groups, such as weekly and daily missions. |
ScopedValue
Counter value, reset timing, and other scope information
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| scopeType | String Enum enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128 chars | Scope type
| |||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | {scopeType} == “resetTiming” | ✓* | ~ 128 chars | Reset timing
* Required if scopeType is “resetTiming” | |||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓* | ~ 128 chars | Condition Name * Required if scopeType is “verifyAction” | |||||||||||||
| value | long | ✓ | 0 | 0 ~ 9223372036854775805 | Count value | |||||||||||||
| nextResetAt | long | Next reset timing | ||||||||||||||||
| updatedAt | long | ✓ | Now | Datetime of last update Unix time, milliseconds Automatically configured on the server |
AcquireAction
Acquire Action
ConsumeAction
Consume Action
VerifyAction
Verify Action
VerifyActionResult
Verify action execution result
ConsumeActionResult
Consume action execution result
AcquireActionResult
Acquire action execution result
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 |
CounterScopeModel
Counter Reset Timing Model
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| scopeType | String Enum enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128 chars | Scope type
| |||||||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | ✓ | “notReset” | ~ 128 chars | Reset timing
| |||||||||||||||||
| resetDayOfMonth | int | {resetType} == “monthly” | ✓* | 1 ~ 31 | Date to reset (If the value exceeds the days of the month, it is treated as the last day.) * Required if resetType is “monthly” | |||||||||||||||||
| resetDayOfWeek | String Enum enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓* | ~ 128 chars | Day of the week to reset
* Required if resetType is “weekly” | |||||||||||||||||
| resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓* | 0 ~ 23 | Hour of Reset * Required if resetType is “monthly”,“weekly”,“daily” | |||||||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓* | ~ 128 chars | Condition Name * Required if scopeType is “verifyAction” | |||||||||||||||||
| condition | VerifyAction | {scopeType} == “verifyAction” | ✓* | Condition * Required if scopeType is “verifyAction” | ||||||||||||||||||
| anchorTimestamp | long | {resetType} == “days” | ✓* | Base date and time for counting elapsed days Unix time, milliseconds * Required if resetType is “days” | ||||||||||||||||||
| days | int | {resetType} == “days” | ✓* | 1 ~ 2147483646 | Number of days to reset * Required if resetType is “days” |
CounterModel
Counter Model
The counter model is an entity that can be set as a condition for accomplishing mission tasks. Since counter values can be referenced by multiple mission groups, a single counter can be set as an accomplishment condition for multiple mission groups, such as weekly and daily missions.
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| counterId | string | ✓ | ~ 1024 chars | Counter Model GRN | ||
| name | string | ✓ | ~ 128 chars | Counter Name | ||
| metadata | string | ~ 1024 chars | Metadata | |||
| scopes | List<CounterScopeModel> | ✓ | [] | 1 ~ 20 items | List of Counter reset timing | |
| challengePeriodEventId | string | ~ 1024 chars | GS2-Schedule event GRN that sets the period during which the counter can be operated. |
MissionGroupModel
Mission Group Model
A mission group is an entity that groups tasks by counter reset timing. For example, one group for daily missions. One group for Weekly Mission.
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| missionGroupId | string | ✓ | ~ 1024 chars | Mission Group GRN | ||||||||||||||||||
| name | string | ✓ | ~ 128 chars | Mission Group Name | ||||||||||||||||||
| metadata | string | ~ 1024 chars | Metadata | |||||||||||||||||||
| tasks | List<MissionTaskModel> | [] | 0 ~ 1000 items | List of Mission Task | ||||||||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | ✓ | “notReset” | ~ 128 chars | Reset timing
| |||||||||||||||||
| resetDayOfMonth | int | {resetType} == “monthly” | ✓* | 1 ~ 31 | Date to reset (If the value exceeds the days of the month, it is treated as the last day.) * Required if resetType is “monthly” | |||||||||||||||||
| resetDayOfWeek | String Enum enum { “sunday”, “monday”, “tuesday”, “wednesday”, “thursday”, “friday”, “saturday” } | {resetType} == “weekly” | ✓* | ~ 128 chars | Day of the week to reset
* Required if resetType is “weekly” | |||||||||||||||||
| resetHour | int | {resetType} in [“monthly”, “weekly”, “daily”] | ✓* | 0 ~ 23 | Hour of Reset * Required if resetType is “monthly”,“weekly”,“daily” | |||||||||||||||||
| completeNotificationNamespaceId | string | ~ 1024 chars | Namespace GRN | |||||||||||||||||||
| anchorTimestamp | long | {resetType} == “days” | ✓* | Base date and time for counting elapsed days Unix time, milliseconds * Required if resetType is “days” | ||||||||||||||||||
| days | int | {resetType} == “days” | ✓* | 1 ~ 2147483646 | Number of days to reset * Required if resetType is “days” |
MissionTaskModel
Mission Task Model
A mission task is an entity that defines the conditions under which a reward will be given if the value of the associated counter exceeds a certain level.
| Type | Condition | Required | Default | Value Limits | Description | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| missionTaskId | string | ✓ | ~ 1024 chars | Mission Task GRN | ||||||||
| name | string | ✓ | ~ 128 chars | Task Name | ||||||||
| metadata | string | ~ 1024 chars | Metadata | |||||||||
| verifyCompleteType | String Enum enum { “counter”, “verifyActions” } | ✓ | “counter” | ~ 128 chars | Completion criteria type
| |||||||
| targetCounter | TargetCounterModel | {verifyCompleteType} == “counter” | ✓* | Target Counter * Required if verifyCompleteType is “counter” | ||||||||
| verifyCompleteConsumeActions | List<VerifyAction> | {verifyCompleteType} == “verifyActions” | [] | 0 ~ 10 items | Verify actions when task is accomplished * Enabled if verifyCompleteType is “verifyActions” | |||||||
| completeAcquireActions | List<AcquireAction> | [] | 0 ~ 100 items | Rewards for mission accomplishment | ||||||||
| challengePeriodEventId | string | ~ 1024 chars | GS2-Schedule event GRN with a set period of time during which rewards can be received | |||||||||
| premiseMissionTaskName | string | ~ 128 chars | Name of the tasks accomplish to attempt this task |
TargetCounterModel
Target Counter
Information about the counter that serves as the achievement goal for the mission
| Type | Condition | Required | Default | Value Limits | Description | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| counterName | string | ✓ | ~ 128 chars | Counter Name | ||||||||||||||
| scopeType | String Enum enum { “resetTiming”, “verifyAction” } | ✓ | “resetTiming” | ~ 128 chars | Scope type
| |||||||||||||
| resetType | String Enum enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | {scopeType} == “resetTiming” | ~ 128 chars | Target Reset timing
* Enabled if scopeType is “resetTiming” | ||||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓* | ~ 128 chars | Condition Name * Required if scopeType is “verifyAction” | |||||||||||||
| value | long | ✓ | 0 ~ 9223372036854775805 | Target value |