Партнерская программа
Передавайте documentId и variables в соответствии с форматом запроса.
Состояние программы
referralProgramConfig
Описание
Возвращает состояние партнерской программы, доступность реферальной валюты и ее название для текущего контекста проекта.
Входные данные
Операция не принимает переменные.
Результат
Тип ответа - ReferralProgramConfig.
Ошибки
PROJECT_NOT_FOUND- проект не найден по контексту.
Пример обмена
{
"documentId": "referralProgramConfig",
"variables": {}
}
{
"data": {
"referralProgramConfig": {
"enabled": true,
"currencyEnabled": true,
"currencyName": "Referral points"
}
}
}
Связанные типы
Профиль и приглашения
referralProfile
Описание
Возвращает баланс, заработок, траты, скидку и прогресс текущего пользователя в партнерской программе.
Входные данные
Операция не принимает переменные.
Результат
Тип ответа - ReferralProfile.
Ошибки
UNAUTHENTICATED- пользователь не авторизован.REFERRAL_PROGRAM_DISABLED- партнерская программа выключена.
Пример обмена
{
"documentId": "referralProfile",
"variables": {}
}
{
"data": {
"referralProfile": {
"balance": 250,
"earned": 1200,
"spent": 950,
"referralCount": 8,
"discountPercent": 5,
"nextThreshold": 1500,
"progressPercent": 80
}
}
}
referrals
Описание
Возвращает курсорный список приглашенных игроков.
Входные данные
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
first | Int | нет | Размер страницы. |
after | ID | нет | Курсор следующей страницы из pageInfo.endCursor. |
Результат
Тип ответа - ReferralConnection.
Ошибки
UNAUTHENTICATED- пользователь не авторизован.
Пример обмена
{
"documentId": "referrals",
"variables": {
"first": 20,
"after": null
}
}
{
"data": {
"referrals": {
"items": [
{
"id": "1001",
"login": "InvitedPlayer",
"registeredAt": "2026-07-17T10:30:00Z",
"earned": 150
}
],
"pageInfo": {
"endCursor": "MTA1",
"hasNextPage": true
}
}
}
}
Для следующей страницы передайте pageInfo.endCursor, когда pageInfo.hasNextPage равно true.
Каталог наград
referralRewardProduct
Описание
Возвращает актуальную награду и ее состав перед подтверждением выбора.
Входные данные
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
id | ID! | да | ID награды. |
Результат
Тип ответа - ReferralRewardProduct.
Ошибки
PRODUCT_NOT_FOUND- награда не найдена или недоступна.REFERRAL_PROGRAM_DISABLED- партнерская программа выключена.
Пример обмена
{
"documentId": "referralRewardProduct",
"variables": {
"id": "101"
}
}
{
"data": {
"referralRewardProduct": {
"id": "101",
"name": "Starter pack",
"price": 250,
"delivery": "WAREHOUSE",
"items": [
{
"itemId": 57,
"quantity": 1000000
}
]
}
}
}
Ответ содержит цену и состав выбранной награды.
Получение награды
redeemReferralReward
Описание
Создает идемпотентную заявку на получение реферальной награды.
Входные данные
requestId должен быть UUID v7 и оставаться одинаковым при повторе одного запроса.
Результат
Тип ответа - ReferralRewardRedemption.
Ошибки
UNAUTHENTICATED- пользователь не авторизован.INVALID_REQUEST_ID- передан не UUIDv7.INSUFFICIENT_REFERRAL_BALANCE- недостаточно реферального баланса.REFERRAL_REWARD_NOT_FOUND- награда не найдена.
Пример обмена
{
"documentId": "redeemReferralReward",
"variables": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"productId": "101",
"delivery": "WAREHOUSE",
"accountName": null,
"charName": null,
"selections": []
}
}
{
"data": {
"redeemReferralReward": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"status": "PENDING",
"productId": "101",
"delivery": "WAREHOUSE"
}
}
}
Для доставки CHARACTER передайте игровой аккаунт и персонажа. Для товара с выбором заполните selections значениями itemKey, itemId и quantity.
История наград
referralRewardRedemptions
Описание
Возвращает курсорную историю полученных реферальных наград.
Пример обмена
{
"documentId": "referralRewardRedemptions",
"variables": {
"first": 10,
"after": null
}
}
{
"data": {
"referralRewardRedemptions": {
"items": [
{
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"status": "COMPLETED",
"productId": "101",
"createdAt": "2026-07-17T10:30:00Z"
}
],
"pageInfo": {
"endCursor": "MTA1",
"hasNextPage": false
}
}
}
}
История возвращает PENDING, PROCESSING, COMPLETED или REQUIRES_REVIEW. Для следующей страницы используйте pageInfo.endCursor.
Перевод баланса
convertReferralBalance
Описание
Переводит доступный реферальный баланс в основной баланс пользователя.
Пример обмена
{
"documentId": "convertReferralBalance",
"variables": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844"
}
}
{
"data": {
"convertReferralBalance": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844",
"success": true,
"balance": 2400,
"referralBalance": 0
}
}
}
Повтор с тем же requestId возвращает результат той же операции и не создает второе начисление.