import gradio as gr import requests def send_message_via_api(to_number, message): # response.json()API endpoint url = "https://whatsapp.arnasltlt.repl.co/send" print(to_number) # Send POST request response = requests.post(url, data={"to_number": to_number, "message": f"[Order {message}] Hi, What is the order status for " + message+ '?'}) print(response.text) # Return the response or any relevant message history = get_history() return history def get_history(): # Endpoint url = "https://whatsapp.arnasltlt.repl.co/get_history" # Make a GET request response = requests.get(url) # Ensure the response was successful response.raise_for_status() html_string = """
""" history = response.json() for entry in history: role = entry['role'] content = entry['content'] html_string += f'
{role.capitalize()}: {content}
' html_string += """
""" return html_string def final_answer(): url = "https://whatsapp.arnasltlt.repl.co/get_order_status" # Make a GET request response = requests.get(url) return response.text with gr.Blocks() as demo: with gr.Row(): with gr.Column(): inp=gr.Textbox(label='phone',value='+37068995284') number= gr.Textbox(label='Order Number',value='134JAN42') btn = gr.Button('Send') with gr.Column(): gr.Markdown('### The conversation') dt = gr.HTML(label="History") demo.load(get_history, inputs=None, outputs=dt, every=5, queue=True) # with gr.Row(): # final = gr.Textbox() # demo.load(final_answer, inputs=None, outputs=final, every=300, queue=True) btn.click(fn=send_message_via_api,inputs=[inp,number],outputs=dt) demo.queue(max_size=20) demo.launch()