def callSystemOfRecordAfterConversation(message): if check_wcsActionSignal(message,'getProfile'): logging.info("Grabing the user profile") message = doGetProfile(message) if check_wcsActionSignal(message,'makePayment'): logging.info("Calling API to make a payment") if doMakePayment(message): message = doGetProfile(message) if 'payment' in message['context']: del message['context']['payment'] if check_wcsActionSignal(message,'checkBalanceAskAgain'): logging.info("Checking balance and Calling Conversation again based on signal") message['input']['text'] = message['context']['origInput'] del message['output'] del message['intents'] message = doGetProfile(message) message = callConversationService(message) message = wcsSignals(message) message = callSORAfterConv(message) return message return message
def checkConversationSignal(message): if check_wcsActionSignal(message, 'askoriginal'): logging.info("Calling Conversation again based on signal") message['input']['text'] = message['context']['origInput'] del message['output'] del message['intents'] del message['entities'] message = callConversationService(message) message = wcsSignals(message) return message
def checkConversationSignal(message): if check_wcsActionSignal(message, 'askoriginal'): logging.info("Calling Conversation again based on signal") message['input']['text'] = message['context']['origInput'] del message['output'] del message['intents'] message = callConversationService(message) message = wcsSignals(message) return message if check_DTMFSignal(message): logging.info("DTMF set from Convesation Service") return message if check_wcsHangUp(message): logging.info("Hangup") message = setEarlyReturn( message, 'Conversation Signals Hangup -> Returning to Gateway') return message return message
def callSystemOfRecordAfterConversation(message): if check_wcsActionSignal(message, 'getProfile'): logging.info("Grabing the user profile") message = doGetCustomer(message) if check_wcsActionSignal(message, 'lookupAccountBalanceTag'): message = doGetCustomer(message) tag = '<accountBalance>' id = message['context']['profile']['customer']['id'] customer = getCustomerByID(id) acctID = message['context']['paymentAccount'] account = getID(customer, acctID, 'accounts') message = replaceOutputTagValue(message, tag, account['balance']) return message if check_wcsActionSignal(message, 'makePayment'): logging.info("Calling API to make a payment") if doMakePayment(message): message = doGetCustomer(message) if 'payment' in message['context']: del message['context']['payment'] if check_wcsActionSignal(message, 'checkBalanceAskAgain'): logging.info( "Checking balance and Calling Conversation again based on signal") message['input']['text'] = message['context']['origInput'] del message['output'] del message['intents'] message = doGetCustomer(message) message = populateBalances(message) message = callConversationService(message) message = wcsSignals(message) message = callSORAfterConv(message) return message return message
def voiceGatewayEntry(spaceid,msg): #Get data from post -- should be in the form of a conversation message message = json.loads(request.data) weblogger.addLogEntry(voiceProxySettings.APP_NAME_LOGGING, logging_comp_name, 'New API Call', message) message = inputFilters(message) message = signals(message) message = dtmf(message) message = callConversationService(message) message = wcsSignals(message) message = callSORAfterConv(message) message = outputFilter(message) # Finally Returning to Gateway #weblogger.addLogEntry(voiceProxySettings.APP_NAME_LOGGING, logging_comp_name, 'Normal Return to Gateway', message) return json.dumps(message, separators=(',',':'))
def voiceGatewayEntry(spaceid, msg): #Get data from post -- should be in the form of a conversation message message = json.loads(request.data) ##### First Check to see if the message passed to the Server is valid format ####### if not checkGatewayMessage(message): # Need to know how to signal the Gateway something is wrong message = returningEarlyCleanup( message, 'Gateway Message Check Failed -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) addLogEntry(voiceProxySettings.APP_NAME_LOGGING, logging_comp_name, 'New API Call', message) message = inputFilters(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'inputFilters -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = signals(message) if earlyReturn(message): message = returningEarlyCleanup(message, 'signals -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = waitState(message) if earlyReturn(message): message = returningEarlyCleanup(message, 'waitState -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = dtmf(message) if earlyReturn(message): message = returningEarlyCleanup(message, 'dtmf -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = utterance(message) if earlyReturn(message): message = returningEarlyCleanup(message, 'utterance -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = pollBackend(message) if earlyReturn(message): message = returningEarlyCleanup(message, 'pollbackend -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = callSORBeforeConv(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'callBackend1 -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = callConversationService(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'callConversation -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = wcsSignals(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'callWcsSignal -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = callSORAfterConv(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'callBackend2 -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) message = outputFilter(message) if earlyReturn(message): message = returningEarlyCleanup( message, 'outputFilters -> Returning to Gateway') return json.dumps(message, separators=(',', ':')) # Finally Returning to Gateway addLogEntry(voiceProxySettings.APP_NAME_LOGGING, logging_comp_name, 'Normal Return to Gateway', message) return json.dumps(message, separators=(',', ':'))