Documentation index for AI agents

GS2-Inbox 마스터 데이터 레퍼런스

마스터 데이터 포맷과 임포트할 각종 모델의 레퍼런스

마스터 데이터 포맷

{
  "version": "2020-03-12",
  "globalMessages": [
    {
      "name": "[string]글로벌 메시지 이름",
      "metadata": "[string]메타데이터",
      "readAcquireActions": [
        {
          "action": "[string]입수 액션에서 실행할 액션의 종류",
          "request": "[string]액션 실행 시 사용되는 요청의 JSON 문자열"
        }
      ],
      "expiresTimeSpan": {
        "days": "[int]일수",
        "hours": "[int]시간",
        "minutes": "[int]분"
      },
      "messageReceptionPeriodEventId": "[string?]메시지 수신 기간 이벤트 ID"
    }
  ]
}
타입활성화 조건필수기본값값 제한설명
versionstring
2020-03-12마스터 데이터 포맷 버전
globalMessagesList<GlobalMessage>~ 1000 items글로벌 메시지
글로벌 메시지는 게임 플레이어 전체에게 메시지를 전달하는 구조입니다.

글로벌 메시지에는 유효 기간을 설정할 수 있으며, 각 게임 플레이어는 글로벌 메시지를 수신하는 처리를 실행함으로써
유효 기간 내의 글로벌 메시지 중 아직 수신하지 않은 메시지를 자신의 메시지함에 복사합니다.

모델

GlobalMessage

글로벌 메시지

글로벌 메시지는 게임 플레이어 전체에게 메시지를 전달하는 구조입니다.

글로벌 메시지에는 유효 기간을 설정할 수 있으며, 각 게임 플레이어는 글로벌 메시지를 수신하는 처리를 실행함으로써
유효 기간 내의 글로벌 메시지 중 아직 수신하지 않은 메시지를 자신의 메시지함에 복사합니다.

타입활성화 조건필수기본값값 제한설명
globalMessageIdstring
~ 1024자전체 사용자 대상 메시지 GRN
※ 서버가 자동으로 설정
namestring
~ 128자글로벌 메시지 이름
글로벌 메시지 고유의 이름. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다.
metadatastring
~ 4096자메타데이터
메시지의 제목, 본문, 표시 파라미터 등을 포함하는 JSON 문자열 등, 글로벌 메시지의 내용을 나타내는 임의의 데이터입니다. 사용자가 이 글로벌 메시지를 수신하면 메타데이터는 수신함 내의 개별 메시지로 복사됩니다. GS2는 이 값을 해석하지 않습니다. 최대 4096자입니다.
readAcquireActionsList<AcquireAction>[]0 ~ 100 items개봉 시 획득 액션
이 글로벌 메시지에서 복사된 메시지를 사용자가 개봉했을 때 실행되는 획득 액션 목록입니다. 이 액션들은 메타데이터와 함께 각 사용자의 개별 메시지로 복사됩니다. 글로벌 메시지당 최대 100개의 액션입니다.
expiresTimeSpanTimeSpan유효 기한까지의 기간
사용자가 이 글로벌 메시지를 수신(복사)한 시각부터, 복사된 메시지가 만료되어 수신함에서 자동 삭제되기까지의 기간입니다. 일, 시간, 분의 조합으로 지정합니다. 유효 기한에 도달하면 메시지는 읽음 상태와 관계없이 삭제되며, 아직 받지 않은 첨부 보상도 함께 삭제됩니다.
messageReceptionPeriodEventIdstring~ 1024자메시지 수신 기간 이벤트 ID
이 글로벌 메시지를 수신(사용자의 수신함에 복사)할 수 있는 시간대를 정의하는 GS2-Schedule 이벤트의 GRN입니다. 이 기간 외에는 사용자가 글로벌 메시지 수신 작업을 실행하더라도 메시지가 전달되지 않습니다. 기간 한정 이벤트 공지나 시즌 캠페인 보상에 유용합니다.

TimeSpan

타임스팬

일, 시간, 분의 조합으로 기간을 나타냅니다. 수신 시각을 기준으로 한 메시지의 유효 기간을 정의하는 데 사용됩니다. 예를 들어 7일, 0시간, 0분의 타임스팬은 사용자가 수신한 후 정확히 1주일 후에 메시지가 만료됨을 의미합니다.

타입활성화 조건필수기본값값 제한설명
daysint00 ~ 365일수
이 타임스팬의 일수입니다. 시간, 분과 조합하여 총 기간이 계산됩니다. 최대 365일입니다.
hoursint00 ~ 24시간
이 타임스팬의 시간 수입니다. 일수, 분과 조합하여 총 기간이 계산됩니다. 최대 24시간입니다.
minutesint00 ~ 60
이 타임스팬의 분수입니다. 일수, 시간과 조합하여 총 기간이 계산됩니다. 최대 60분입니다.

AcquireAction

획득 액션

보상으로 메시지에 첨부되는 단일 획득 액션을 나타냅니다. 액션 타입(예: 인벤토리에 아이템 추가, 통화 증가)과 그 요청 파라미터로 구성됩니다. 메시지가 개봉되면 이 액션들이 트랜잭션으로 조립되어 실행되고, 사용자에게 보상이 지급됩니다.

타입활성화 조건필수기본값값 제한설명
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",
"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",
}
입수 액션에서 실행할 액션의 종류
requeststring
~ 524288자액션 실행 시 사용되는 요청의 JSON 문자열