Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit b43d210

Browse files
committed
그룹 메세지 및 일부 동작에 json을 미리 인코딩해서 필요한 정보만 내보내도록 개선
1 parent 7b204f0 commit b43d210

6 files changed

Lines changed: 48 additions & 72 deletions

File tree

app/Nurigo/Api/GroupMessage.php

Lines changed: 22 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function createGroup($options)
3636
/**
3737
* @brief get group list ( HTTP Method GET )
3838
* @param None
39-
* @return array['groupid', 'groupid'...]
39+
* @return object(groupList)
4040
*/
4141
public function getGroupList()
4242
{
@@ -84,21 +84,13 @@ public function getGroupInfo($group_id)
8484
$options->group_id = $group_id;
8585
return $this->request(sprintf('group/%s/getGroupInfo', $group_id), $options);
8686
}
87-
87+
88+
8889
/**
8990
* @brief add messages to group ( HTTP Method POST )
90-
* @param object $options {
91-
* @param string group_id [required]
92-
* @param string to [required]
93-
* @param string from [required]
94-
* @param string text [required]
95-
* @param string image_id [optional]
96-
* @param string refname [optional]
97-
* @param string country [optional]
98-
* @param string datetime [optional]
99-
* @param string subject [optional]
100-
* @param integer delay [optional] }
101-
* @return object(success_count, error_count, error_list['index':'code', 'index', 'code'])
91+
* @param $options
92+
* @return mixed
93+
* @throws CoolsmsSDKException
10294
*/
10395
public function addMessages($options)
10496
{
@@ -141,35 +133,6 @@ public function addMessages($options)
141133
return $this->request(sprintf('group/%s/addMessages', $options->group_id), $obj, true);
142134
}
143135

144-
/**
145-
* @brief add json type messages to group ( HTTP Method POST )
146-
* @param object $options {
147-
* @param string group_id [required]
148-
* @param string messages [required] [{
149-
* @param string to [required]
150-
* @param string from [required]
151-
* @param string text [required]
152-
* @param string image_id [optional]
153-
* @param string refname [optional]
154-
* @param string country [optional]
155-
* @param string datetime [optional]
156-
* @param string subject [optional]
157-
* @param integer delay [optional] }] }
158-
* @return array[object(success_count, error_count, error_list['index':'code', 'index', 'code']), ...]
159-
*/
160-
public function addMessagesJSON($options)
161-
{
162-
if (!isset($options->group_id) || !isset($options->messages)) throw new CoolsmsSDKException('group_id and messages is required', 202);
163-
foreach ($options->messages as $val) {
164-
if (!isset($val->to) || !isset($val->text) || !isset($val->from)) {
165-
throw new CoolsmsSDKException('to, text, from is required', 202);
166-
}
167-
}
168-
169-
$options->messages = json_encode($options->messages);
170-
return $this->request(sprintf('groups/%s/add_messages.json', $options->group_id), $options, true);
171-
}
172-
173136
/**
174137
* @brief get message list ( HTTP Method GET )
175138
* @param string $group_id [required]
@@ -182,10 +145,13 @@ public function getMessageList($group_id, $offset = 0, $limit = 20)
182145
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
183146

184147
$options = new \stdClass();
185-
$options->group_id = $group_id;
186148
$options->offset = $offset;
187149
$options->limit = $limit;
188-
return $this->request(sprintf('groups/%s/message_list', $options->group_id), $options);
150+
151+
$encoding_json_data = json_encode($options);
152+
$obj = new \stdClass();
153+
$obj->encoding_json_data = $encoding_json_data;
154+
return $this->request(sprintf('group/%s/getMessageList', $group_id), $obj, true);
189155
}
190156

191157
/**
@@ -199,9 +165,14 @@ public function deleteMessages($group_id, $message_ids)
199165
if (!$group_id || !$message_ids) throw new CoolsmsSDKException('group_id and message_ids are required', 202);
200166

201167
$options = new \stdClass();
202-
$options->group_id = $group_id;
203-
$options->message_ids = $message_ids;
204-
return $this->request(sprintf('groups/%s/delete_messages', $options->group_id), $options, true);
168+
$options->messages = array();
169+
$options->messages[0] = new \stdClass();
170+
$options->messages[0]->messageId = $message_ids;
171+
172+
$encoding_json_data = json_encode($options);
173+
$obj = new \stdClass();
174+
$obj->encoding_json_data = $encoding_json_data;
175+
return $this->request(sprintf('groups/%s/deleteMessages', $group_id), $obj, true);
205176
}
206177

207178
/**
@@ -213,8 +184,8 @@ public function sendGroupMessage($group_id)
213184
{
214185
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
215186

216-
$options = new \stdClass();
217-
$options->group_id = $group_id;
218-
return $this->request(sprintf('group/%s/sendMessages', $group_id), $options, true);
187+
$obj = new \stdClass();
188+
$obj->encoding_json_data = null;
189+
return $this->request(sprintf('group/%s/sendMessages', $group_id), $obj, true);
219190
}
220191
}

app/Nurigo/Api/Message.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ public function send($options)
4747
$args->from = $options->from;
4848
$args->text = $options->text;
4949
$args->type = $options->type;
50-
$args->country = $options->country;
51-
$args->subject = $options->subject;
50+
if($options->country) $args->country = $options->country;
51+
if($options->subject) $args->subject = $options->subject;
5252
if ($options->imageId) $args->imageId = $options->imageId;
5353
if ($options->scheduledDate) $args->scheduledDate = $options->scheduledDate;
5454
if ($options->kakaoOptions) $args->kakaoOptions = $options->kakaoOptions;
@@ -57,12 +57,12 @@ public function send($options)
5757
$object->groupOptions = new \stdClass();
5858
if ($options->appId) $object->groupOptions->appId = $options->appId;
5959
if ($options->appVersion) $object->groupOptions->appVersion = $options->appVersion;
60-
$object->groupOptions->mode = $options->mode;
61-
$object->groupOptions->forceSms = $options->forceSms;
62-
$object->groupOptions->onlyAta = $options->onlyAta;
63-
$object->groupOptions->osPlatform = $options->osPlatform;
64-
$object->groupOptions->devLanguage = $options->devLanguage;
65-
$object->groupOptions->sdkVersion = $options->sdkVersion;
60+
if ($options->mode) $object->groupOptions->mode = $options->mode;
61+
if ($options->forceSms) $object->groupOptions->forceSms = $options->forceSms;
62+
if ($options->onlyAta) $object->groupOptions->onlyAta = $options->onlyAta;
63+
if ($options->osPlatform) $object->groupOptions->osPlatform = $options->osPlatform;
64+
if ($options->devLanguage) $object->groupOptions->devLanguage = $options->devLanguage;
65+
if ($options->sdkVersion) $object->groupOptions->sdkVersion = $options->sdkVersion;
6666
$options->encoding_json_data = json_encode($object);
6767

6868
return $this->request('sendMessages', $options, true);

app/Nurigo/Coolsms.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ public function curlProcess()
112112
private function setContent($options)
113113
{
114114
if($options->encoding_json_data) {
115+
if ($options->json_option == 'SimpleMessage')
116+
{
117+
$this->setApiConfig('SimpleMessage', '3');
118+
}
115119
$this->content = $options->encoding_json_data;
116120
return;
117121
}
@@ -130,10 +134,7 @@ private function setContent($options)
130134
if ($options->json_option !== 'groupOptions') {
131135
$this->content->$json_option = array($this->content->$json_option);
132136
}
133-
if ($options->json_option == 'SimpleMessage')
134-
{
135-
$this->setApiConfig('SimpleMessage', '3');
136-
}
137+
137138

138139
$this->content = json_encode($this->content);
139140
}

examples/GroupMessage/example_add_messages.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@
3030
// Optional parameters for your own needs
3131
// $options->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA )
3232
// $options->image_id = 'IM289E9CISNWIC' // image_id. type must be set as 'MMS'
33-
// $options->refname = ''; // Reference name
3433
// $options->country = 82; // Korea(82) Japan(81) America(1) China(86) Default is Korea
35-
// $options->datetime = '20140106153000'; // Format must be(YYYYMMDDHHMISS) 2014 01 06 15 30 00 (2014 Jan 06th 3pm 30 00)
3634
// $options->subject = 'Hello World'; // set msg title for LMS and MMS
37-
// $options->delay = 10; // '0~20' delay messages
38-
// $options->sender_key = '55540253a3e61072...'; // 알림톡 사용을 위해 필요합니다. 신청방법 : http://www.coolsms.co.kr/AboutAlimTalk
39-
// $options->template_code = 'C004'; // 알림톡 template code 입니다. 자세한 설명은 http://www.coolsms.co.kr/AboutAlimTalk을 참조해주세요.
35+
// $options->kakaoOptions = new stdClass(); // 알림톡 혹은 친구톡을 전송할때 한번 초기화 필요.
36+
// $options->kakaoOptions->senderKey = '55540253a3e61072...'; // 발급받은 snederKey
37+
// $options->kakaoOptions->templateCode = 'C001'; // 알림톡 발송시 해당 템플릿검사를 위한 템플릿 코드
38+
// $options->kakaoOptions->buttonName = '바로가기'; // 알림톡과 친구톡에서 바로가기 링크버튼의 이름
39+
// $options->kakaoOptions->buttonUrl = 'https://www.coolsms.co.kr/'; // 알림톡 바로가기 링크 버튼클릭시 이동할 링크주소
4040

4141
$result = $rest->addMessages($options);
4242
print_r($result);

examples/GroupMessage/example_delete_groups.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
// initiate rest api sdk object
2121
$rest = new GroupMessage($api_key, $api_secret);
2222

23-
// group_ids are mandatory. must be filled
24-
$group_ids = 'GID56CC00E21C4DC'; // ex) '1GCOLS23BDG','RGGBB11545'
23+
// group_ids are mandatory.
24+
$group_ids = 'GID01'; // ex) array('GID01', 'GID02');
2525

2626
$result = $rest->deleteGroups($group_ids);
2727
print_r($result);

examples/Message/example_send.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,14 @@
2424
$options = new stdClass();
2525
$options->to = '01000000000'; // 수신번호
2626
$options->from = '01000000000'; // 발신번호
27-
$options->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA )
27+
$options->type = 'SMS'; // Message type ( SMS, LMS, MMS, ATA, CTA )
2828
$options->text = '안녕하세요. 10000건을 20초안에 발송하는 빠르고 저렴한 CoolSMS의 테스팅 문자입니다. '; // 문자내용
29-
3029
// Optional parameters for your own needs
30+
// $options->kakaoOptions = new \stdClass();
31+
// $options->kakaoOptions->senderKey = '#ENTER_YOUR_SENDERKEY#'; // 발급받은 senderKey
32+
// $options->kakaoOptions->templateCode = 'A01'; // 템플릿 코드
33+
// $options->kakaoOptions->buttonName = 'B01'; // 버튼의 네임
34+
// $options->kakaoOptions->buttonUrl = 'https://coolsms.co.kr/'; // 버튼클릭시 이동할 URL
3135
// $options->image = '../Image/images/test.jpg'; // image for MMS. type must be set as 'MMS'
3236
// $options->image_encoding = 'binary'; // image encoding binary(default), base64
3337
// $options->mode = 'test'; // 'test' 모드. 실제로 발송되지 않으며 전송내역에 60 오류코드로 뜹니다. 차감된 캐쉬는 다음날 새벽에 충전 됩니다.

0 commit comments

Comments
 (0)