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

Commit 2473350

Browse files
committed
SenderID resource 추가
1 parent 8d255e3 commit 2473350

5 files changed

Lines changed: 129 additions & 30 deletions

File tree

-1.58 KB
Binary file not shown.
2.45 KB
Binary file not shown.

sdk/api/image.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
sys.path.insert(0, "../../")
66

77
from sdk.coolsms import Coolsms
8-
from sdk import exceptions
8+
from sdk.exceptions import CoolsmsException
9+
from sdk.exceptions import CoolsmsSDKException
10+
from sdk.exceptions import CoolsmsSystemException
11+
from sdk.exceptions import CoolsmsServerException
912

1013
# class Image
1114
class Image:

sdk/api/sender_id.py

Lines changed: 97 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,108 @@
55
sys.path.insert(0, "../../")
66

77
from sdk.coolsms import Coolsms
8-
from sdk import exceptions
8+
from sdk.exceptions import CoolsmsException
9+
from sdk.exceptions import CoolsmsSDKException
10+
from sdk.exceptions import CoolsmsSystemException
11+
from sdk.exceptions import CoolsmsServerException
912

10-
# class SenderId
11-
class SenderId:
12-
#
13+
## @class SenderID
14+
# @brief management sender id, using Rest API
15+
class SenderID:
16+
# Coolsms Object
17+
cool = None
18+
19+
## @brief initialize
20+
# @param string api_key [required]
21+
# @param string api_secret [required]
1322
def __init__(self, api_key, api_secret):
14-
Coolsms(api_key, api_secret)
23+
self.cool = Coolsms(api_key, api_secret)
24+
25+
# set api name and version
26+
self.cool.set_api_config('senderid', '1.1')
27+
28+
# @brief sender id registration request ( HTTP Method POST )
29+
# @param string phone [required]
30+
# @param string site_user [optional]
31+
# @return JSONObject
32+
def register(self, phone, site_user=None):
33+
if phone == None:
34+
raise CoolsmsSDKException("'phone' is required", 201);
35+
36+
params = dict()
37+
params = {'phone':phone}
38+
if site_user:
39+
params['site_user'] = site_user
40+
41+
response = self.cool.request_post('register', params)
42+
43+
return response
44+
45+
# @brief verify sender id ( HTTP Method POST )
46+
# @param string handle_key[required]
47+
# @return None
48+
def verify(self, handle_key):
49+
if handle_key == None:
50+
raise CoolsmsSDKException("'handle_key' is required", 201);
51+
52+
params = dict()
53+
params = {'handle_key':handle_key}
54+
response = self.cool.request_post('verify', params)
55+
56+
return response
57+
58+
# @brief delete sender id ( HTTP Method POST )
59+
# @param string handle_key [required]
60+
# @return None
61+
def delete(self, handle_key):
62+
if handle_key == None:
63+
raise CoolsmsSDKException("'handle_key' is required", 201);
64+
65+
params = dict()
66+
params = {'handle_key':handle_key}
67+
response = self.cool.request_post('delete', params)
68+
69+
return response
70+
71+
# @brief get sender id list ( HTTP Method GET )
72+
# @param string site_user [optional]
73+
# @return JSONObject
74+
def get_list(self, site_user=None):
75+
params = dict()
76+
77+
if site_user:
78+
params = {'site_user':site_user}
79+
80+
response = self.cool.request_get('list', params)
81+
return response
82+
83+
# @brief set default sender id ( HTTP Method POST )
84+
# @param string handle_key [required]
85+
# @param string site_user [optional]
86+
# @return None
87+
def set_default(self, handle_key, site_user=None):
88+
if handle_key == None:
89+
raise CoolsmsSDKException("'handle_key' is required", 201);
90+
91+
params = dict()
92+
params = {'handle_key':handle_key}
93+
94+
if site_user:
95+
params['site_user'] = site_user
1596

16-
#
17-
def register(self):
18-
return
97+
response = self.cool.request_post('set_default', params)
1998

20-
#
21-
def verify(self):
22-
return
99+
return response
23100

24-
#
25-
def delete(self):
26-
return
101+
# @brief get default sender id ( HTTP Method GET )
102+
# @param string site_user [optional]
103+
# @return JSONObject
104+
def get_default(self, site_user=None):
105+
params = dict()
27106

28-
#
29-
def get_list(self):
30-
return
107+
if site_user:
108+
params = {'site_user':site_user}
31109

32-
#
33-
def set_default(self):
34-
return
110+
response = self.cool.request_get('get_default', params)
35111

36-
#
37-
def get_default(self):
38-
return
112+
return response

sdk/coolsms.py

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ class Coolsms:
5858
# API Secret
5959
api_secret = None
6060

61+
# API Name
62+
api_name = "sms"
63+
6164
# error handle
6265
error_string = None
6366

@@ -89,14 +92,18 @@ def request_get(self, resource, params=None):
8992
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain",
9093
"User-Agent": "sms-python"}
9194
conn = HTTPSConnection(self.host, self.port)
92-
conn.request("GET", "/sms/%s/%s?" % (self.api_version, resource) + params_str, None, headers)
95+
conn.request("GET", "/%s/%s/%s?" % (self.api_name, self.api_version, resource) + params_str, None, headers)
9396
response = conn.getresponse()
9497
data = response.read().decode()
9598
conn.close()
9699

97100
# https status code is not 200, raise Exception
98101
if response.status != 200:
99-
raise CoolsmsServerException(response.reason, response.status)
102+
error_msg = response.reason
103+
if(data):
104+
error_msg = data
105+
106+
raise CoolsmsServerException(error_msg, response.status)
100107

101108
# response data parsing
102109
obj = None
@@ -118,14 +125,18 @@ def request_post(self, resource, params=None):
118125
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain",
119126
"User-Agent": "sms-python"}
120127
conn = HTTPSConnection(self.host, self.port)
121-
conn.request("POST", "/sms/%s/%s" % (self.api_version, resource), params_str, headers)
128+
conn.request("POST", "/%s/%s/%s" % (self.api_name, self.api_version, resource), params_str, headers)
122129
response = conn.getresponse()
123130
data = response.read().decode()
124131
conn.close()
125132

126133
# https status code is not 200, raise Exception
127134
if response.status != 200:
128-
raise CoolsmsServerException(response.reason, response.status)
135+
error_msg = response.reason
136+
if(data):
137+
error_msg = data
138+
139+
raise CoolsmsServerException(error_msg, response.status)
129140

130141
obj = None
131142
if data:
@@ -140,7 +151,7 @@ def request_post(self, resource, params=None):
140151
# @return JSONObject
141152
def request_post_multipart(self, resource, params, files):
142153
host = self.host + ':' + str(self.port)
143-
selector = "/sms/%s/%s" % (self.api_version, resource)
154+
selector = "/%s/%s/%s" % (self.api_name, self.api_version, resource)
144155

145156
params = self.set_base_params(params)
146157
content_type, body = self.encode_multipart_formdata(params, files)
@@ -157,7 +168,11 @@ def request_post_multipart(self, resource, params, files):
157168

158169
# https status code is not 200, raise Exception
159170
if response.status != 200:
160-
raise CoolsmsServerException(response.reason, response.status)
171+
error_msg = response.reason
172+
if(data):
173+
error_msg = data
174+
175+
raise CoolsmsServerException(error_msg, response.status)
161176

162177
# response data parsing
163178
obj = None
@@ -235,3 +250,10 @@ def check_send_data(params):
235250
raise CoolsmsSDKException("message type is not supported", 201)
236251

237252
return params
253+
254+
## @brief set api name and api version
255+
# @param string api_name [required] 'sms', 'senderid', 'image'
256+
# @param integer api_version [required]
257+
def set_api_config(self, api_name, api_version):
258+
self.api_name = api_name;
259+
self.api_version = api_version;

0 commit comments

Comments
 (0)