Пример #1
0
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',
        }
Пример #4
0
    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'])