Skip to main content
Version: 5.18.17

GetPostList(PostType.Coupon)

public BackendReturnObject GetPostList(PostType.Coupon);
public BackendReturnObject GetPostList(PostType.Coupon, int limit);

Parameters​

ValueTypeDescription
postTypePostTypeType of mail to load
limitintNumber of mail to load. Choose between 10 and 100. The limit is set to 10 by default.

'limit' evaluates to 10 if you specify a smaller number.

PostType​

ValueDescription
AdminAdmin mail sent from BACKND Console
RankRanking mail sent automatically after ranking settlement
Coupon Coupon mail sent after using a coupon with the page created in Web Coupon Settings in BACKND Console
UserUser mail sent using each user's data

Description​

Loads the mail list of the given type(PostType).

The return value varies for each PostType, so please refer to GetReturnValuetoJSON() below.
Note that user mail has vastly different JSON type from admin or ranking mail.

  • The data types "S", "L", and "M" in the return values of the previous mail function(Backend.Social.Post) was removed.
  • The title of coupon mail is the title set in BACKND Console > Coupon Management.
  • Coupon mail unlike the other types that can be sent in the console, has only three return values: title, inDate, and items.
  • Coupon mail has no expiration date; for mail that is received within the coupon expiration date, the mail will not expire.
  • Items that are attached to coupon mail are automatically removed after the user claims them.
  • BACKND does not provide a function to check whether coupon mail was received.

Example​

Synchronous​

BackendReturnObject bro = Backend.UPost.GetPostList(PostType.Coupon, 10);
LitJson.JsonData json = bro.GetReturnValuetoJSON()["postList"];

for(int i = 0; i < json.Count; i++) {
Debug.Log("Title : " + json[i]["title"].ToString());
Debug.Log("inDate : " + json[i]["inDate"].ToString());
}

Asynchronous​

Backend.UPost.GetPostList(PostType.Coupon, 10, callback => {
LitJson.JsonData json = callback.GetReturnValuetoJSON()["postList"];

for(int i = 0; i < json.Count; i++) {
Debug.Log("Title : " + json[i]["title"].ToString());
Debug.Log("inDate : " + json[i]["inDate"].ToString());
}
});

SendQueue​

SendQueue.Enqueue(Backend.UPost.GetPostList, PostType.Coupon, 10, callback =>  {
LitJson.JsonData json = callback.GetReturnValuetoJSON()["postList"];

for(int i = 0; i < json.Count; i++) {
Debug.Log("Title : " + json[i]["title"].ToString());
Debug.Log("inDate : " + json[i]["inDate"].ToString());
}
});

Return cases​

Success cases​

When mail is loaded successfully
statusCode : 200

returnValue : refer to GetReturnValuetoJSON

When there is no mail to load
statusCode : 200

returnValue : { "postList" : []}

GetReturnValuetoJSON​

Coupon mail​

When parsing, note that the coupon mail can have zero, one, or multiple items.

{
"postList": [
{
"inDate": "2022-12-12T03:09:26.789Z",
"items": [],
"title": "0 Coupon items"
},
{
"inDate": "2022-12-12T03:09:26.789Z",
"items": [
{
"item": {
"chartFileName": "chartExample.xlsx",
"itemID": "i101",
"itemName": "Item1",
"hpPower": "1",
"num": "1"
},
"itemCount": 1,
"chartName": "Chart"
},
{
"item": {
"chartFileName": "chartExample.xlsx",
"itemID": "i102",
"itemName": "item2",
"hpPower": "2",
"num": "2"
},
"itemCount": 2,
"chartName": "Chart"
}
],
"title": "2 Items"
},
{
"inDate": "2022-12-12T03:09:18.240Z",
"items": [
{
"item": {
"chartFileName": "chartExample.xlsx",
"itemID": "i101",
"itemName": "Item1",
"hpPower": "1",
"num": "1"
},
"itemCount": 1,
"chartName": "Chart"
}
],
"title": "1 Item"
}
]
}

Sample code​

This example works for admin, ranking, and coupon mail.

public class UPostChartItem {
public string chartFileName;
public string itemID;
public string itemName;
public string hpPower;
public int itemCount;
public override string ToString() {
return
"item : \n" +
$"| chartFileName : {chartFileName}\n" +
$"| itemID : {itemID}\n" +
$"| itemName : {itemName}\n" +
$"| itemCount : {itemCount}\n" +
$"| hpPower : {hpPower}\n";
}
}
public class UPostItem {
public PostType postType;
public string title;
public string content;
public DateTime expirationDate;
public DateTime reservationDate;
public DateTime sentDate;
public string nickname;
public string inDate;
public string author; // Exists only in admin mail
public string rankType; // Exists only in ranking mail
public List<UPostChartItem> items = new List<UPostChartItem>();
public override string ToString() {
string totalString =
$"title : {title}\n" +
$"inDate : {inDate}\n";
if(postType == PostType.Admin || postType == PostType.Rank) {
totalString +=
$"content : {content}\n" +
$"expirationDate : {expirationDate}\n" +
$"reservationDate : {reservationDate}\n" +
$"sentDate : {sentDate}\n" +
$"nickname : {nickname}\n";
if(postType == PostType.Admin) {
totalString += $"author : {author}\n";
}
if(postType == PostType.Rank) {
totalString += $"rankType : {rankType}\n";
}
}
string itemList = string.Empty;
for(int i = 0; i < items.Count; i++) {
itemList += items[i].ToString();
itemList += "\n";
}
totalString += itemList;
return totalString;
}
}
public void GetPostListTest() {
int limit = 100;
PostType postType = PostType.Coupon;
BackendReturnObject bro = Backend.UPost.GetPostList(postType, limit);
if(!bro.IsSuccess()) {
Debug.LogError(bro.ToString());
return;
}
LitJson.JsonData postListJson = bro.GetReturnValuetoJSON()["postList"];

List<UPostItem> postItemList = new List<UPostItem>();

for(int i = 0; i < postListJson.Count; i++) {

UPostItem postItem = new UPostItem();

postItem.inDate = postListJson[i]["inDate"].ToString();
postItem.title = postListJson[i]["title"].ToString();
postItem.postType = postType;

if(postType == PostType.Admin || postType == PostType.Rank) {
postItem.content = postListJson[i]["content"].ToString();
postItem.expirationDate = DateTime.Parse(postListJson[i]["expirationDate"].ToString());
postItem.reservationDate = DateTime.Parse(postListJson[i]["reservationDate"].ToString());
postItem.nickname = postListJson[i]["nickname"]?.ToString();
postItem.sentDate = DateTime.Parse(postListJson[i]["sentDate"].ToString());

if(postListJson[i].ContainsKey("author")) {
postItem.author = postListJson[i]["author"].ToString();
}
if(postListJson[i].ContainsKey("rankType")) {
postItem.author = postListJson[i]["rankType"].ToString();
}
}
if(postListJson[i]["items"].Count > 0) {

for(int itemNum = 0; itemNum < postListJson[i]["items"].Count; itemNum++) {

UPostChartItem item = new UPostChartItem();
item.itemCount = int.Parse(postListJson[i]["items"][itemNum]["itemCount"].ToString());
item.chartFileName = postListJson[i]["items"][itemNum]["item"]["chartFileName"].ToString();
item.itemID = postListJson[i]["items"][itemNum]["item"]["itemID"].ToString();
item.itemName = postListJson[i]["items"][itemNum]["item"]["itemName"].ToString();
item.hpPower = postListJson[i]["items"][itemNum]["item"]["hpPower"].ToString();

postItem.items.Add(item);
}
}

postItemList.Add(postItem);
Debug.Log(postItem.ToString());
}
}