def send_and_confirm(request): send_form = SmsForm(data=request.POST) # confirm_form = ConfirmForm(request.POST) def get_valid_sms_info_and_save(): get_valid_params = { 'type': 'sms', 'to': request.POST.get('msg_getter'), 'from': settings.SENDER, 'text': str(get_centification_number(4)), } send_form.save() return get_valid_params if request.method == "POST": confirm_form = ConfirmForm(request.POST) if send_form.is_valid(): try: params = get_valid_sms_info_and_save() cool = Message(settings.COOLSMS_API_KEY, settings.COOLSMS_API_SECRET) response = cool.send(params) ''' success_count = response['success_count'] print(success_count) error_count = response['error_count'] print(error_count) print('Group ID : {}'.format(response['group_id'])) ''' if 'error_list' in response: print('Error List : {}'.format(response['error_list'])) return redirect('members:test') except CoolsmsException as e: return HttpResponse('Error : {} - {}'.format(e.code, e.msg)) if confirm_form.is_valid(): try: params2 = dict() # params2['send_time'] = datetime.datetime.now().strftime('%Y%m%d%H%M%S') cool = Message(settings.COOLSMS_API_KEY, settings.COOLSMS_API_SECRET) response2 = cool.sent(params2) data = response2['data'] # print(data) if request.POST.get('conf') == data[0]['text']: return HttpResponse('okt') except CoolsmsException as e: return HttpResponse('Error : {} - {}'.format(e.code, e.msg)) else: send_form = SmsForm() confirm_form = ConfirmForm() context = {'send_form': send_form, 'confirm_form': confirm_form} return render(request, 'members/signup.html', context)
def test_message(self): cool = Message(self.api_key, self.api_secret) ## send params = { 'type': 'sms', 'to': '01074704184', 'from': '01074704184', 'text': '침입이 발생하였습니다. 빨리 대처하시기 바랍니다' } try: cool.send(params) except CoolsmsException as e: # 402는 잔액부족이기 때문에 테스트 실패사유가 안됨 if e.code == 402: pass ## status : response 가 None값이 아니라면 성공 response = cool.status() # self.assertIsNotNone(response[0]['registdate']) ## sent try: cool.sent() except CoolsmsException as e: # 404는 메시지 내역이 없는 것이기 때문에 테스트 실패사유가 안됨 if e.code == 404: pass ## balane response = cool.balance() self.assertIsNotNone(response['deferred_payment']) ## cancel params = { 'message_id': 'TESTMESSAGEID', } self.assertIsNotNone(cool.cancel(params))
def test_message(self): cool = Message(self.api_key, self.api_secret) ## send params = { 'type':'sms', 'to':'01056686785', #실제 사용시 119로 바꿈 'from':'01055329063', # 사용자의 번호 'text':'한국기술교육대학교 2공학관 화재 발생' #주소가 담길 부분 } try: cool.send(params) except CoolsmsException as e: # 402는 잔액부족이기 때문에 테스트 실패사유가 안됨 if e.code == 402: pass ## status : response 가 None값이 아니라면 성공 response = cool.status() self.assertIsNotNone(response['registdate']) ## sent try: cool.sent() except CoolsmsException as e: # 404는 메시지 내역이 없는 것이기 때문에 테스트 실패사유가 안됨 if e.code == 404: pass ## balane response = cool.balance() self.assertIsNotNone(response['deferred_payment']) ## cancel params = { 'message_id':'TESTMESSAGEID', }
api_secret = "#ENTER_YOUR_OWN#" # 4 params(to, from, type, text) are mandatory. must be filled params = dict() # params["messaage_id"] = "M52CB443257C61" # message id # params["group_id"] = "G52CB4432576C8" # group id # params["offset"] = "0" # default 0 # params["limit"] = "1" # default 20 # params["rcpt"] = "01000000000" # search sent result by recipient number # params["start"] = "201601070915" # set search start date # params["end"] = "201601071230" # set search end date cool = Message(api_key, api_secret) try: i = 0 response = cool.sent(params) for data in response['data']: i += 1 print("Message No.%s" % i) print("Type : %s" % data['type']) print("Accepted_time : %s" % data['accepted_time']) print("Recipient_number : %s" % data['recipient_number']) print("Group_id : %s" % data['group_id']) print("Message_id : %s" % data['message_id']) print("Status : %s" % data['status']) print("Result_code : %s" % data['result_code']) print("Result_message : %s" % data['result_message']) print("Sent_time : %s" % data['sent_time']) print("Text : %s" % data['text']) print("Carrier : %s" % data['carrier']) print("Scheduled_time : %s" % data['scheduled_time'])