def get_pbx_sip(user): """ Get sip number :param user: user :return: sip """ method = settings.API_URLS['api']['sip'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams() url = params.get_request_string(method) response = requests.get( url, headers={ 'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key)) }) content = response.content if response.ok: sips = json.loads(content)['sips'] sip = int( filter(lambda s: s['display_name'] == 'SIP', sips)[0]['id']) return sip logger = LogService() logger.error(Code.SIP_GETTING_ERR, data=json.loads(content), status_code=response.status_code) return None
def get_call_cost(user, to): """ Get the cost of the call :param to: target phone number :return: """ method = settings.API_URLS['api']['call_cost'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams({'number': to}) url = params.get_request_string(method) response = requests.get( url, headers={ 'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key)) }) content = response.content if response.ok: return json.loads(content)['info'] logger = LogService() logger.error(Code.GET_CALL_COST_ERR, data=json.loads(content), status_code=response.status_code) return None
def request_callback(user, from_number, to_number): """ Request the callback :param user: user instance :param form: prom number :param to: to number :return: """ method = settings.API_URLS['api']['request_callback'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams({'from': from_number, 'to': to_number}) url = params.get_request_string(method) response = requests.get(url, headers={'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key))}) content = response.content if response.ok: callback = DBService.register_callback(user.userprofile, from_number, to_number) if callback: return json.loads(content) logger = LogService() logger.error(Code.REQUEST_CALLBACK_ERR, data=json.loads(content), status_code=response.status_code) return None
def get_call_cost(user, to): """ Get the cost of the call :param to: target phone number :return: """ method = settings.API_URLS['api']['call_cost'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams({'number': to}) url = params.get_request_string(method) response = requests.get(url, headers={'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key))}) content = response.content if response.ok: return json.loads(content)['info'] logger = LogService() logger.error(Code.GET_CALL_COST_ERR, data=json.loads(content), status_code=response.status_code) return None
def get_pbx_sip(user): """ Get sip number :param user: user :return: sip """ method = settings.API_URLS['api']['sip'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams() url = params.get_request_string(method) response = requests.get(url, headers={'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key))}) content = response.content if response.ok: sips = json.loads(content)['sips'] sip = int(filter(lambda s: s['display_name'] == 'SIP', sips)[0]['id']) return sip logger = LogService() logger.error(Code.SIP_GETTING_ERR, data=json.loads(content), status_code=response.status_code) return None
def request_callback(user, from_number, to_number): """ Request the callback :param user: user instance :param form: prom number :param to: to number :return: """ method = settings.API_URLS['api']['request_callback'] # WARNING: Creates ApiParams with {start} and {end} params. Needs to be refactored params = ApiParams({'from': from_number, 'to': to_number}) url = params.get_request_string(method) response = requests.get( url, headers={ 'Authorization': '%s:%s' % (user.userprofile.user_key, CommonService.get_sign(params, method, params.api_version, user.userprofile.secret_key)) }) content = response.content if response.ok: callback = DBService.register_callback(user.userprofile, from_number, to_number) if callback: return json.loads(content) logger = LogService() logger.error(Code.REQUEST_CALLBACK_ERR, data=json.loads(content), status_code=response.status_code) return None