class CCP(object): def __init__(self): self.rest = REST(serverIP, serverPort, softVersion) self.rest.setAccount(accountSid, accountToken) self.rest.setAppId(appId) @staticmethod def instance(): if not hasattr(CCP, "_instance"): CCP._instance = CCP() return CCP._instance def sendTemplateSMS(self, to, datas, tempId): try: result = self.rest.sendTemplateSMS(to, datas, tempId) except Exception as e: logging.error(e) raise e # print result # for k, v in result.iteritems(): # if k == 'templateSMS': # for k, s in v.iteritems(): # print '%s:%s' % (k, s) # else: # print '%s:%s' % (k, v) if result.get("statusCode") == "000000": return True else: return False
def landingCall(to): rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) mediaTxt = '' playTimes = 2 respUrl = '' userData = '' maxCallTime = '' speed = '' volume = '' pitch = '' bgsound = '' result = rest.landingCall(to, mediaName, mediaTxt, displayNum, playTimes, respUrl, userData, maxCallTime, speed, volume, pitch, bgsound) for k, v in result.iteritems(): if k == 'LandingCall': for k, s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v)
class CCP(object): def __init__(self): self.rest = REST(serverIP, serverPort, softVersion) self.rest.setAccount(accountSid, accountToken) self.rest.setAppId(appId) @staticmethod def instance(): if not hasattr(CCP, "_instance"): CCP._instance = CCP() return CCP._instance @tornado.gen.coroutine def sendTemplateSMS(self, to, datas, tempId): try: result =yield self.rest.sendTemplateSMS(to, datas, tempId) print 'ccccc' print result except Exception as e: print e print 'ascf' if result.get("statusCode") == "000000": raise tornado.gen.Return(1) else: raise tornado.gen.Return(0)
def CreateSubAccount(accountName): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.CreateSubAccount(accountName) account = [] for k,v in result.iteritems(): if k=='SubAccount' : #for m in v: for k,s in v.iteritems(): if k=='voipAccount' or k=='subAccountSid' or k=='voipPwd' or k=='subToken': account.append({k:s}) #print '%s:%s' % (k, s) else: pass #account.append({k:v}) #print '%s:%s' % (k, v) #print account return account #CreateSubAccount('子帐号名称')
def landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound) for k,v in result.iteritems(): if k=='LandingCall' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) #landingCall('被叫号码','语音文件名称','文本内容','显示的主叫号码','循环播放次数','外呼通知状态通知回调地址','用户私有数据','最大通话时长','发音速度','音量','音调','背景音编号') # to = '15750798687' # mediaName = "myMic.wav" # mediaTxt = "" # respUrl = "" # userData = "" # maxCallTime = "" # speed = "" # volume = "" # pitch = "" # bgsound = "" # displayNum = "" # playTimes = 3 # landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound)
def sendTemplateSMS(to, datas, tempId): # 初始化REST SDK rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to, datas, tempId) return result.get('statusCode')
def sendTemplateSMS(to, validationTxt): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to,[validationTxt,'1'],templateId) #sendTemplateSMS(手机号码,内容数据,模板Id)
def send_code_interface(to, datas, template_id): rest = REST(settings.CM_VERIFY_CODE_INTERFACE_SERVER_IP, settings.CM_VERIFY_CODE_INTERFACE_SERVER_PORT, settings.CM_VERIFY_CODE_INTERFACE_SOFT_VERSION) rest.setAccount(settings.CM_DUANXIN_ACCOUNTSID, settings.CM_DUANXIN_ACCOUNTTOKEN) rest.setAppId(settings.CM_DUANXIN_APPID) result = rest.sendTemplateSMS(to, datas, template_id) return result['statusCode']
def voiceVerify(verifyCode,playTimes,to,displayNum,respUrl): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.voiceVerify(verifyCode,playTimes,to,displayNum,respUrl) print result return result
def sendTemplateSMS(to,datas,tempId): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to,datas,tempId) #print str(type(result['statusCode'])) return result['statusCode'] '''
def sendTemplateSMS(to, datas, tempId): #初始化REST SDK rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to, datas, tempId) #print str(type(result['statusCode'])) return result['statusCode'] '''
def billRecords(date,keywords): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.billRecords(date,keywords) for k,v in result.iteritems(): print '%s:%s' % (k, v) #billRecords('查询方式','查询条件')
def ivrDial(number,userdata,record): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) #call createSubAccount result = rest.ivrDial(number,userdata,record) for k,v in result.iteritems(): print '%s:%s' % (k, v) #ivrDial('待呼叫号码','用户数据',是否录音)
def sendTemplateSMS(to, datas, tempId): # 初始化REST SDK rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to, datas, tempId) for k, v in result.iteritems(): if k == 'templateSMS': for k, s in v.iteritems(): print('%s:%s' % (k, s)) else: print('%s:%s' % (k, v))
class _CPP(object): def __init__(self): self.rest = REST(serverIP,serverPort,softVersion) self.rest.setAccount(accountSid,accountToken) self.rest.setAppId(appId) @classmethod def instance(cls): if not hasattr(cls,'_instance'): cls._instance = cls() return cls._instance def sendTemplateSMS(self,to,datas,tempID): return self.rest.sendTemplateSMS(to,datas,tempID)
def sendsns(self,to,datas): accountSid = 'aaf98f8951858ab801518b3677e40ad5' accountToken = '5c3cdbdf6bf940c1b48b658070873219' appid = 'aaf98f8951e82e620151eb452b41046b' tempid = '58783' serverIP='sandboxapp.cloopen.com' serverPort='8883' softVersion='2013-12-26' rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appid) result = rest.sendTemplateSMS(to,datas,tempid) return result
def QueryCallState(callid,action): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.QueryCallState(callid,action) for k,v in result.iteritems(): print '%s:%s' % (k, v) #QueryCallState('callSid','查询结果通知的回调url地址')
class CCP(object): def __init__(self): self.rest = REST(serverIP, serverPort, softVersion) self.rest.setAccount(accountSid, accountToken) self.rest.setAppId(appId) @classmethod def instance(cls): if not hasattr(CCP, "_instance"): CCP._instance = CCP() return CCP._instance def sendTemplateSMS(self, to, datas, tempId): return self.rest.sendTemplateSMS(to, datas, tempId)
class _CCP(object): def __init__(self): self.rest = REST(_serverIP, _serverPort, _softVersion) self.rest.setAccount(_accountSid, _accountToken) self.rest.setAppId(_appId) @classmethod def instance(cls): if not hasattr(cls, "_instance"): cls._instance = cls() return cls._instance def sendTemplateSMS(self, to, datas, tempId): return self.rest.sendTemplateSMS(to, datas, tempId)
class CCP(object): def __init__(self): self.rest = REST(_serverIP,_serverPort,_softVersion) self.rest.setAccount(_accountSid,_accountToken) self.rest.setAppId(_appId) # 单例模式:单个实例 # 对于一个类而已,只有一个全局唯一的实例 @classmethod def instance(cls): if not hasattr(cls,"_instance"): cls._instance = cls() return cls._instance def sendTemplateSMS(self,to,datas,tempId): return self.rest.sendTemplateSMS(to,datas,tempId)
class _CCP(object): def __init__(self): #初始化REST SDK self.rest = REST(_serverIP, _serverPort, _softVersion) self.rest.setAccount(_accountSid, _accountToken) self.rest.setAppId(_appId) # 生成单例类 @classmethod def instance(cls): if not hasattr(cls, "_instance"): cls._instance = cls() return cls._instance def sendTemplateSMS(self, to, datas, tempId): return self.rest.sendTemplateSMS(to, datas, tempId)
def voiceVerify(verifyCode,playTimes,to,displayNum,respUrl,lang,userData): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.voiceVerify(verifyCode,playTimes,to,displayNum,respUrl,lang,userData) for k,v in result.iteritems(): if k=='VoiceVerify' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) #voiceVerify('验证码内容','播放次数','接收号码','显示的主叫号码','语音验证码状态通知回调地址','语言类型','第三方私有数据')
def sendTemplateSMS(to, datas, tempId): # 初始化REST SDK rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to, datas, tempId) # for k,v in result.iteritems(): # # if k=='templateSMS' : # for k,s in v.iteritems(): # print '%s:%s' % (k, s) # else: # print '%s:%s' % (k, v) if result.get('statusCode') == '000000': return True else: return False
class CCP(object): """自己封装发送短信的辅助类""" def __init__(self): #初始化REST SDK self.rest = REST(serverIP, serverPort, softVersion) self.rest.setAccount(accountSid, accountToken) self.rest.setAppId(appId) def send_template_sms(self, to, datas, tempId): # sendTemplateSMS(手机号码,内容数据,模板Id) result = self.rest.sendTemplateSMS(to, datas, tempId) # 返回短信状态码 sms_status_code = result.get("statusCode") if sms_status_code == "000000": return 0 else: return 1
def CallResult(callsid): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.CallResult(callsid) for k,v in result.iteritems(): if k=='CallResult' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) #CallResult('呼叫ID')
def voiceVerify(to,verifyCode): rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) playTimes = 2 respUrl = '' lang = '' userData = '' result = rest.voiceVerify(verifyCode,playTimes,to,displayNum,respUrl,lang,userData) for k,v in result.iteritems(): if k=='VoiceVerify' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v)
def landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound) for k,v in result.iteritems(): if k=='LandingCall' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) #landingCall('被叫号码','语音文件名称','文本内容','显示的主叫号码','循环播放次数','外呼通知状态通知回调地址','用户私有数据','最大通话时长','发音速度','音量','音调','背景音编号')
def voiceVerify(to, verifyCode): rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) playTimes = 2 respUrl = '' lang = '' userData = '' result = rest.voiceVerify(verifyCode, playTimes, to, displayNum, respUrl, lang, userData) for k, v in result.iteritems(): if k == 'VoiceVerify': for k, s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v)
def MediaFileUpload(filename,path): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) file_object = open(path,'rb') try: body = file_object.read() finally: file_object.close() result = rest.MediaFileUpload(filename,body) for k,v in result.iteritems(): print '%s:%s' % (k, v) #MediaFileUpload('文件名','文件所在路径')
def callBack(fromPhone,to,customerSerNum,fromSerNum,promptTone,userData,maxCallTime,hangupCdrUrl): if str(fromPhone).startswith('12') or str(fromPhone).startswith('11'): return if str(to).startswith('12') or str(to).startswith('11'): return #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setSubAccount(subAccountSid,subAccountToken,voIPAccount,voIPPassword) rest.setAppId(appId) try: result = rest.callBack(fromPhone,to,customerSerNum,fromSerNum,promptTone,userData,maxCallTime,hangupCdrUrl) for k,v in result.iteritems(): if k=='CallBack' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) except Exception,e: pass
class _CCP(object): def __init__(self): self.rest = REST(_serverIP, _serverPort, _softVersion) self.rest.setAccount(_accountSid, _accountToken) self.rest.setAppId(_appId) #单例模式:对一个类而言,只有一个全局唯一的实例 @classmethod def instance(cls): #创建一个单例,如果没有生成 if not hasattr(cls, "_instance"): #判断cls中是否存在_instance实例 cls._instance = cls() #创建一个实例 return cls._instance # 发送模板短信 # @param to 必选参数 短信接收彿手机号码集合,用英文逗号分开 # @param datas 可选参数 内容数据 两个参数 验证码内容和时效 # @param tempId 必选参数 模板Id def sendTemplateSMS(self, to, datas, tempID): return self.rest.sendTemplateSMS(to, datas, tempID)
def querySubAccount(accountName): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.querySubAccount(accountName) for k,v in result.iteritems(): if k=='SubAccount' : if v!='': for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) else: print '%s:%s' % (k, v) #querySubAccount('子帐号名称')
def sendTemplateSMS(to, datas, tempId): accountSid = '8a48b55150e162370150e6ad378825ac' accountToken = 'c67a265e8ec14ff48bc14737a803d59e' appId = '8a48b55150e162370150e6ae3d5925c6' serverIP = 'app.cloopen.com' serverPort = '8883' softVersion = '2013-12-26' rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to, datas, tempId) if result['statusCode'] == '000000': return True return False
def sendTemplateSMS(to,datas,tempId): accountSid= '8a48b55150e162370150e6ad378825ac'; accountToken= 'c67a265e8ec14ff48bc14737a803d59e'; appId='8a48b55150e162370150e6ae3d5925c6'; serverIP='app.cloopen.com'; serverPort='8883'; softVersion='2013-12-26'; rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(to,datas,tempId) if result['statusCode'] == '000000': return True return False
class CCP(object): """短信验证码接口 单例模式""" _instance = None _first_init = True def __new__(cls): if cls._instance == None: cls._instance = object.__new__(cls) return cls._instance def __init__(self): if self._first_init == True: # 初始化REST SDK self.rest = REST(serverIP, serverPort, softVersion) self.rest.setAccount(accountSid, accountToken) self.rest.setAppId(appId) self._first_init = True def sendTemplateSMS(self,to,datas,tempId): # sendTemplateSMS(手机号码,内容数据,模板Id) return self.rest.sendTemplateSMS(to, datas, tempId)
def queryAccountInfo(): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.queryAccountInfo() for k,v in result.iteritems(): if k=='Account' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v) #queryAccountInfo()
def QuerySMSTemplate(templateId): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.QuerySMSTemplate(templateId) i=1 for k,v in result.iteritems(): if k=='TemplateSMS' : for m in v: print ('第'+str(i)+'个模板') i=i+1 for k,v in m.iteritems(): print '%s:%s' % (k, v) else: print '%s:%s' % (k, v) #QuerySMSTemplate('')
def getSubAccounts(startNo,offset): #初始化REST SDK rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) result = rest.getSubAccounts(startNo,offset) i=1 for k,v in result.iteritems(): if k=='SubAccount' : for m in v: print ('第'+str(i)+'个子帐号为') i=i+1 for k,v in m.iteritems(): print '%s:%s' % (k, v) else: print '%s:%s' % (k, v) #getSubAccounts('开始的序号','最大条数')
def send_smd(mobile, code, ttl): # init REST SDK serverIP = app.config['SMS_SERVER_IP'] serverPort = app.config['SMS_SERVER_PORT'] softVersion = app.config['SMS_SOFT_VERSION'] accountSid = app.config['SMS_SID'] accountToken = app.config['SMS_TOKEN'] appId = app.config['SMS_APP_ID'] tempId = app.config['SMS_TMPLATE_ID'] rest = REST(serverIP, serverPort, softVersion) rest.setAccount(accountSid, accountToken) rest.setAppId(appId) result = rest.sendTemplateSMS(mobile, {code}, tempId) for k, v in result.iteritems(): if k == 'templateSMS': for k, s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v)
def landingCall(to): rest = REST(serverIP,serverPort,softVersion) rest.setAccount(accountSid,accountToken) rest.setAppId(appId) mediaTxt = '' playTimes = 2 respUrl = '' userData = '' maxCallTime = '' speed = '' volume = '' pitch = '' bgsound = '' result = rest.landingCall(to,mediaName,mediaTxt,displayNum,playTimes,respUrl,userData,maxCallTime,speed,volume,pitch,bgsound) for k,v in result.iteritems(): if k=='LandingCall' : for k,s in v.iteritems(): print '%s:%s' % (k, s) else: print '%s:%s' % (k, v)