Skip to main content

Send Item

Sends items via inbox.

URL Confirmation

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

API Information

  • URL: https://service-api.playnanoo.com/inbox/v20220901/send
  • Method: PUT
  • Authentication Required: Yes

Request Parameters

ParameterTypeRequiredDescription
table_codestringRequiredTable code
itemsarrayRequiredArray of items to send
periodnumberRequiredValidity period (in seconds)

Response Data

Item send result is returned.

Code Example

void UMyGame::SendInboxItem(const FString& TableCode, int32 Period)
{
// items 배열 생성
TArray<TSharedPtr<FJsonValue>> ItemsArray;

TSharedPtr<FJsonObject> Item = MakeShareable(new FJsonObject());
Item->SetStringField(TEXT("item_code"), TEXT("ITEM_001"));
Item->SetNumberField(TEXT("item_count"), 1);
ItemsArray.Add(MakeShareable(new FJsonValueObject(Item)));

// 플레이어 정보가 포함된 요청 바디 생성
TSharedPtr<FJsonObject> Body = FPlayNANOOHelper::CreateRequestBody();
Body->SetStringField(TEXT("table_code"), TableCode);
Body->SetArrayField(TEXT("items"), ItemsArray);
Body->SetNumberField(TEXT("period"), Period);

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

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

Request->OnProcessRequestComplete().BindLambda(
[](FHttpRequestPtr Req, FHttpResponsePtr Res, bool bSuccess)
{
if (bSuccess && Res.IsValid())
{
UE_LOG(LogTemp, Log, TEXT("우편함 아이템 전송 성공"));
}
});

Request->ProcessRequest();
}
Validity Period

period is specified in seconds. For example, 24 hours is 86400 seconds.