Solar_Panel_Faults_Detection / services /salesforce_dispatcher.py
DSatishchandra's picture
Create salesforce_dispatcher.py
317f83e verified
from simple_salesforce import Salesforce
from twilio.rest import Client
from dotenv import load_dotenv
import os
class SalesforceDispatcher:
def __init__(self):
load_dotenv()
self.sf = Salesforce(
username=os.getenv("SF_USERNAME"),
password=os.getenv("SF_PASSWORD"),
security_token=os.getenv("SF_TOKEN")
)
self.twilio_client = Client(
os.getenv("TWILIO_SID"),
os.getenv("TWILIO_TOKEN")
)
self.twilio_number = os.getenv("TWILIO_NUMBER")
def create_case(self, subject, description):
"""Create a Salesforce case."""
case = self.sf.Case.create({
"Subject": subject,
"Description": description,
"Status": "New",
"Origin": "Web",
"Priority": "High"
})
return case["id"]
def send_email(self, to, subject, body):
"""Send email notification (simulated)."""
# Placeholder: Use Salesforce email service or external SMTP
print(f"Sending email to {to}\nSubject: {subject}\nBody: {body}")
def send_whatsapp(self, to, message):
"""Send WhatsApp message via Twilio."""
self.twilio_client.messages.create(
body=message,
from_=f"whatsapp:{self.twilio_number}",
to=f"whatsapp:{to}"
)