class ApiAction(Action): def name(self): return "action_course_search_api-800001-False" def run(self, dispatcher, tracker, domain): #slot=tracker.get_slot(result) custom_message = (tracker.latest_message)['text'] print("Action.ApiAction().custom_message from custom action: {}".format(custom_message)) split=re.split(r'\s|~',custom_message) print(split) print("Action.ApiAction().split: {}".format(split)) #['crs', 'srch', 'finder', 'trigger', 'api', '******@mail.com', 'php'] course=" ".join(split[6:]) print('*********',course) email=split[5] get_tokeurl = get_token_url payload= {"platform":"web","username":"*******","secertkey":"PeRG","password":"*****","grant_type":"*******"} response = requests.request("POST",get_tokeurl, data=payload,verify=False) #print(type(response.text)) final_json = json.loads(response.text) print() key=final_json['access_token'] access_token="Bearer "+key print("Action.ApiAction().access_token: {}".format(access_token)) #print(access_token) get_coursurl = get_course_url headers = {'Authorization': access_token} payload= {"tabname":"chatbot_allcourses","course_offset":0,"course_limit":3,"email":email,"coursesrchterm":course} response = requests.request("POST",get_coursurl, data=payload,headers=headers,verify=False) #print(response.text) print("Action.ApiAction().response.text: {}".format(response.text)) dispatcher.utter_message(response.text)