PYTHON SDK
v2.0.3
sdk.coolsms.Coolsms 클래스 참조

Gateway access url : https://api.coolsms.co.kr/{api type}/{verson}/{resource name}. 더 자세히 ...

sdk.coolsms.Coolsms에 대한 협력 다이어그램:
Collaboration graph

Public 멤버 함수

def __init__ (self, api_key, api_secret)
 initialize 더 자세히 ...
 
def __get_signature__ (self)
 get signature 더 자세히 ...
 
def request_get (self, resource, params=dict())
 http GET method request 더 자세히 ...
 
def request_post (self, resource, params=dict())
 http POST method request 더 자세히 ...
 
def request (self, resource, params, method="GET")
 http POST & GET method request process 더 자세히 ...
 
def request_post_multipart (self, resource, params, files)
 http POST method multipart form request 더 자세히 ...
 
def encode_multipart_formdata (self, params, files)
 format multipart form 더 자세히 ...
 
def get_content_type (self, filename)
 get content type 더 자세히 ...
 
def set_base_params (self, params)
 set base parameter 더 자세히 ...
 
def check_send_data (self, params)
 check send data 더 자세히 ...
 
def set_api_config (self, api_name, api_version)
 set api name and api version 더 자세히 ...
 
def use_http_connection (self)
 use http connection 더 자세히 ...
 

Public 속성

 use_http_connection
 
 api_name
 
 api_version
 

정적 Public 속성

string sdk_version = "2.0.3"
 
string api_version = "2"
 
string host = 'api.coolsms.co.kr'
 
int port = 443
 
 api_key = None
 
 api_secret = None
 
string api_name = "sms"
 
 error_string = None
 
bool use_http_connection = False
 

상세한 설명

Gateway access url : https://api.coolsms.co.kr/{api type}/{verson}/{resource name}.

coolsms.py 파일의 44 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

def sdk.coolsms.Coolsms.__init__ (   self,
  api_key,
  api_secret 
)

initialize

매개변수
stringapi_key [required]
stringapi_secret [required]

coolsms.py 파일의 75 번째 라인에서 정의되었습니다.

75  def __init__(self, api_key, api_secret):
76  self.api_key = api_key
77  self.api_secret = api_secret
78 
def __init__(self, api_key, api_secret)
initialize
Definition: coolsms.py:75

멤버 함수 문서화

def sdk.coolsms.Coolsms.__get_signature__ (   self)

get signature

반환값
string timestamp, string salt, string signature

coolsms.py 파일의 81 번째 라인에서 정의되었습니다.

81  def __get_signature__(self):
82  salt = str(uuid.uuid1())
83  timestamp = str(int(time.time()))
84  data = timestamp + salt
85  return timestamp, salt, hmac.new(self.api_secret.encode(), data.encode(), md5)
86 
def __get_signature__(self)
get signature
Definition: coolsms.py:81

이 함수를 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.check_send_data (   self,
  params 
)

check send data

매개변수
dictionaryparams [required]
반환값
dictionary params

coolsms.py 파일의 242 번째 라인에서 정의되었습니다.

242  def check_send_data(self, params):
243  # require fields check
244  if all (k in params for k in ("to", "from", "text")) == False:
245  raise CoolsmsSDKException("parameter 'to', 'from', 'text' are required", 201)
246 
247  for key, val in params.items():
248  # ptyhon 2 version 에서 unicode 문제 해결
249  if key == "text" and sys.version_info[0] == 2:
250  text = val
251  t_temp = text.decode('utf-8')
252  text = t_temp.encode('utf-8')
253  text = unicode(text, encoding='utf-8')
254  params['text'] = text
255 
256  # convert list to a comma seperated string
257  if key == "to" and val == list:
258  params['to'] = ','.join(to)
259 
260  # message type check
261  if key == "type" and val.lower() not in ['sms', 'lms', 'mms', 'ata', 'cta']:
262  raise CoolsmsSDKException("message type is not supported", 201)
263 
264  return params
265 
def check_send_data(self, params)
check send data
Definition: coolsms.py:242
def sdk.coolsms.Coolsms.encode_multipart_formdata (   self,
  params,
  files 
)

format multipart form

매개변수
dictionaryparams [required]
dictionaryfiles [required]
반환값
string content_type, string body

coolsms.py 파일의 197 번째 라인에서 정의되었습니다.

197  def encode_multipart_formdata(self, params, files):
198  boundary = str(uuid.uuid1())
199  crlf = '\r\n'
200 
201  l = []
202  for key, value in params.items():
203  l.append('--' + boundary)
204  l.append('Content-Disposition: form-data; name="%s"' % key)
205  l.append('')
206  l.append(value)
207 
208  for key, value in files.items():
209  l.append('--' + boundary)
210  l.append('Content-Disposition: form-data; name="%s"; filename="%s"' % (key, value['filename']))
211  l.append('Content-Type: %s' % self.get_content_type(value['filename']))
212  l.append('')
213  l.append(str(value['content']))
214 
215  l.append('--' + boundary + '--')
216  l.append('')
217  body = crlf.join(l).encode('utf-8')
218 
219  content_type = 'multipart/form-data; boundary=%s' % boundary
220 
221  return content_type, body
222 
def encode_multipart_formdata(self, params, files)
format multipart form
Definition: coolsms.py:197
def get_content_type(self, filename)
get content type
Definition: coolsms.py:226

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 함수를 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.get_content_type (   self,
  filename 
)

get content type

매개변수
stringfilesname [required]
반환값
string content_type

coolsms.py 파일의 226 번째 라인에서 정의되었습니다.

226  def get_content_type(self, filename):
227  return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
228 
def get_content_type(self, filename)
get content type
Definition: coolsms.py:226

이 함수를 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.request (   self,
  resource,
  params,
  method = "GET" 
)

http POST & GET method request process

매개변수
stringresource [required]
dictionaryparams [required]
stringmethod [optional] [default:"GET"]
반환값
JSONObject

coolsms.py 파일의 106 번째 라인에서 정의되었습니다.

106  def request(self, resource, params, method="GET"):
107  params = self.set_base_params(params)
108  params_str = urlencode(params)
109  headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain",
110  "User-Agent": "sms-python"}
111  try:
112  # use_http_connection 이 True 라면 http 통신을 한다
113  if self.use_http_connection == True:
114  conn = HTTPConnection(self.host)
115  else:
116  conn = HTTPSConnection(self.host, self.port)
117 
118  # request method 에 따라 다르게 요청
119  if method == "GET":
120  conn.request("GET", "/%s/%s/%s?" % (self.api_name, self.api_version, resource) + params_str, None, headers)
121  else:
122  conn.request("POST", "/%s/%s/%s" % (self.api_name, self.api_version, resource), params_str, headers)
123 
124  response = conn.getresponse()
125  data = response.read().decode()
126  conn.close()
127  except Exception as e:
128  conn.close()
129  raise CoolsmsSystemException(e, 399)
130 
131  # https status code is not 200, raise Exception
132  if response.status != 200:
133  error_msg = response.reason
134  if data:
135  error_msg = data
136 
137  raise CoolsmsServerException(error_msg, response.status)
138 
139  obj = None
140  if data:
141  obj = json.loads(data)
142 
143  return obj
144 
string api_version
Definition: coolsms.py:49
def set_base_params(self, params)
set base parameter
Definition: coolsms.py:232
bool use_http_connection
Definition: coolsms.py:70
def request(self, resource, params, method="GET")
http POST & GET method request process
Definition: coolsms.py:106

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 함수를 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.request_get (   self,
  resource,
  params = dict() 
)

http GET method request

매개변수
stringresource [required]
dictionaryparams [optional]
반환값
JSONObject

coolsms.py 파일의 91 번째 라인에서 정의되었습니다.

91  def request_get(self, resource, params=dict()):
92  return self.request(resource, params)
93 
def request_get(self, resource, params=dict())
http GET method request
Definition: coolsms.py:91
def request(self, resource, params, method="GET")
http POST & GET method request process
Definition: coolsms.py:106

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.request_post (   self,
  resource,
  params = dict() 
)

http POST method request

매개변수
stringresource [required]
dictionaryparams [optional]
반환값
JSONObject

coolsms.py 파일의 98 번째 라인에서 정의되었습니다.

98  def request_post(self, resource, params=dict()):
99  return self.request(resource, params, "POST")
100 
def request_post(self, resource, params=dict())
http POST method request
Definition: coolsms.py:98
def request(self, resource, params, method="GET")
http POST & GET method request process
Definition: coolsms.py:106

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.request_post_multipart (   self,
  resource,
  params,
  files 
)

http POST method multipart form request

매개변수
stringresource [required]
dictionaryparams [optional]
dictionaryfiles [optional]
반환값
JSONObject

coolsms.py 파일의 150 번째 라인에서 정의되었습니다.

150  def request_post_multipart(self, resource, params, files):
151  host = self.host + ':' + str(self.port)
152  selector = "/%s/%s/%s" % (self.api_name, self.api_version, resource)
153 
154  params = self.set_base_params(params)
155 
156  content_type, body = self.encode_multipart_formdata(params, files)
157 
158  try:
159  # use_http_connection 이 True 라면 http 통신을 한다
160  if self.use_http_connection == True:
161  conn = HTTPConnection(self.host)
162  else:
163  conn = HTTPSConnection(self.host, self.port)
164 
165  conn.putrequest('POST', selector)
166  conn.putheader('Content-type', content_type)
167  conn.putheader('Content-length', str(len(body)))
168  conn.putheader('User-Agent', 'sms-python')
169  conn.endheaders()
170  conn.send(body)
171  response = conn.getresponse()
172  data = response.read().decode()
173  conn.close()
174  except Exception as e:
175  conn.close()
176  raise CoolsmsSystemException(e, 399)
177 
178  # https status code is not 200, raise Exception
179  if response.status != 200:
180  error_msg = response.reason
181  if data:
182  error_msg = data
183 
184  raise CoolsmsServerException(error_msg, response.status)
185 
186  # response data parsing
187  obj = None
188  if data:
189  obj = json.loads(data)
190 
191  return obj
192 
def encode_multipart_formdata(self, params, files)
format multipart form
Definition: coolsms.py:197
def request_post_multipart(self, resource, params, files)
http POST method multipart form request
Definition: coolsms.py:150
string api_version
Definition: coolsms.py:49
def set_base_params(self, params)
set base parameter
Definition: coolsms.py:232
bool use_http_connection
Definition: coolsms.py:70

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.set_api_config (   self,
  api_name,
  api_version 
)

set api name and api version

매개변수
stringapi_name [required] 'sms', 'senderid', 'image'
integerapi_version [required]

coolsms.py 파일의 269 번째 라인에서 정의되었습니다.

269  def set_api_config(self, api_name, api_version):
270  self.api_name = api_name;
271  self.api_version = api_version;
272 
string api_version
Definition: coolsms.py:49
def set_api_config(self, api_name, api_version)
set api name and api version
Definition: coolsms.py:269
def sdk.coolsms.Coolsms.set_base_params (   self,
  params 
)

set base parameter

매개변수
dictionaryparams [required]
반환값
dictionary params

coolsms.py 파일의 232 번째 라인에서 정의되었습니다.

232  def set_base_params(self, params):
233  timestamp, salt, signature = self.__get_signature__()
234  base_params = {'api_key': self.api_key, 'timestamp': timestamp, 'salt': salt,
235  'signature': signature.hexdigest()}
236  params.update(base_params)
237  return params
238 
def set_base_params(self, params)
set base parameter
Definition: coolsms.py:232
def __get_signature__(self)
get signature
Definition: coolsms.py:81

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

이 함수를 호출하는 함수들에 대한 그래프입니다.:

def sdk.coolsms.Coolsms.use_http_connection (   self)

use http connection

coolsms.py 파일의 274 번째 라인에서 정의되었습니다.

275  self.use_http_connection = True
276 
bool use_http_connection
Definition: coolsms.py:70

멤버 데이타 문서화

sdk.coolsms.Coolsms.api_key = None
static

coolsms.py 파일의 58 번째 라인에서 정의되었습니다.

string sdk.coolsms.Coolsms.api_name = "sms"
static

coolsms.py 파일의 64 번째 라인에서 정의되었습니다.

sdk.coolsms.Coolsms.api_name

coolsms.py 파일의 270 번째 라인에서 정의되었습니다.

sdk.coolsms.Coolsms.api_secret = None
static

coolsms.py 파일의 61 번째 라인에서 정의되었습니다.

string sdk.coolsms.Coolsms.api_version = "2"
static

coolsms.py 파일의 49 번째 라인에서 정의되었습니다.

sdk.coolsms.Coolsms.api_version

coolsms.py 파일의 271 번째 라인에서 정의되었습니다.

sdk.coolsms.Coolsms.error_string = None
static

coolsms.py 파일의 67 번째 라인에서 정의되었습니다.

string sdk.coolsms.Coolsms.host = 'api.coolsms.co.kr'
static

coolsms.py 파일의 52 번째 라인에서 정의되었습니다.

int sdk.coolsms.Coolsms.port = 443
static

coolsms.py 파일의 55 번째 라인에서 정의되었습니다.

string sdk.coolsms.Coolsms.sdk_version = "2.0.3"
static

coolsms.py 파일의 46 번째 라인에서 정의되었습니다.

bool sdk.coolsms.Coolsms.use_http_connection = False
static

coolsms.py 파일의 70 번째 라인에서 정의되었습니다.

sdk.coolsms.Coolsms.use_http_connection

coolsms.py 파일의 113 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: