Skip to main content

Duplicate Check

This API checks if a nickname is already in use.

URL Confirmation

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

API Information

  • URL: https://service-account.playnanoo.com/api/v20240101/nickname/exists
  • Method: PUT
  • Authentication Required: Yes

Request Parameters

ParameterTypeRequiredDescription
change_nicknamestringRequiredNickname to check
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)

Nickname Duplicate Check Class

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

public class NicknameExists
{
static string path = "https://service-account.playnanoo.com/api/v20240101/nickname/exists";

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

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

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

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

Usage Example

public void CheckNicknameExists(string change_nickname)
{
NicknameExists.Req req = new NicknameExists.Req();

StartCoroutine(req.Send(
change_nickname: change_nickname,
onSuccess: res =>
{
if (res.Status == "Y")
{
Debug.Log("이미 사용 중인 닉네임입니다.");
}
else if (res.Status == "N")
{
Debug.Log("사용 가능한 닉네임입니다.");
}
},
onError: (error) =>
{
Debug.LogError($"닉네임 중복 확인 실패: [{error.ErrorCode}] [{error.Message}]");
}
));
}
Status Values
  • "Y": Nickname already exists (duplicate)
  • "N": Nickname is available (not duplicate)