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
コード例 #2
0
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
コード例 #3
0
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
コード例 #4
0
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
コード例 #5
0
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=(',',':'))
コード例 #6
0
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=(',', ':'))