Перейти к основному содержимому

Партнерская программа

Передавайте documentId и variables в соответствии с форматом запроса.

Состояние программы​

QuerydocumentId: referralProgramConfigauth: public

referralProgramConfig​

Описание​

Возвращает состояние партнерской программы, доступность реферальной валюты и ее название для текущего контекста проекта.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - ReferralProgramConfig.

Ошибки​

  • PROJECT_NOT_FOUND - проект не найден по контексту.

Пример обмена​

Запрос
documentId: referralProgramConfig
{
"documentId": "referralProgramConfig",
"variables": {}
}
Ответ
200 OK
{
"data": {
"referralProgramConfig": {
"enabled": true,
"currencyEnabled": true,
"currencyName": "Referral points"
}
}
}

Связанные типы​

Профиль и приглашения​

QuerydocumentId: referralProfileauth: Bearer session

referralProfile​

Описание​

Возвращает баланс, заработок, траты, скидку и прогресс текущего пользователя в партнерской программе.

Входные данные​

Операция не принимает переменные.

Результат​

Тип ответа - ReferralProfile.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.
  • REFERRAL_PROGRAM_DISABLED - партнерская программа выключена.

Пример обмена​

Запрос
documentId: referralProfile
{
"documentId": "referralProfile",
"variables": {}
}
Ответ
200 OK
{
"data": {
"referralProfile": {
"balance": 250,
"earned": 1200,
"spent": 950,
"referralCount": 8,
"discountPercent": 5,
"nextThreshold": 1500,
"progressPercent": 80
}
}
}
QuerydocumentId: referralsauth: Bearer session

referrals​

Описание​

Возвращает курсорный список приглашенных игроков.

Входные данные​

ПолеТипОбязательноеОписание
firstIntнетРазмер страницы.
afterIDнетКурсор следующей страницы из pageInfo.endCursor.

Результат​

Тип ответа - ReferralConnection.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.

Пример обмена​

Запрос
documentId: referrals
{
"documentId": "referrals",
"variables": {
"first": 20,
"after": null
}
}
Ответ
200 OK
{
"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.

Каталог наград​

QuerydocumentId: referralRewardProductauth: public

referralRewardProduct​

Описание​

Возвращает актуальную награду и ее состав перед подтверждением выбора.

Входные данные​

ПолеТипОбязательноеОписание
idID!даID награды.

Результат​

Тип ответа - ReferralRewardProduct.

Ошибки​

  • PRODUCT_NOT_FOUND - награда не найдена или недоступна.
  • REFERRAL_PROGRAM_DISABLED - партнерская программа выключена.

Пример обмена​

Запрос
documentId: referralRewardProduct
{
"documentId": "referralRewardProduct",
"variables": {
"id": "101"
}
}
Ответ
200 OK
{
"data": {
"referralRewardProduct": {
"id": "101",
"name": "Starter pack",
"price": 250,
"delivery": "WAREHOUSE",
"items": [
{
"itemId": 57,
"quantity": 1000000
}
]
}
}
}

Ответ содержит цену и состав выбранной награды.

Получение награды​

MutationdocumentId: redeemReferralRewardauth: Bearer session

redeemReferralReward​

Описание​

Создает идемпотентную заявку на получение реферальной награды.

Входные данные​

requestId должен быть UUID v7 и оставаться одинаковым при повторе одного запроса.

Результат​

Тип ответа - ReferralRewardRedemption.

Ошибки​

  • UNAUTHENTICATED - пользователь не авторизован.
  • INVALID_REQUEST_ID - передан не UUIDv7.
  • INSUFFICIENT_REFERRAL_BALANCE - недостаточно реферального баланса.
  • REFERRAL_REWARD_NOT_FOUND - награда не найдена.

Пример обмена​

Запрос
documentId: redeemReferralReward
{
"documentId": "redeemReferralReward",
"variables": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"productId": "101",
"delivery": "WAREHOUSE",
"accountName": null,
"charName": null,
"selections": []
}
}
Ответ
200 OK
{
"data": {
"redeemReferralReward": {
"requestId": "019b2df1-85a7-7fd0-9d59-2c268ec93c80",
"status": "PENDING",
"productId": "101",
"delivery": "WAREHOUSE"
}
}
}

Для доставки CHARACTER передайте игровой аккаунт и персонажа. Для товара с выбором заполните selections значениями itemKey, itemId и quantity.

История наград​

QuerydocumentId: referralRewardRedemptionsauth: Bearer session

referralRewardRedemptions​

Описание​

Возвращает курсорную историю полученных реферальных наград.

Пример обмена​

Запрос
documentId: referralRewardRedemptions
{
"documentId": "referralRewardRedemptions",
"variables": {
"first": 10,
"after": null
}
}
Ответ
200 OK
{
"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.

Перевод баланса​

MutationdocumentId: convertReferralBalanceauth: Bearer session

convertReferralBalance​

Описание​

Переводит доступный реферальный баланс в основной баланс пользователя.

Пример обмена​

Запрос
documentId: convertReferralBalance
{
"documentId": "convertReferralBalance",
"variables": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844"
}
}
Ответ
200 OK
{
"data": {
"convertReferralBalance": {
"requestId": "019b2df2-2d30-78d9-a3ec-d3b554017844",
"success": true,
"balance": 2400,
"referralBalance": 0
}
}
}

Повтор с тем же requestId возвращает результат той же операции и не создает второе начисление.