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

Commit afd9f23

Browse files
authored
Merge pull request #8 from coolsms/feature-message
Feature message
2 parents 1634e26 + 8d255e3 commit afd9f23

8 files changed

Lines changed: 427 additions & 250 deletions

File tree

sdk/api/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
print("CC")
-18 Bytes
Binary file not shown.
3.84 KB
Binary file not shown.
508 Bytes
Binary file not shown.

sdk/api/group_message.py

Lines changed: 176 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,195 @@
22
# -*- coding: utf8 -*-
33

44
import sys
5+
import platform
6+
import json
57
sys.path.insert(0, "../../")
68

79
from sdk.coolsms import Coolsms
8-
from sdk import exceptions
10+
from sdk.exceptions import CoolsmsException
11+
from sdk.exceptions import CoolsmsSDKException
12+
from sdk.exceptions import CoolsmsSystemException
13+
from sdk.exceptions import CoolsmsServerException
914

10-
# class GroupMessage
15+
## @class GroupMessage
16+
# @brief management group message, using Rest API
1117
class GroupMessage:
12-
#
18+
# Coolsms Object
19+
cool = None
20+
21+
## @brief initialize
22+
# @param string api_key [required]
23+
# @param string api_secret [required]
1324
def __init__(self, api_key, api_secret):
14-
Coolsms(api_key, api_secret)
25+
self.cool = Coolsms(api_key, api_secret)
1526

16-
#
27+
## @brief create create group ( HTTP Method GET )
28+
# @param dictionary params {
29+
# @param string charset [optional]
30+
# @param string srk [optional]
31+
# @param string mode [optional]
32+
# @param string delay [optional]
33+
# @param boolean force_sms [optional]
34+
# @param string os_platform [optional]
35+
# @param string dev_lang [optional]
36+
# @param string sdk_version [optional]
37+
# @param string app_version [optional] }
38+
# @return JSONObject
1739
def create_group(self):
18-
return
40+
response = self.cool.request_get('new_group')
41+
42+
return response
1943

20-
#
44+
## @brief get group list ( HTTP Method GET )
45+
# @param None
46+
# @return JSONArray
2147
def get_group_list(self):
22-
return
48+
response = self.cool.request_get('group_list')
49+
50+
return response
51+
52+
## @brief delete groups ( HTTP Method POST )
53+
# @param string group_ids [required]
54+
# @return JSONobject
55+
def delete_groups(self, group_ids):
56+
if group_ids == None:
57+
raise CoolsmsSDKException("parameter 'group_ids' is required", 201)
58+
59+
params = {'group_ids':group_ids}
60+
response = self.cool.request_post('delete_groups', params)
61+
62+
return response
63+
64+
## @brief get group info ( HTTP Method GET )
65+
# @param string group_id [required]
66+
# @return JSONObject
67+
def get_group_info(self, group_id):
68+
if group_id == None:
69+
raise CoolsmsSDKException("parameter 'group_id' is required", 201)
70+
71+
resource = "groups/%s" % group_id
72+
response = self.cool.request_get(resource)
73+
74+
return response
75+
76+
## @brief add message to group ( HTTP Method POST )
77+
# @param dictionary params {
78+
# @param string group_id [required]
79+
# @param string to [required]
80+
# @param string from [required]
81+
# @param string text [required]
82+
# @param string image_id [optional]
83+
# @param string refname [optional]
84+
# @param string country [optional]
85+
# @param string datetime [optional]
86+
# @param string subject [optional]
87+
# @param integer delay [optional] }
88+
# @return JSONObject
89+
def add_messages(self, params):
90+
# params type check
91+
if type(params) is not dict:
92+
raise CoolsmsSDKException("parameter type is not dictionary", 201)
93+
94+
# require fields check
95+
if "group_id" not in params:
96+
raise CoolsmsSDKException("parameter 'group_id' is required", 201)
97+
98+
params = Coolsms.check_send_data(params)
99+
100+
# system info
101+
params['os_platform'] = platform.system()
102+
params['dev_lang'] = "Python %s" % platform.python_version()
103+
params['sdk_version'] = "sms-python %s" % Coolsms.sdk_version
104+
105+
# request post
106+
resource = "groups/%s/add_messages" % params['group_id']
107+
response = self.cool.request_post(resource, params)
108+
109+
return response
110+
111+
## @brief add json type message to group ( HTTP Method POST )
112+
# @param string group_id [required]
113+
# @param JSONArray messages [required] [{
114+
# @param string to [required]
115+
# @param string from [required]
116+
# @param string text [required]
117+
# @param string image_id [optional]
118+
# @param string refname [optional]
119+
# @param string country [optional]
120+
# @param string datetime [optional]
121+
# @param string subject [optional]
122+
# @param integer delay [optional] }]
123+
# @return JSONObject
124+
def add_messages_json(self, group_id, messages):
125+
# require fields check
126+
if group_id == None or messages == None:
127+
raise CoolsmsSDKException("parameter 'group_id', 'messages' are required", 201)
128+
129+
messages = json.loads(messages)
130+
131+
for data in messages:
132+
data = Coolsms.check_send_data(data)
133+
134+
# messages setting
135+
params = dict()
136+
params['messages'] = json.dumps(messages)
137+
138+
# system info
139+
params['os_platform'] = platform.system()
140+
params['dev_lang'] = "Python %s" % platform.python_version()
141+
params['sdk_version'] = "sms-python %s" % Coolsms.sdk_version
142+
143+
# request post
144+
resource = "groups/%s/add_messages.json" % group_id
145+
response = self.cool.request_post(resource, params)
146+
147+
return response
148+
149+
## @brief get message list ( HTTP Method GET )
150+
# @param dictionary params {
151+
# @param string group_id [required]
152+
# @param integer offset [optional]
153+
# @param integer limit [optional] }
154+
# @return JSONObject
155+
def get_message_list(self, params):
156+
# require fields check
157+
if "group_id" not in params:
158+
raise CoolsmsSDKException("parameter 'group_id' is required", 201)
159+
160+
# request post
161+
resource = "groups/%s/message_list" % params['group_id']
162+
response = self.cool.request_get(resource, params)
163+
164+
return response
165+
166+
## @brief delete message from group ( HTTP Method POST )
167+
# @param string group_id [required]
168+
# @param string message_ids [required]
169+
# @return JSONObject
170+
def delete_messages(self, group_id, message_ids):
171+
# require fields check
172+
if group_id == None or message_ids == None:
173+
raise CoolsmsSDKException("parameter 'group_id', 'message_ids' are required", 201)
23174

24-
#
25-
def delete_groups(self):
26-
return
175+
params = dict()
176+
params['message_ids'] = message_ids
27177

28-
#
29-
def get_group_info(self):
30-
return
178+
# request post
179+
resource = "groups/%s/delete_messages" % group_id
180+
response = self.cool.request_post(resource, params)
31181

32-
#
33-
def add_messages(self):
34-
return
182+
return response
35183

36-
#
37-
def add_messages_json(self):
38-
return
184+
## @brief send group message ( HTTP Method POST )
185+
# @param string group_id [required]
186+
# @return JSONObject
187+
def send(self, group_id):
188+
# require filed check
189+
if group_id == None:
190+
raise CoolsmsSDKException("parameter 'group_id' is required", 201)
39191

40-
#
41-
def delete_messages(self):
42-
return
192+
# request post
193+
resource = "groups/%s/send" % group_id
194+
response = self.cool.request_post(resource)
43195

44-
#
45-
def send(self):
46-
return
196+
return response

0 commit comments

Comments
 (0)