Skip to main content

Withdrawal Account Recovery

This API recovers an account that is in the withdrawal grace period.

URL Confirmation

This API uses the service-account.playnanoo.com domain.

API Information

  • URL: https://service-account.playnanoo.com/api/v20240401/withdrawal/restore
  • Method: PUT
  • Authentication Required: No

Request Parameters

ParameterTypeRequiredDescription
withdrawal_keystringRequiredWithdrawal key (issued upon withdrawal request)
platformstringRequiredPlatform (e.g., "aos", "ios")
device_idstringRequiredDevice unique ID
device_modelstringRequiredDevice model name
device_osstringRequiredDevice OS
device_languagestringRequiredDevice language (e.g., "KO", "EN")
DeviceInfo Inheritance

The Req class for this API inherits from DeviceInfo. All properties of DeviceInfo are automatically included.

Response Data

Res Class

FieldTypeDescription
StatusstringStatus value

Unity C# Implementation

BaseResponse Class

Base class for all API responses.

public class BaseResponse
{
public string ErrorCode;
public string Message;
public string WithdrawalKey;
public string BlockKey;
}

Field descriptions:

  • ErrorCode: Error code
  • Message: Error message
  • WithdrawalKey: Key required for recovery when the account is in withdrawal grace period (only provided for accounts in withdrawal grace period)
  • BlockKey: Key provided when the account is blocked (only provided for blocked accounts)

Member Withdrawal Cancellation Class

using System;
using System.Collections;
using UnityEngine.Networking;

public class WithDrawalRestore
{
static string path = "https://service-account.playnanoo.com/api/v20240401/withdrawal/restore";

[Serializable]
public class Req : DeviceInfo
{
public string withdrawal_key;

public IEnumerator Send(
string withdrawalKey,
Action<Res> onSuccess,
Action<BaseResponse> onError)
{
if (!string.IsNullOrEmpty(withdrawalKey)) this.withdrawal_key = withdrawalKey;

yield return HttpClient.Send<Req, Res>(
UnityWebRequest.kHttpVerbPUT,
path,
requireToken: false,
body: this,
onSuccess: onSuccess,
onError: onError
);
}
}

[Serializable]
public class Res : BaseResponse
{
public string Status;
}
}

Usage Example

public void RestoreWithdrawal(string withdrawalKey)
{
WithDrawalRestore.Req req = new WithDrawalRestore.Req();

StartCoroutine(req.Send(
withdrawalKey: withdrawalKey,
onSuccess: res =>
{
Debug.Log($"계정 복구 완료: {res.Status}");
Debug.Log("이제 정상적으로 게임을 이용할 수 있습니다.");
},
onError: (error) =>
{
Debug.LogError($"계정 복구 실패: [{error.ErrorCode}] [{error.Message}]");

if (error.ErrorCode == "WITHDRAWAL_PERIOD_EXPIRED")
{
Debug.LogError("유예 기간이 만료되어 계정을 복구할 수 없습니다.");
}
}
));
}
Getting WithdrawalKey

The withdrawal_key can be obtained upon withdrawal request or through the token status check API. Recovery is only possible within the grace period; after the grace period expires, the account cannot be recovered.