가입 신청 길드 조회
사용자가 가입 신청한 길드 목록을 조회합니다.
URL 확인
이 API는 service-api.playnanoo.com 도메인을 사용합니다.
API 정보
- URL:
https://service-api.playnanoo.com/guild/v20230101/personal/request/search - Method:
PUT - 인증 필요: 예 (Bearer Token)
요청 파라미터
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| device_id | string | 필수 | 디바이스 ID |
| table_code | string | 필수 | 테이블 코드 |
응답 데이터
RequestInfo 배열
각 가입 신청 정보는 다음 필드를 포함합니다:
Uid: 길드 고유 IDName: 길드 이름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: 전체 가입 신청 수- 가입 신청이 없으면 빈 배열이 반환됩니다.
중복 신청 불가
한 길드에 대해 하나의 가입 신청만 가능합니다. 이미 신청한 길드에 다시 신청할 수 없습니다.