Skip to content

Commit 7aed5ee

Browse files
그룹 목록 조회 기능 추가, BaseMessage 모델 추가
1 parent 8f380f9 commit 7aed5ee

6 files changed

Lines changed: 152 additions & 6 deletions

File tree

src/Models/BaseMessage.php

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models;
4+
5+
use Nurigo\Solapi\Models\Kakao\KakaoOption;
6+
7+
class BaseMessage
8+
{
9+
/**
10+
* @var string 수신번호
11+
*/
12+
public $to;
13+
14+
/**
15+
* @var string 발신번호
16+
*/
17+
public $from;
18+
19+
/**
20+
* @var string 메시지 내용(SMS, LMS, MMS, CTA, CTI 전용)
21+
*/
22+
public $text;
23+
24+
/**
25+
* @var string 스토리지 내 이미지 ID
26+
*/
27+
public $imageId;
28+
29+
/**
30+
* @var string 문자 제목(LMS, MMS 전용 옵션)
31+
*/
32+
public $subject;
33+
34+
/**
35+
* @var string 국가번호
36+
*/
37+
public $country = "82";
38+
39+
/**
40+
* @var KakaoOption
41+
*/
42+
public $kakaoOptions;
43+
44+
/**
45+
* @var string
46+
*/
47+
public $messageId;
48+
49+
/**
50+
* @var string
51+
*/
52+
public $groupId;
53+
54+
/**
55+
* @var string
56+
*/
57+
public $type;
58+
59+
/**
60+
* @var bool
61+
*/
62+
public $autoTypeDetect;
63+
}

src/Models/Message.php

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

55
use Nurigo\Solapi\Models\Kakao\KakaoOption;
66

7-
class Message
7+
class Message extends BaseMessage
88
{
99
/**
1010
* @var string 수신번호
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Request;
4+
5+
use DateTime;
6+
7+
class GetGroupsRequest
8+
{
9+
/**
10+
* @var string
11+
*/
12+
public $startKey;
13+
14+
/**
15+
* @var int
16+
*/
17+
public $limit;
18+
19+
/**
20+
* @var string|DateTime
21+
*/
22+
public $startDate;
23+
24+
/**
25+
* @var string|DateTime
26+
*/
27+
public $endDate;
28+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
namespace Nurigo\Solapi\Models\Response;
4+
5+
class GetGroupsResponse
6+
{
7+
/**
8+
* @var string
9+
*/
10+
public $startKey;
11+
12+
/**
13+
* @var string
14+
*/
15+
public $nextKey;
16+
17+
/**
18+
* @var int
19+
*/
20+
public $limit;
21+
22+
/**
23+
* @var GroupMessageResponse[]
24+
*/
25+
public $groupList;
26+
27+
/**
28+
* @param mixed $value
29+
*/
30+
public function __construct($value)
31+
{
32+
$this->limit = $value->limit ?? null;
33+
$this->groupList = $value->groupList ?? null;
34+
$this->startKey = $value->startKey ?? null;
35+
$this->nextKey = $value->nextKey ?? null;
36+
}
37+
}

src/Models/Response/GetMessagesResponse.php

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

33
namespace Nurigo\Solapi\Models\Response;
44

5+
use Nurigo\Solapi\Models\BaseMessage;
56
use Nurigo\Solapi\Models\Message;
67

78
class GetMessagesResponse
@@ -12,7 +13,7 @@ class GetMessagesResponse
1213
public $limit;
1314

1415
/**
15-
* @var Message[]
16+
* @var BaseMessage[]
1617
*/
1718
public $messageList;
1819

@@ -32,9 +33,9 @@ class GetMessagesResponse
3233
*/
3334
public function __construct($value)
3435
{
35-
$this->limit = $value->limit;
36-
$this->messageList = $value->messageList;
37-
$this->startKey = $value->startKey;
38-
$this->nextKey = $value->nextKey;
36+
$this->limit = $value->limit ?? null;
37+
$this->messageList = $value->messageList ?? null;
38+
$this->startKey = $value->startKey ?? null;
39+
$this->nextKey = $value->nextKey ?? null;
3940
}
4041
}

src/Services/SolapiMessageService.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
use Nurigo\Solapi\Exceptions\MessageNotReceivedException;
1010
use Nurigo\Solapi\Libraries\Fetcher;
1111
use Nurigo\Solapi\Models\Message;
12+
use Nurigo\Solapi\Models\Request\GetGroupsRequest;
1213
use Nurigo\Solapi\Models\Request\GetMessagesRequest;
1314
use Nurigo\Solapi\Models\Request\SendRequest;
1415
use Nurigo\Solapi\Models\Request\UploadFileRequest;
16+
use Nurigo\Solapi\Models\Response\GetGroupsResponse;
1517
use Nurigo\Solapi\Models\Response\GetMessagesResponse;
1618
use Nurigo\Solapi\Models\Response\SendResponse;
1719
use Nurigo\Solapi\Models\Response\UploadFileResponse;
@@ -103,4 +105,19 @@ public function getMessages(GetMessagesRequest $parameter = null)
103105
return null;
104106
}
105107
}
108+
109+
/**
110+
* @param GetGroupsRequest|null $parameter
111+
* @return GetGroupsResponse|null
112+
*/
113+
public function getGroups(GetGroupsRequest $parameter = null)
114+
{
115+
try {
116+
$result = $this->fetcherInstance->request("GET", "/messages/v4/groups", $parameter);
117+
return new GetGroupsResponse($result);
118+
} catch (Exception $exception) {
119+
print_r($exception->getMessage());
120+
return null;
121+
}
122+
}
106123
}

0 commit comments

Comments
 (0)