Additional Features¶
There are a few helper classes that are used internally and available to you.
Included in them are SalesforceLogin
, which takes in a username, password, security token, optional version and optional domain and returns a tuple of (session_id, sf_instance)
where session_id is the session ID to use for authentication to Salesforce and sf_instance
is the domain of the instance of Salesforce to use for the session.
For example, to use SalesforceLogin for a sandbox account you’d use:
from simple_salesforce import SalesforceLogin
session_id, instance = SalesforceLogin(
username='myemail@example.com.sandbox',
password='password',
security_token='token',
domain='test')
Simply leave off the final domain if you do not wish to use a sandbox.
Also exposed is the SFType
class, which is used internally by the __getattr__()
method in the Salesforce()
class and represents a specific SObject type. SFType
requires object_name
(i.e. Contact
), session_id
(an authentication ID), sf_instance
(hostname of your Salesforce instance), and an optional sf_version
To add a Contact using the default version of the API you’d use:
from simple_salesforce import SFType
contact = SFType('Contact','sessionid','na1.salesforce.com')
contact.create({'LastName':'Smith','Email':'example@example.com'})
To use a proxy server between your client and the SalesForce endpoint, use the proxies argument when creating SalesForce object. The proxy argument is the same as what requests uses, a map of scheme to proxy URL:
proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}
SalesForce(instance='na1.salesforce.com', session_id='', proxies=proxies)
All results are returned as JSON converted OrderedDict to preserve order of keys from REST responses.