GS2-Mission 트랜잭션 액션
Verify Action
검증 액션
Gs2Mission:VerifyCompleteByUserId
사용자 ID를 지정하여 미션 달성 상황 검증
지정된 사용자의 미션 태스크의 달성 상황 또는 수령 상황을 검증합니다.
수량 지정 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||
| missionGroupName | string | ✓ | ~ 128자 | 미션 그룹명 이 달성 상황 레코드가 속한 미션 그룹의 이름입니다. 사용자별·미션 그룹별로 하나의 달성 상황 레코드가 존재합니다. | ||||||||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||||||||
| verifyType | 문자열 열거형 enum { “completed”, “notCompleted”, “received”, “notReceived”, “completedAndNotReceived” } | ✓ | 검증 종류
| |||||||||||||||
| missionTaskName | string | ✓ | ~ 128자 | 미션 태스크 모델 이름 미션 태스크 모델 고유의 이름. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||
| multiplyValueSpecifyingQuantity | bool | false | 수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부 | |||||||||||||||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:VerifyCompleteByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"missionGroupName": "[string]미션 그룹명",
"userId": "[string]사용자ID",
"verifyType": "[string]검증 종류",
"missionTaskName": "[string]미션 태스크 모델 이름",
"multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:VerifyCompleteByUserId
request:
namespaceName: "[string]네임스페이스 이름"
missionGroupName: "[string]미션 그룹명"
userId: "[string]사용자ID"
verifyType: "[string]검증 종류"
missionTaskName: "[string]미션 태스크 모델 이름"
multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").verify.verify_complete_by_user_id({
namespaceName="[string]네임스페이스 이름",
missionGroupName="[string]미션 그룹명",
userId="[string]사용자ID",
verifyType="[string]검증 종류",
missionTaskName="[string]미션 태스크 모델 이름",
multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:VerifyCounterValueByUserId
사용자 ID를 지정하여 카운터 값 검증
지정된 사용자의 카운터의 스코프별 값이 지정된 조건을 충족하는지 검증합니다.
수량 지정 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||||||||||||||||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||||||||||||||||
| counterName | string | ✓ | ~ 128자 | 카운터 모델 이름 이 카운터 인스턴스의 기반이 되는 카운터 모델의 이름입니다. 스코프와 리셋 타이밍을 정의하는 카운터 모델 정의에 연결됩니다. | ||||||||||||||||
| verifyType | 문자열 열거형 enum { “less”, “lessEqual”, “greater”, “greaterEqual”, “equal”, “notEqual” } | ✓ | 검증 종류
| |||||||||||||||||
| scopeType | 문자열 열거형 enum { “resetTiming”, “verifyAction” } | “resetTiming” | 스코프 종류 이 스코프 값이 리셋 타이밍 스케줄에 기반한 것인지, 검증 액션 조건에 기반한 것인지를 나타냅니다.
| |||||||||||||||||
| resetType | 문자열 열거형 enum { “notReset”, “daily”, “weekly”, “monthly”, “days” } | {scopeType} == “resetTiming” | ✓※ | 리셋 타이밍 이 스코프 값의 리셋 타이밍입니다. 카운터 값이 리셋될 때까지의 누적 기간을 결정합니다. scopeType이 “resetTiming"인 경우에만 적용됩니다.
※ scopeType이(가) “resetTiming” 이면 필수 | ||||||||||||||||
| conditionName | string | {scopeType} == “verifyAction” | ✓※ | ~ 128자 | 조건 이름 이 스코프 값이 대응하는 검증 액션 조건의 이름입니다. 이 값이 어느 조건 스코프에 속하는지 식별하는 데 사용됩니다. scopeType이 “verifyAction"인 경우에만 적용됩니다. ※ scopeType이(가) “verifyAction” 이면 필수 | |||||||||||||||
| value | long | 0 | 0 ~ 9223372036854775805 | 카운트 이 스코프의 누적 카운터 값입니다. 카운터가 증가하면 늘어나고 감소하면 줄어듭니다. 값은 최댓값으로 상한이 설정되며, 0 미만으로 내려가지 않습니다. | ||||||||||||||||
| multiplyValueSpecifyingQuantity | bool | false | 수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부 | |||||||||||||||||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:VerifyCounterValueByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"counterName": "[string]카운터 모델 이름",
"verifyType": "[string]검증 종류",
"scopeType": "[string]스코프 종류",
"resetType": "[string]리셋 타이밍",
"conditionName": "[string]조건 이름",
"value": "[long]카운트",
"multiplyValueSpecifyingQuantity": "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:VerifyCounterValueByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
counterName: "[string]카운터 모델 이름"
verifyType: "[string]검증 종류"
scopeType: "[string]스코프 종류"
resetType: "[string]리셋 타이밍"
conditionName: "[string]조건 이름"
value: "[long]카운트"
multiplyValueSpecifyingQuantity: "[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").verify.verify_counter_value_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
counterName="[string]카운터 모델 이름",
verifyType="[string]검증 종류",
scopeType="[string]스코프 종류",
resetType="[string]리셋 타이밍",
conditionName="[string]조건 이름",
value="[long]카운트",
multiplyValueSpecifyingQuantity="[bool]수량을 지정했을 때, 검증에 사용하는 값도 곱할지 여부",
timeOffsetToken="[string]타임 오프셋 토큰",
})Consume Action
소비 액션
Gs2Mission:ReceiveByUserId
미션 달성 보상 수령
지정된 사용자의 지정 미션 태스크를 수령 완료 상태로 표시합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| missionGroupName | string | ✓ | ~ 128자 | 미션 그룹명 이 달성 상황 레코드가 속한 미션 그룹의 이름입니다. 사용자별·미션 그룹별로 하나의 달성 상황 레코드가 존재합니다. | ||
| missionTaskName | string | ✓ | ~ 128자 | 태스크 이름 | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:ReceiveByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"missionGroupName": "[string]미션 그룹명",
"missionTaskName": "[string]태스크 이름",
"userId": "[string]사용자ID",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:ReceiveByUserId
request:
namespaceName: "[string]네임스페이스 이름"
missionGroupName: "[string]미션 그룹명"
missionTaskName: "[string]태스크 이름"
userId: "[string]사용자ID"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").consume.receive_by_user_id({
namespaceName="[string]네임스페이스 이름",
missionGroupName="[string]미션 그룹명",
missionTaskName="[string]태스크 이름",
userId="[string]사용자ID",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:BatchReceiveByUserId
여러 미션 태스크의 달성 보상을 일괄로 수령 상태로 변경
동일한 미션 그룹 내 여러 미션 태스크를 일괄로 수령 완료 상태로 표시합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| missionGroupName | string | ✓ | ~ 128자 | 미션 그룹명 이 달성 상황 레코드가 속한 미션 그룹의 이름입니다. 사용자별·미션 그룹별로 하나의 달성 상황 레코드가 존재합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| missionTaskNames | List<string> | ✓ | 1 ~ 100 items | 태스크 이름 리스트 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:BatchReceiveByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"missionGroupName": "[string]미션 그룹명",
"userId": "[string]사용자ID",
"missionTaskNames": [
"[string]태스크 이름"
],
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:BatchReceiveByUserId
request:
namespaceName: "[string]네임스페이스 이름"
missionGroupName: "[string]미션 그룹명"
userId: "[string]사용자ID"
missionTaskNames:
- "[string]태스크 이름"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").consume.batch_receive_by_user_id({
namespaceName="[string]네임스페이스 이름",
missionGroupName="[string]미션 그룹명",
userId="[string]사용자ID",
missionTaskNames={
"[string]태스크 이름"
},
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:DecreaseCounterByUserId
사용자 ID를 지정하여 카운터 감산
지정된 사용자의 카운터에서 지정한 값을 감산합니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 모델 이름 이 카운터 인스턴스의 기반이 되는 카운터 모델의 이름입니다. 스코프와 리셋 타이밍을 정의하는 카운터 모델 정의에 연결됩니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| value | long | ✓ | 1 ~ 9223372036854775805 | 감산할 값 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:DecreaseCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"counterName": "[string]카운터 모델 이름",
"userId": "[string]사용자ID",
"value": "[long]감산할 값",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:DecreaseCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
counterName: "[string]카운터 모델 이름"
userId: "[string]사용자ID"
value: "[long]감산할 값"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").consume.decrease_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
counterName="[string]카운터 모델 이름",
userId="[string]사용자ID",
value="[long]감산할 값",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:ResetCounterByUserId
사용자 ID를 지정하여 카운터 리셋
지정된 사용자의 지정된 스코프의 카운터 값을 리셋합니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 모델 이름 이 카운터 인스턴스의 기반이 되는 카운터 모델의 이름입니다. 스코프와 리셋 타이밍을 정의하는 카운터 모델 정의에 연결됩니다. | ||
| scopes | List<ScopedValue> | ✓ | 1 ~ 20 items | 스코프 리스트 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:ResetCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"userId": "[string]사용자ID",
"counterName": "[string]카운터 모델 이름",
"scopes": [
{
"scopeType": "[string]스코프 종류",
"resetType": "[string]리셋 타이밍",
"conditionName": "[string]조건 이름",
"value": "[long]카운트",
"nextResetAt": "[long]다음 리셋 타이밍",
"updatedAt": "[long]최종 갱신일시"
}
],
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:ResetCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
userId: "[string]사용자ID"
counterName: "[string]카운터 모델 이름"
scopes:
- scopeType: "[string]스코프 종류"
resetType: "[string]리셋 타이밍"
conditionName: "[string]조건 이름"
value: "[long]카운트"
nextResetAt: "[long]다음 리셋 타이밍"
updatedAt: "[long]최종 갱신일시"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").consume.reset_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
userId="[string]사용자ID",
counterName="[string]카운터 모델 이름",
scopes={
{
scopeType="[string]스코프 종류",
resetType="[string]리셋 타이밍",
conditionName="[string]조건 이름",
value="[long]카운트",
nextResetAt="[long]다음 리셋 타이밍",
updatedAt="[long]최종 갱신일시"
}
},
timeOffsetToken="[string]타임 오프셋 토큰",
})Acquire Action
입수 액션
Gs2Mission:RevertReceiveByUserId
미션 달성 보상을 미수령 상태로 되돌리기
미션 태스크의 수령 상태를 미수령으로 되돌립니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| missionGroupName | string | ✓ | ~ 128자 | 미션 그룹명 이 달성 상황 레코드가 속한 미션 그룹의 이름입니다. 사용자별·미션 그룹별로 하나의 달성 상황 레코드가 존재합니다. | ||
| missionTaskName | string | ✓ | ~ 128자 | 태스크 이름 | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:RevertReceiveByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"missionGroupName": "[string]미션 그룹명",
"missionTaskName": "[string]태스크 이름",
"userId": "[string]사용자ID",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:RevertReceiveByUserId
request:
namespaceName: "[string]네임스페이스 이름"
missionGroupName: "[string]미션 그룹명"
missionTaskName: "[string]태스크 이름"
userId: "[string]사용자ID"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").acquire.revert_receive_by_user_id({
namespaceName="[string]네임스페이스 이름",
missionGroupName="[string]미션 그룹명",
missionTaskName="[string]태스크 이름",
userId="[string]사용자ID",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:IncreaseCounterByUserId
사용자 ID를 지정하여 카운터를 가산
지정된 사용자의 카운터에 지정한 값을 가산합니다.
가산 후, 이 카운터를 참조하는 모든 미션 태스크가 자동으로 재평가되며, 새롭게 달성된 미션은 changedCompletes 응답에서 반환됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 예
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 모델 이름 이 카운터 인스턴스의 기반이 되는 카운터 모델의 이름입니다. 스코프와 리셋 타이밍을 정의하는 카운터 모델 정의에 연결됩니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| value | long | ✓ | 1 ~ 9223372036854775805 | 가산할 값 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:IncreaseCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"counterName": "[string]카운터 모델 이름",
"userId": "[string]사용자ID",
"value": "[long]가산할 값",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:IncreaseCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
counterName: "[string]카운터 모델 이름"
userId: "[string]사용자ID"
value: "[long]가산할 값"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").acquire.increase_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
counterName="[string]카운터 모델 이름",
userId="[string]사용자ID",
value="[long]가산할 값",
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Mission:SetCounterByUserId
사용자 ID를 지정하여 카운터를 설정
지정된 사용자의 카운터의 스코프 값을 직접 설정하여 기존 값을 대체합니다.
변경 전과 변경 후의 카운터 상태, 그리고 새롭게 달성된 미션이 changedCompletes 응답에서 반환됩니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| counterName | string | ✓ | ~ 128자 | 카운터 모델 이름 이 카운터 인스턴스의 기반이 되는 카운터 모델의 이름입니다. 스코프와 리셋 타이밍을 정의하는 카운터 모델 정의에 연결됩니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| values | List<ScopedValue> | 0 ~ 20 items | 설정할 값의 리스트 | |||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Mission:SetCounterByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"counterName": "[string]카운터 모델 이름",
"userId": "[string]사용자ID",
"values": [
{
"scopeType": "[string]스코프 종류",
"resetType": "[string]리셋 타이밍",
"conditionName": "[string]조건 이름",
"value": "[long]카운트",
"nextResetAt": "[long]다음 리셋 타이밍",
"updatedAt": "[long]최종 갱신일시"
}
],
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Mission:SetCounterByUserId
request:
namespaceName: "[string]네임스페이스 이름"
counterName: "[string]카운터 모델 이름"
userId: "[string]사용자ID"
values:
- scopeType: "[string]스코프 종류"
resetType: "[string]리셋 타이밍"
conditionName: "[string]조건 이름"
value: "[long]카운트"
nextResetAt: "[long]다음 리셋 타이밍"
updatedAt: "[long]최종 갱신일시"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("mission").acquire.set_counter_by_user_id({
namespaceName="[string]네임스페이스 이름",
counterName="[string]카운터 모델 이름",
userId="[string]사용자ID",
values={
{
scopeType="[string]스코프 종류",
resetType="[string]리셋 타이밍",
conditionName="[string]조건 이름",
value="[long]카운트",
nextResetAt="[long]다음 리셋 타이밍",
updatedAt="[long]최종 갱신일시"
}
},
timeOffsetToken="[string]타임 오프셋 토큰",
})