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;
}

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($"Account recovery complete: {res.Status}");
Debug.Log("You can now use the game normally.");
},
onError: (error) =>
{
Debug.LogError($"Account recovery failed: [{error.ErrorCode}] [{error.Message}]");

if (error.ErrorCode == "WITHDRAWAL_PERIOD_EXPIRED")
{
Debug.LogError("The grace period has expired and the account cannot be recovered.");
}
}
));
}
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.