Skip to content

Commit 0ea5a0f

Browse files
메시지 조회, 그룹 조회, 통계 조회 기능 추가
1 parent f4d3433 commit 0ea5a0f

12 files changed

Lines changed: 508 additions & 3 deletions

src/Models/BaseMessage.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace Nurigo\Solapi\Models;
44

5-
use Nurigo\Solapi\Models\Kakao\KakaoOption;
5+
use Nurigo\Solapi\Models\Kakao\BaseKakaoOption;
66

77
class BaseMessage
88
{
@@ -37,7 +37,7 @@ class BaseMessage
3737
public $country = "82";
3838

3939
/**
40-
* @var KakaoOption
40+
* @var BaseKakaoOption
4141
*/
4242
public $kakaoOptions;
4343

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Kakao;
4+
5+
class BaseKakaoOption
6+
{
7+
/**
8+
* @var string 카카오 채널 ID
9+
*/
10+
public $pfId;
11+
12+
/**
13+
* @var string 카카오 알림톡 템플릿 ID
14+
*/
15+
public $templateId;
16+
17+
/**
18+
* @var bool 대체 발송 비활성화 옵션
19+
* true일 경우에만 대체 발송이 비활성화 됩니다.
20+
*/
21+
public $disableSms = false;
22+
23+
/**
24+
* @var bool
25+
*/
26+
public $adFlag = false;
27+
28+
/**
29+
* @var array 메시지 버튼 목록
30+
*/
31+
public $buttons;
32+
}

src/Models/Kakao/KakaoOption.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use stdClass;
66

7-
class KakaoOption
7+
class KakaoOption extends BaseKakaoOption
88
{
99
/**
1010
* @var string 카카오 채널 ID
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Request;
4+
5+
class GetGroupMessagesRequest
6+
{
7+
/**
8+
* @var string
9+
*/
10+
public $startKey;
11+
12+
/**
13+
* @var int
14+
*/
15+
public $limit;
16+
17+
/**
18+
* @return string
19+
*/
20+
public function getStartKey(): string
21+
{
22+
return $this->startKey;
23+
}
24+
25+
/**
26+
* @param string $startKey
27+
* @return GetGroupMessagesRequest
28+
*/
29+
public function setStartKey(string $startKey): GetGroupMessagesRequest
30+
{
31+
$this->startKey = $startKey;
32+
return $this;
33+
}
34+
35+
/**
36+
* @return int
37+
*/
38+
public function getLimit(): int
39+
{
40+
return $this->limit;
41+
}
42+
43+
/**
44+
* @param int $limit
45+
* @return GetGroupMessagesRequest
46+
*/
47+
public function setLimit(int $limit): GetGroupMessagesRequest
48+
{
49+
$this->limit = $limit;
50+
return $this;
51+
}
52+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Request;
4+
5+
class GetStatisticsRequest
6+
{
7+
/**
8+
* @var string
9+
*/
10+
public $startDate;
11+
12+
/**
13+
* @var string
14+
*/
15+
public $endDate;
16+
17+
/**
18+
* @return string
19+
*/
20+
public function getStartDate(): string
21+
{
22+
return $this->startDate;
23+
}
24+
25+
/**
26+
* @param string $startDate
27+
* @return GetStatisticsRequest
28+
*/
29+
public function setStartDate(string $startDate): GetStatisticsRequest
30+
{
31+
$this->startDate = $startDate;
32+
return $this;
33+
}
34+
35+
/**
36+
* @return string
37+
*/
38+
public function getEndDate(): string
39+
{
40+
return $this->endDate;
41+
}
42+
43+
/**
44+
* @param string $endDate
45+
* @return GetStatisticsRequest
46+
*/
47+
public function setEndDate(string $endDate): GetStatisticsRequest
48+
{
49+
$this->endDate = $endDate;
50+
return $this;
51+
}
52+
53+
/**
54+
* @return string
55+
*/
56+
public function getMasterAccountId(): string
57+
{
58+
return $this->masterAccountId;
59+
}
60+
61+
/**
62+
* @param string $masterAccountId
63+
* @return GetStatisticsRequest
64+
*/
65+
public function setMasterAccountId(string $masterAccountId): GetStatisticsRequest
66+
{
67+
$this->masterAccountId = $masterAccountId;
68+
return $this;
69+
}
70+
71+
/**
72+
* @var string
73+
*/
74+
public $masterAccountId;
75+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Response;
4+
5+
use Nurigo\Solapi\Models\BaseMessage;
6+
7+
class GetGroupMessagesResponse
8+
{
9+
/**
10+
* @var string
11+
*/
12+
public $startKey;
13+
14+
/**
15+
* @var string
16+
*/
17+
public $nextKey;
18+
19+
/**
20+
* @var int
21+
*/
22+
public $limit;
23+
24+
/**
25+
* @var BaseMessage[]
26+
*/
27+
public $messageList;
28+
29+
/**
30+
* @param mixed $value
31+
*/
32+
public function __construct($value)
33+
{
34+
$this->limit = $value->limit ?? null;
35+
$this->messageList = $value->messageList ?? null;
36+
$this->startKey = $value->startKey ?? null;
37+
$this->nextKey = $value->nextKey ?? null;
38+
}
39+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Response;
4+
5+
class GetStatisticsRequest
6+
{
7+
/**
8+
* @var string
9+
*/
10+
public $startDate;
11+
12+
/**
13+
* @var string
14+
*/
15+
public $endDate;
16+
17+
/**
18+
* @var string
19+
*/
20+
public $masterAccountId;
21+
22+
/**
23+
* @return string
24+
*/
25+
public function getStartDate(): string
26+
{
27+
return $this->startDate;
28+
}
29+
30+
/**
31+
* @param string $startDate
32+
* @return GetStatisticsRequest
33+
*/
34+
public function setStartDate(string $startDate): GetStatisticsRequest
35+
{
36+
$this->startDate = $startDate;
37+
return $this;
38+
}
39+
40+
/**
41+
* @return string
42+
*/
43+
public function getEndDate(): string
44+
{
45+
return $this->endDate;
46+
}
47+
48+
/**
49+
* @param string $endDate
50+
* @return GetStatisticsRequest
51+
*/
52+
public function setEndDate(string $endDate): GetStatisticsRequest
53+
{
54+
$this->endDate = $endDate;
55+
return $this;
56+
}
57+
58+
/**
59+
* @return string
60+
*/
61+
public function getMasterAccountId(): string
62+
{
63+
return $this->masterAccountId;
64+
}
65+
66+
/**
67+
* @param string $masterAccountId
68+
* @return GetStatisticsRequest
69+
*/
70+
public function setMasterAccountId(string $masterAccountId): GetStatisticsRequest
71+
{
72+
$this->masterAccountId = $masterAccountId;
73+
return $this;
74+
}
75+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Response;
4+
5+
class GetStatisticsResponse
6+
{
7+
/**
8+
* @var int
9+
*/
10+
public $balance;
11+
12+
/**
13+
* @var int
14+
*/
15+
public $point;
16+
17+
/**
18+
* @var int
19+
*/
20+
public $monthlyBalanceAvg;
21+
22+
/**
23+
* @var int
24+
*/
25+
public $monthlyPointAvg;
26+
27+
/**
28+
* @var StatisticsMonthPeriod[]
29+
*/
30+
public $monthPeriod;
31+
32+
/**
33+
* @var MessageType
34+
*/
35+
public $total;
36+
37+
38+
}

0 commit comments

Comments
 (0)