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

Commit 4085d2f

Browse files
authored
Merge pull request #24 from SoneYours/pr/dev-3.0
3.0에 맞춰 개발해봅니다. 아직 완성된건 아니고.. 점점더 개선해보도록..할께요.
2 parents 8fc74ce + b43d210 commit 4085d2f

6 files changed

Lines changed: 227 additions & 173 deletions

File tree

app/Nurigo/Api/GroupMessage.php

Lines changed: 76 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,45 @@ class GroupMessage extends Coolsms
3030
*/
3131
public function createGroup($options)
3232
{
33-
return $this->request('new_group', $options);
33+
return $this->request('createGroup', $options, true);
3434
}
3535

3636
/**
3737
* @brief get group list ( HTTP Method GET )
3838
* @param None
39-
* @return array['groupid', 'groupid'...]
39+
* @return object(groupList)
4040
*/
41-
public function getGroupList()
41+
public function getGroupList()
4242
{
43-
return $this->request('group_list');
43+
return $this->request('getGroupList');
4444
}
4545

4646
/**
4747
* @brief delete groups ( HTTP Method POST )
48-
* @param string $group_ids [required]
48+
* @param array $group_ids [required]
4949
* @return object(count)
5050
*/
51-
public function deleteGroups($group_ids)
51+
public function deleteGroups($group_ids)
5252
{
5353
if (!$group_ids) throw new CoolsmsSDKException('group_ids is required', 202);
5454

55+
$args = new \stdClass();
56+
$args->groups = array();
57+
if (is_array($group_ids)) {
58+
foreach ($group_ids as $key => $group_id) {
59+
$args->groups[$key] = new \stdClass();
60+
$args->groups[$key]->groupId = $group_id;
61+
}
62+
} else {
63+
$args->groups[0] = new \stdClass();
64+
$args->groups[0]->groupId = $group_ids;
65+
}
66+
67+
$encoding_json_data = json_encode($args);
68+
5569
$options = new \stdClass();
56-
$options->group_ids = $group_ids;
57-
return $this->request('delete_groups', $options, true);
70+
$options->encoding_json_data = $encoding_json_data;
71+
return $this->request('deleteGroups', $options, true);
5872
}
5973

6074
/**
@@ -68,60 +82,55 @@ public function getGroupInfo($group_id)
6882

6983
$options = new \stdClass();
7084
$options->group_id = $group_id;
71-
return $this->request(sprintf('groups/%s', $group_id), $options);
85+
return $this->request(sprintf('group/%s/getGroupInfo', $group_id), $options);
7286
}
73-
87+
88+
7489
/**
7590
* @brief add messages to group ( HTTP Method POST )
76-
* @param object $options {
77-
* @param string group_id [required]
78-
* @param string to [required]
79-
* @param string from [required]
80-
* @param string text [required]
81-
* @param string image_id [optional]
82-
* @param string refname [optional]
83-
* @param string country [optional]
84-
* @param string datetime [optional]
85-
* @param string subject [optional]
86-
* @param integer delay [optional] }
87-
* @return object(success_count, error_count, error_list['index':'code', 'index', 'code'])
91+
* @param $options
92+
* @return mixed
93+
* @throws CoolsmsSDKException
8894
*/
8995
public function addMessages($options)
9096
{
9197
if (!isset($options->group_id) || !isset($options->to) || !isset($options->text) || !isset($options->from)) {
9298
throw new CoolsmsSDKException('group_id, to, text, from is required', 202);
9399
}
94-
95-
return $this->request(sprintf('groups/%s/add_messages', $options->group_id), $options, true);
96-
}
97-
98-
/**
99-
* @brief add json type messages to group ( HTTP Method POST )
100-
* @param object $options {
101-
* @param string group_id [required]
102-
* @param string messages [required] [{
103-
* @param string to [required]
104-
* @param string from [required]
105-
* @param string text [required]
106-
* @param string image_id [optional]
107-
* @param string refname [optional]
108-
* @param string country [optional]
109-
* @param string datetime [optional]
110-
* @param string subject [optional]
111-
* @param integer delay [optional] }] }
112-
* @return array[object(success_count, error_count, error_list['index':'code', 'index', 'code']), ...]
113-
*/
114-
public function addMessagesJSON($options)
115-
{
116-
if (!isset($options->group_id) || !isset($options->messages)) throw new CoolsmsSDKException('group_id and messages is required', 202);
117-
foreach ($options->messages as $val) {
118-
if (!isset($val->to) || !isset($val->text) || !isset($val->from)) {
119-
throw new CoolsmsSDKException('to, text, from is required', 202);
120-
}
100+
$args = new \stdClass();
101+
$args->messages = array();
102+
$args->messages[0] = new \stdClass();
103+
$sendNumber = explode(',', $options->to);
104+
$args->messages[0]->to = new \stdClass();
105+
$args->messages[0]->to->recipients = $sendNumber;
106+
$args->messages[0]->from = $options->from;
107+
$args->messages[0]->text = $options->text;
108+
if ($options->type) {
109+
$args->messages[0]->type = $options->type;
110+
} else {
111+
$args->messages[0]->type = 'SMS';
112+
}
113+
if ($options->country) {
114+
$args->messages[0]->country = $options->country;
115+
}
116+
if ($options->subject) {
117+
$args->messages[0]->subject = $options->subject;
118+
}
119+
if ($options->imageId) {
120+
$args->messages[0]->imageId = $options->imageId;
121+
}
122+
if ($options->kakaoOptions) {
123+
$args->messages[0]->kakaoOptions = new \stdClass();
124+
if($options->kakaoOptions->senderKey) $args->messages[0]->kakaoOptions->senderKey = $options->kakaoOptions->senderKey;
125+
if($options->kakaoOptions->templateCode) $args->messages[0]->kakaoOptions->templateCode = $options->kakaoOptions->templateCode;
126+
if($options->kakaoOptions->buttonName) $args->messages[0]->kakaoOptions->buttonName = $options->kakaoOptions->buttonName;
127+
if($options->kakaoOptions->buttonUrl) $args->messages[0]->kakaoOptions->buttonUrl = $options->kakaoOptions->buttonUrl;
121128
}
122129

123-
$options->messages = json_encode($options->messages);
124-
return $this->request(sprintf('groups/%s/add_messages.json', $options->group_id), $options, true);
130+
$encoding_json_data = json_encode($args);
131+
$obj = new \stdClass();
132+
$obj->encoding_json_data = $encoding_json_data;
133+
return $this->request(sprintf('group/%s/addMessages', $options->group_id), $obj, true);
125134
}
126135

127136
/**
@@ -136,10 +145,13 @@ public function getMessageList($group_id, $offset = 0, $limit = 20)
136145
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
137146

138147
$options = new \stdClass();
139-
$options->group_id = $group_id;
140148
$options->offset = $offset;
141149
$options->limit = $limit;
142-
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);
143155
}
144156

145157
/**
@@ -153,9 +165,14 @@ public function deleteMessages($group_id, $message_ids)
153165
if (!$group_id || !$message_ids) throw new CoolsmsSDKException('group_id and message_ids are required', 202);
154166

155167
$options = new \stdClass();
156-
$options->group_id = $group_id;
157-
$options->message_ids = $message_ids;
158-
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);
159176
}
160177

161178
/**
@@ -167,8 +184,8 @@ public function sendGroupMessage($group_id)
167184
{
168185
if (!$group_id) throw new CoolsmsSDKException('group_id is required', 202);
169186

170-
$options = new \stdClass();
171-
$options->group_id = $group_id;
172-
return $this->request(sprintf('groups/%s/send', $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);
173190
}
174191
}

app/Nurigo/Api/Message.php

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,38 @@ class Message extends Coolsms
3636
* @param string app_version [optional] }
3737
* @return object(recipient_number, group_id, message_id, result_code, result_message)
3838
*/
39-
public function send($options)
39+
public function send($options)
4040
{
4141
// check require fields. ( 'to, from, 'text' )
4242
if (!isset($options->to) || !isset($options->from) || !isset($options->text)) throw new CoolsmsSDKException('"to, from, text" must be entered', 202);
43+
$options->json_option = 'SimpleMessage';
44+
$args = new \stdClass();
45+
$args->to = new \stdClass();
46+
$args->to->recipient = $options->to;
47+
$args->from = $options->from;
48+
$args->text = $options->text;
49+
$args->type = $options->type;
50+
if($options->country) $args->country = $options->country;
51+
if($options->subject) $args->subject = $options->subject;
52+
if ($options->imageId) $args->imageId = $options->imageId;
53+
if ($options->scheduledDate) $args->scheduledDate = $options->scheduledDate;
54+
if ($options->kakaoOptions) $args->kakaoOptions = $options->kakaoOptions;
55+
$object = new \stdClass();
56+
$object->messages = array($args);
57+
$object->groupOptions = new \stdClass();
58+
if ($options->appId) $object->groupOptions->appId = $options->appId;
59+
if ($options->appVersion) $object->groupOptions->appVersion = $options->appVersion;
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;
66+
$options->encoding_json_data = json_encode($object);
4367

44-
return $this->request('send', $options, true);
68+
return $this->request('sendMessages', $options, true);
4569
}
46-
70+
4771
/**
4872
* @brief sent message list ( HTTP Method GET )
4973
* @param object $options {
@@ -71,7 +95,7 @@ public function sent($options = null)
7195
* @param string $gid [optional]
7296
* @return None
7397
*/
74-
public function cancel($mid = null, $gid = null)
98+
public function cancel($mid = null, $gid = null)
7599
{
76100
// mid or gid is empty. throw exception
77101
if (!$mid && !$gid) throw new CoolsmsSDKException('mid or gid either one must be entered', 202);
@@ -87,7 +111,7 @@ public function cancel($mid = null, $gid = null)
87111
* @param None
88112
* @return object(cash, point)
89113
*/
90-
public function getBalance()
114+
public function getBalance()
91115
{
92116
return $this->request('balance');
93117
}
@@ -101,7 +125,7 @@ public function getBalance()
101125
* @param integer channel [optional] }
102126
* @return object(registdate, sms_average, sms_sk_average, sms_kt_average, sms_lg_average, mms_average, mms_sk_average, mms_kt_average, mms_lg_average)
103127
*/
104-
public function getStatus($options = null)
128+
public function getStatus($options = null)
105129
{
106130
return $this->request('status', $options);
107131
}

0 commit comments

Comments
 (0)