跳转到主要内容

公会 创建

公会创建。

URL确认

此API使用 service-api.playnanoo.com 域名。

API信息

  • URL: https://service-api.playnanoo.com/guild/v20230101/create
  • Method: PUT
  • 需要认证: 是

请求参数

参数类型必填说明
table_codestring必填表 代码
namestring必填公会 名称
member_limitint必填成员限制数
member_point_typestring必填成员 积分 类型 (keep: 积分保持, delete: 积分扣减)
auto_joinstring必填自动 加入 与否 (Y/N)
extra_datastring必填添加 数据
PlayerInfo继承

此API的Req结构体包含PlayerInfo的属性。

响应数据

Res类

字段类型说明
Uidstring公会 唯一 ID
Namestring公会 名称

代码示例

void UMyGame::CreateGuild(const FString& TableCode, const FString& GuildName, int32 MemberLimit, const FString& MemberPointType, bool bAutoJoin, const FString& ExtraData)
{
// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("table_code"), TableCode);
Body->SetStringField(TEXT("name"), GuildName);
Body->SetNumberField(TEXT("member_limit"), MemberLimit);
Body->SetStringField(TEXT("member_point_type"), MemberPointType);
Body->SetStringField(TEXT("auto_join"), bAutoJoin ? TEXT("Y") : TEXT("N"));
if (!ExtraData.IsEmpty())
{
Body->SetStringField(TEXT("extra_data"), ExtraData);
}

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

// HTTP 요청
TSharedRef<IHttpRequest> Request = FHttpModule::Get().CreateRequest();
Request->SetURL(TEXT("https://service-api.playnanoo.com/guild/v20230101/create"));
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))
{
FString Uid = JsonObject->GetStringField(TEXT("Uid"));
FString Name = JsonObject->GetStringField(TEXT("Name"));

UE_LOG(LogTemp, Log, TEXT("길드 생성 성공!"));
UE_LOG(LogTemp, Log, TEXT("Guild UID: %s"), *Uid);
UE_LOG(LogTemp, Log, TEXT("Guild Name: %s"), *Name);
}
}
});

Request->ProcessRequest();
}
需要认证

此API需要Bearer Token认证。需要先登录获取访问Token。

积分类型选项

member_point_type参数决定公会成员退出时积分的处理方式:

  • "keep": 积分保持 - 成员退出后公会的总积分保持
  • "delete": 积分扣减 - 成员退出时该成员的积分从公会中扣减
自动加入选项

auto_join参数决定公会加入请求的处理方式:

  • "Y": 加入请求时自动批准
  • "N": 公会会长或管理员需要手动批准加入请求