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()