본문으로 건너뛰기

가입 신청 길드 조회

사용자가 가입 신청한 길드 목록을 조회합니다.

URL 확인

이 API는 service-api.playnanoo.com 도메인을 사용합니다.

API 정보

  • URL: https://service-api.playnanoo.com/guild/v20230101/personal/request/search
  • Method: PUT
  • 인증 필요: 예 (Bearer Token)

요청 파라미터

파라미터타입필수설명
device_idstring필수디바이스 ID
table_codestring필수테이블 코드

응답 데이터

RequestInfo 배열

각 가입 신청 정보는 다음 필드를 포함합니다:

  • Uid: 길드 고유 ID
  • Name: 길드 이름
  • MemberCount: 현재 멤버 수
  • MemberLimit: 멤버 제한 수
  • AutoJoin: 자동 가입 여부
  • ExtraData: 길드 추가 데이터
  • RequestedAt: 가입 신청 일시

코드 예제

void UMyGame::GetMyGuildRequests(const FString& DeviceId, const FString& TableCode)
{
// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("device_id"), DeviceId);
Body->SetStringField(TEXT("table_code"), TableCode);

// JSON 문자열 변환
FString JsonBody = FPlayNANOOHelper::ToJsonString(Body);

// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-api.playnanoo.com/guild/v20230101/personal/request/search"));
Request->SetVerb(TEXT("PUT"));
FPlayNANOOHelper::SetCommonHeaders(Request, true); // 인증 토큰 포함
Request->SetContentAsString(JsonBody);

Request->OnProcessRequestComplete().BindLambda(
[](FHttpRequestPtr Req, FHttpResponsePtr Res, bool bSuccess)
{
if (bSuccess && Res.IsValid())
{
TSharedPtr<FJsonObject> JsonObject;
TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Res->GetContentAsString());

if (FJsonSerializer::Deserialize(Reader, JsonObject))
{
int32 Total = JsonObject->GetIntegerField(TEXT("Total"));
const TArray<TSharedPtr<FJsonValue>>* RequestsArray;

if (JsonObject->TryGetArrayField(TEXT("Requests"), RequestsArray))
{
UE_LOG(LogTemp, Log, TEXT("가입 신청 목록 조회 성공! 총 %d개"), Total);

for (const auto& RequestValue : *RequestsArray)
{
TSharedPtr<FJsonObject> Request = RequestValue->AsObject();
FString Name = Request->GetStringField(TEXT("Name"));
FString Uid = Request->GetStringField(TEXT("Uid"));

UE_LOG(LogTemp, Log, TEXT("Guild: %s"), *Name);
}
}
}
}
});

Request->ProcessRequest();
}
인증 필요

이 API는 Bearer 토큰 인증이 필요합니다. 먼저 로그인하여 액세스 토큰을 발급받아야 합니다.

활용 방법

이 API를 사용하여:

  • 사용자가 어떤 길드에 가입 신청했는지 확인
  • 대기 중인 가입 신청 수 표시
  • 신청 취소가 필요한 경우 길드 목록 제공
응답 데이터
  • Requests: 가입 신청한 길드 목록 (TArray)
  • Total: 전체 가입 신청 수
  • 가입 신청이 없으면 빈 배열이 반환됩니다.
중복 신청 불가

한 길드에 대해 하나의 가입 신청만 가능합니다. 이미 신청한 길드에 다시 신청할 수 없습니다.