Skip to main content

Module Data Types

Storefront​

Storefront exposes Shop and game services through one contract. Every ID is opaque. Monetary values never use Float: units is the exact integer amount in minor units, while decimal is its ready-to-display decimal representation.

StorefrontMoney​

FieldTypeDescription
unitsString!Exact amount in minor units
decimalString!Exact decimal representation
currencyCodeString!Currency code
currencyScaleInt!Number of decimal places

StorefrontPrice​

FieldTypeDescription
baseStorefrontMoney!Price before adjustments
effectiveStorefrontMoney!Effective price
adjustments[StorefrontPriceAdjustment!]!Applied discounts and campaigns
fromPriceBoolean!The displayed amount is a starting price
hasSavingsBoolean!Effective price is lower than base

StorefrontPriceAdjustment contains code, a SALE, REFERRAL, VIP, or CAMPAIGN source, an integer percentage, and exact amount. At checkout, StorefrontCheckoutAdjustment additionally contains a DISCOUNT or SURCHARGE kind.

StorefrontPageInfo​

FieldTypeDescription
endCursorIDCursor for the next request
hasNextPageBoolean!Whether another page is available

ShopOffer​

FieldTypeDescription
idID!Opaque offer ID
skuString!Stable offer code
nameString!Localized name
descriptionString!Localized description
imageReferenceStringAllowed image reference
categoryIdIDOpaque category ID
pricingModeShopPricingMode!BUNDLE or SELECTION
deliveryModes[ShopDeliveryMode!]!Allowed delivery modes
selectionLimitCountIntMaximum selected item count
items[ShopOfferItem!]!Bundle contents or selectable items
priceStorefrontPrice!Offer price
selectionPrices[ShopSelectionPrice!]!Per-selection prices
availabilityShopOfferAvailability!Availability and limit progress
sortOrderInt!Catalog order

ShopOfferConnection returns items and pageInfo. ShopDeliveryMode values are ACCOUNT_CHARACTER, DIRECT_CHARACTER, WAREHOUSE, and GUEST_CHARACTER.

ShopOfferItem​

FieldTypeDescription
assetReferenceString!Delivered asset identifier
quantityInt!Base quantity
enchantLevelInt!Enchant level
selectionKeyStringSelectable item key
quantitySelectableBoolean!Whether the player can change the quantity multiplier
maximumQuantityMultiplierInt!Maximum multiplier

ShopOfferAvailability​

FieldTypeDescription
statusShopOfferAvailabilityStatus!Availability or rejection reason
availableBoolean!Whether the offer can be purchased now
startsAtDateTimePublication start
endsAtDateTimePublication end
globalLimitShopPurchaseLimitProgressGlobal offer limit
customerLimitShopPurchaseLimitProgressPlayer limit
gameAccountLimitShopPurchaseLimitProgressGame-account limit
gameAccountSelectionRequiredBoolean!Account selection is required to evaluate availability

Statuses are AVAILABLE, NOT_STARTED, ENDED, CUSTOMER_NOT_ELIGIBLE, GLOBAL_LIMIT_REACHED, CUSTOMER_LIMIT_REACHED, GAME_ACCOUNT_LIMIT_REACHED, and BLOCKED_OFFER_PURCHASED.

ShopPurchaseLimitProgress contains windowSeconds, maximumPurchases, currentPurchases, remainingPurchases, the evaluated flag, and the next nextAvailableAt.

ShopCategory​

FieldTypeDescription
idID!Opaque category ID
nameString!Localized name
sortOrderInt!Display order

ShopCategoryConnection returns items and pageInfo.

ShopQuote​

FieldTypeDescription
idID!Opaque calculation ID
offerShopOffer!Frozen offer snapshot
quantityInt!Offer quantity
selectedItems[ShopQuoteSelection!]!Accepted selections and multipliers
deliveryItems[ShopQuoteDeliveryItem!]!Final delivery contents
unitAmountStorefrontMoney!Unit amount
subtotalStorefrontMoney!Amount before checkout adjustments
adjustments[StorefrontCheckoutAdjustment!]!Checkout adjustments
totalStorefrontMoney!Amount to debit or pay
hasSavingsBoolean!Whether savings apply
deliveryShopQuoteDelivery!Mode and verified recipient
expiresAtDateTime!Calculation expiry

ShopQuoteSelection contains selectionKey and quantityMultiplier; ShopQuoteDeliveryItem contains assetReference, quantity, and enchantLevel; ShopQuoteDelivery contains mode, accountLogin, and characterName.

ShopPurchase​

FieldTypeDescription
orderIdID!Opaque order ID
quoteIdID!Consumed calculation
orderStatusStorefrontOrderStatus!Order state
paymentIdIDOpaque wallet payment ID
paymentStatusStorefrontPaymentStatus!Debit or reversal state
totalStorefrontMoney!Final amount
createdAtDateTime!Creation time

Order statuses are PENDING_PAYMENT, PAID, FULFILLING, FULFILLED, and CANCELLED. Payment statuses are DEBIT_PENDING, PAID, REVERSAL_PENDING, REVERSED, and REQUIRES_REVIEW.

A zero-total purchase is confirmed without payment: paymentId is null and paymentStatus is NOT_REQUIRED. The order progresses through CONFIRMED, FULFILLING and FULFILLED; confirmation does not yet mean delivery is complete.

StorefrontExternalPaymentPreparation​

FieldTypeDescription
orderIdID!Created guest order
quoteIdID!Storefront calculation
orderStatusStorefrontOrderStatus!Order state
intentStorefrontExternalPaymentIntent!Payment intent and expiry
methods[StorefrontExternalPaymentMethod!]!Eligible methods with individual calculations

A method contains id, code, name, optional iconAssetId, and paymentQuote. A method calculation contains id, paymentAmount, destinationAmount, payerFee, and expiresAt.

StorefrontExternalPaymentExecution​

FieldTypeDescription
orderIdID!Guest order
quoteIdID!Storefront calculation
orderStatusStorefrontOrderStatus!Order state
intentStorefrontExternalPaymentIntent!Payment-intent state
attemptStorefrontExternalPaymentAttempt!Current payment attempt
actionStorefrontExternalPaymentActionNext client action

action.kind is REDIRECT, FORM_POST, QR_CODE, DEEP_LINK, or WAIT; only the matching action field is populated. Intent statuses are OPEN, PROCESSING, SETTLED, CANCELLED, and EXPIRED. Attempt statuses are CREATED, REQUIRES_CUSTOMER_ACTION, PENDING_PROVIDER, AUTHORIZED, CAPTURED, DECLINED, CANCELLED, EXPIRED, and REVIEW_REQUIRED.

GameServiceOffer​

FieldTypeDescription
idID!Opaque service ID
nameString!Localized name
descriptionString!Localized description
imageReferenceString!Service image
categoryGameServiceLocalizedCategory!Category code, name, and description
targetKindGameServiceTargetKind!GAME_ACCOUNT or CHARACTER
fields[GameServiceField!]!Configurable purchase fields
priceStorefrontPrice!Service price
availabilityGameServiceAvailability!Availability and publication window
sortOrderInt!Catalog order

GameServiceOfferConnection returns items and pageInfo. GameServiceCategoryConnection returns categories with code, name, description, sortOrder, and cursor data.

GameServiceField​

FieldTypeDescription
codeString!Field code
kindGameServiceFieldKind!TEXT, OPTION, or COLOR
requiredBoolean!Whether the field is required
nameString!Localized name
descriptionString!Localized description
textConstraintGameServiceTextConstraintText policy and length bounds
options[GameServiceOption!]!Allowed options
sortOrderInt!Field order
determinesPriceBoolean!Whether the selection determines the price

GameServiceTextConstraint.policy is FREE_TEXT, ALPHANUMERIC_NAME, EXTENDED_NAME, or ACCOUNT_NAME. GameServiceOption contains value, optional visualValue, name, description, optional price, and sortOrder.

GameServiceQuote​

FieldTypeDescription
idID!Opaque calculation ID
offerGameServiceOffer!Frozen service snapshot
fieldValues[GameServiceFieldValue!]!Validated field values
targetGameServicePurchaseTarget!Verified account or character
unitAmountStorefrontMoney!Unit amount
subtotalStorefrontMoney!Amount before adjustments
adjustments[StorefrontCheckoutAdjustment!]!Checkout adjustments
totalStorefrontMoney!Final amount
hasSavingsBoolean!Whether savings apply
expiresAtDateTime!Calculation expiry

GameServicePurchase​

Fields and statuses match ShopPurchase: orderId, quoteId, orderStatus, paymentId, paymentStatus, total, and createdAt.

Cases and Rewards​

CaseConfig​

Case configuration.

FieldTypeDescription
idID!Case ID
nameString!Name
priceFloat!Price
items[CaseItem!]!Items in case
availableBoolean!Available

CaseItem​

Case item.

FieldTypeDescription
idID!ID
itemIdInt!Item ID
nameString!Name
countInt!Quantity
enchantLevelInt!Enchant level
iconStringIcon
weightInt!Drop chance weight
rarityStringRarity

CaseCategory​

Case category.

FieldTypeDescription
idID!ID
nameString!Name
sortInt!Sort order

CaseSalesRestriction​

Global case restriction.

FieldTypeDescription
enabledBoolean!Enabled
timeInt!Period in seconds
countInt!Maximum count

CaseIndividualLimit​

Individual case limit.

FieldTypeDescription
enabledBoolean!Enabled
timeInt!Period in seconds
countInt!Maximum count

CaseOpenResult​

Case opening result.

FieldTypeDescription
itemWarehouseItem!Won item
balanceFloatUpdated balance
bonusBalanceFloatUpdated bonus balance

LuckyWheelConfig​

Wheel configuration.

FieldTypeDescription
idID!ID
priceFloat!Spin price
broadcastInt!Announcements
items[LuckyWheelItem!]!Items on the wheel

LuckyWheelItem​

Wheel item.

FieldTypeDescription
idID!ID
itemIdInt!Item ID
nameString!Name
countInt!Quantity
enchantLevelInt!Enchant level
iconStringIcon
weightInt!Chance weight

LuckyWheelSpin​

Spin history record.

FieldTypeDescription
idID!ID
itemIdInt!Item ID
itemNameString!Item name
itemCountInt!Quantity
createdAtString!Date

LuckyWheelSpinResult​

Spin result.

FieldTypeDescription
itemWarehouseItem!Won item
keyInt!Winning cell index
balanceFloatUpdated balance
bonusBalanceFloatUpdated bonus balance

LuckyWheelSpinConnection​

One page of spin history.

FieldTypeDescription
nodes[LuckyWheelSpin!]!Entries in the current page
totalCountInt!Total number of spins
pageInfoLuckyWheelPageInfo!Next-page information

LuckyWheelPageInfo​

FieldTypeDescription
hasNextPageBoolean!Whether another page exists
hasPreviousPageBoolean!Whether a previous page exists
endCursorStringCursor for the next page

DailyRewardStatus​

Daily rewards status.

FieldTypeDescription
currentDayInt!Current day
lastClaimDateDateTimeLast claim date
rewards[DailyReward!]!Rewards by day
canClaimBoolean!Can claim reward

DailyReward​

Reward for a day.

FieldTypeDescription
dayInt!Day number
items[DailyRewardItem!]!Items
claimedBoolean!Claimed

DailyRewardItem​

Daily reward item.

FieldTypeDescription
itemIdInt!Item ID
nameStringName
countInt!Quantity
enchantLevelInt!Enchant level

DailyRewardClaimResult​

Daily reward claim result.

FieldTypeDescription
itemWarehouseItemReceived item
balanceFloatUpdated balance
bonusBalanceFloatUpdated bonus balance
warehouse[WarehouseItem!]Updated warehouse

BonusCodeRedemptionResult​

Bonus code activation result.

FieldTypeDescription
requiresRecipientBoolean!The operation must be repeated with a game account and character
rewardTypeBonusCodeRewardType!Reward type: BALANCE or ITEMS
amountFloatAmount
bonusExpiresAtDateTimeBonus balance expiration time
balanceFloatUpdated balance
bonusBalanceFloatUpdated bonus balance
itemsCountIntItem count
characterNameStringRecipient character
baseAmountFloatBase amount before VIP is applied
vipBonusAmountFloatFixed additional VIP amount
vipMultiplierFloat!Applied multiplier; 1 without an increase
vipAppliedBoolean!Whether the VIP reward policy was applied
baseItemsCountIntNumber of base item entries
vipBonusItemsCountIntNumber of additional VIP item entries

GiftCodePackage​

Gift code package.

FieldTypeDescription
idID!Package ID
nameString!Name
descriptionStringDescription
priceDecimal!Exact charge amount as a string
denominationDecimal!Exact denomination as a string
popularBoolean!Package is highlighted as popular

GiftCodeStore​

Gift-code store state.

FieldTypeDescription
enabledBoolean!Feature is enabled for the game server
customAmountGiftCodeCustomAmount!Custom-denomination policy
packages[GiftCodePackage!]!Enabled packages in display order

GiftCodeCustomAmount contains enabled: Boolean! and nullable Decimal fields minimum, maximum, and priceRate. Monetary values are JSON strings such as "100.0001", not floating-point numbers.

GiftCodePurchase​

Gift code purchase.

FieldTypeDescription
idID!Record ID
codeString!Code
denominationDecimal!Exact denomination as a string
statusString!Bonus-code state such as ACTIVE or REDEEMED
createdAtDateTime!Purchase date

GiftCodeResult​

Gift code purchase result.

FieldTypeDescription
purchaseIdID!Idempotent purchase ID
codeString!Generated code
denominationDecimal!Exact denomination as a string
balanceDecimalMain balance after the original debit
bonusBalanceDecimalBonus balance after the original debit

A completed purchase replay returns the same code and saved debit result, not a fresh snapshot of the current balance.

Support and Activity​

PlayerSupportPortal​

FieldTypeDescription
enabledBoolean!Whether the feature is enabled
providerString!Current processing provider: INTERNAL or OMNIDESK
minimumTitleLength / maximumTitleLengthInt!Title length limits
minimumMessageLength / maximumMessageLengthInt!Message length limits
attachmentsEnabledBoolean!Whether attachments are accepted
maxFileSizeMb / maxFiles / maxTotalSizeMbInt!Upload limits
allowedMimeTypes[String!]!Allowed MIME types
writeAccessPlayerSupportWriteAccess!Current player's write access
categories[PlayerSupportCategory!]!Published categories

PlayerSupportWriteAccess​

FieldTypeDescription
allowedBoolean!Ticket creation and replies are allowed
reasonStringRestriction reason
expiresAtDateTimeRestriction expiry

PlayerSupportCategory​

FieldTypeDescription
idID!Category ID
nameString!Name in the request locale
iconStringConfigured icon class

PlayerSupportTicket​

FieldTypeDescription
idID!Ticket ID
titleString!Ticket title
categoryIdInt!Category ID
statusPlayerSupportTicketStatus!Workflow state
messagesPlayerSupportMessageConnection!Current message slice
messagesCountInt!Total message count
unreadCountInt!Unread staff replies
lastMessageString!Last-message preview
createdAt / updatedAtDateTime!Creation and update timestamps

PlayerSupportTicketConnection​

FieldTypeDescription
items[PlayerSupportTicket!]!Current slice
pageInfoPlayerSupportCursorPageInfo!Continuation cursors

PlayerSupportTicketSummary​

FieldTypeDescription
allInt!All player tickets
waitingForPlayerInt!Waiting for the player
waitingForStaffInt!Waiting for staff
closedInt!Closed tickets

PlayerSupportMessage​

FieldTypeDescription
idID!Message ID
contentString!Content or redaction marker
authorPlayerSupportMessageAuthor!PLAYER or STAFF
authorLabelStringPublic author label
redactedBoolean!Staff redacted the message
deliveryStatePlayerSupportMessageDeliveryStateExternal delivery state
feedbackPlayerSupportMessageFeedbackCurrent player's latest selection
feedbackAllowedBoolean!Whether the current player can rate the response
attachments[PlayerSupportAttachment!]!Accessible attachments
createdAtDateTime!Creation time

PlayerSupportMessageConnection​

FieldTypeDescription
items[PlayerSupportMessage!]!Current slice
pageInfoPlayerSupportCursorPageInfo!Continuation cursors

PlayerSupportCursorPageInfo​

FieldTypeDescription
nextCursorStringNext-slice cursor
previousCursorStringPrevious-slice cursor
hasMoreBoolean!More records exist in the selected direction

PlayerSupportAttachment​

FieldTypeDescription
urlString!Short-lived original URL
thumbnailUrlString!Short-lived thumbnail URL

PlayerSupportMutationResult​

FieldTypeDescription
messageString!Localized confirmation
ticketIdID!Ticket ID
messageIdID!Created message ID
deliveryPendingBoolean!External delivery is still pending

PlayerSupportMessageFeedbackResult​

FieldTypeDescription
messageIdID!Rated staff-message ID
feedbackPlayerSupportMessageFeedback!Stored selection

Input types​

CreatePlayerSupportTicketInput contains requestId, categoryId, title, message, optional account, character, and attachmentClaim.

ReplyPlayerSupportTicketInput contains requestId, ticketId, message, and optional attachmentClaim.

RatePlayerSupportMessageInput contains the required messageId and feedback.

PlayerSupportAttachmentClaimInput contains the required id and credential of a previously uploaded claim.

Enums​

  • PlayerSupportTicketStatus: NEW, WAITING_FOR_STAFF, WAITING_FOR_PLAYER, CANCELLED, CLOSED.
  • PlayerSupportMessageAuthor: PLAYER, STAFF.
  • PlayerSupportMessageDeliveryState: PENDING, DELIVERED, FAILED.
  • PlayerSupportMessageFeedback: HELPFUL, NOT_HELPFUL.

Notification​

Notification.

FieldTypeDescription
idID!ID
typeString!Notification type
titleString!Title
messageString!Text
isReadBoolean!Read

BalanceInfo​

Balance.

FieldTypeDescription
balanceDecimal!Available main balance as an exact decimal string
bonusBalanceDecimal!Available bonus balance as an exact decimal string
paymentDebtDecimal!Outstanding debt as an exact decimal string
purchasesRestrictedBoolean!Purchases and withdrawals from this balance are restricted pending repayment

ModuleStatuses​

Module statuses.

FieldTypeDescription
casesBoolean!Cases enabled
dailyRewardsBoolean!Daily rewards
giftCodesBoolean!Gift codes
luckyWheelBoolean!Lucky wheel
marketBoolean!Marketplace
referralProgramBoolean!Referral program