Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| # Salesforce credentials | |
| USERNAME = "geethareddy@sathkrutha.com" | |
| PASSWORD = "7995604808g@" | |
| SECURITY_TOKEN = "HIi7RyLwaqfYvvTLZvxrU8pU" | |
| CONSUMER_KEY ="3MVG9GCMQoQ6rpzTiMF88fek3a0QBW9vttcicbMP74jkoal4waKo3o5u1rOLJgnEomroxDbIDs8ChmXLIL4on" | |
| CONSUMER_SECRET = "C84BFAAA196BCE99435568808DEBF50D304982D347BCB55D6D37B4881E4D0830" | |
| LOGIN_URL = "https://login.salesforce.com/?locale=in" | |
| # Authenticate and get Salesforce access token | |
| def get_salesforce_access_token(): | |
| payload = { | |
| "grant_type": "password", | |
| "client_id": CONSUMER_KEY, | |
| "client_secret": CONSUMER_SECRET, | |
| "username": USERNAME, | |
| "password": PASSWORD + SECURITY_TOKEN, | |
| } | |
| response = requests.post(LOGIN_URL, data=payload) | |
| if response.status_code == 200: | |
| data = response.json() | |
| return data["access_token"], data["instance_url"] | |
| else: | |
| raise Exception(f"Authentication failed: {response.json()}") | |
| # Function to save customer data to Salesforce | |
| def save_customer_to_salesforce(name, email, phone): | |
| try: | |
| # Get Salesforce access token and instance URL | |
| access_token, instance_url = get_salesforce_access_token() | |
| headers = { | |
| "Authorization": f"Bearer {access_token}", | |
| "Content-Type": "application/json", | |
| } | |
| payload = { | |
| "FirstName": name, | |
| "LastName": "Customer", # Placeholder for last name | |
| "Email": email, | |
| "Phone": phone, | |
| } | |
| url = f"https://huggingface.co/spaces/nagasurendra/DynamicMenu1" | |
| response = requests.post(url, headers=headers, json=payload) | |
| if response.status_code == 201: | |
| return "Customer details saved successfully!" | |
| else: | |
| return f"Failed to save details: {response.json()}" | |
| except Exception as e: | |
| return str(e) | |
| # Gradio interface for input | |
| def submit_form(name, email, phone): | |
| if not name or not email or not phone: | |
| return "All fields are required!" | |
| return save_customer_to_salesforce(name, email, phone) | |
| # Create Gradio interface | |
| interface = gr.Interface( | |
| fn=submit_form, | |
| inputs=["text", "text", "text"], # Fields: Name, Email, Phone | |
| outputs="text", | |
| title="Customer Login Page", | |
| description="Enter your details to save them in Salesforce." | |
| ) | |
| # Launch the app | |
| interface.launch() | |