Example usage

To use salesforce_tools in a project:

import salesforce_tools
from salesforce_tools.salesforce_tools import SalesforceTools
import os

print(salesforce_tools.__version__)
0.1.0
# Authenticate with your credentials
user = 'crastello.py@gmail.com'
pw = os.environ.get('SFDC_PASS')
token = os.environ.get('SFDC_TOKEN')

sf = SalesforceTools(username=user,password=pw,security_token=token)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[2], line 6
      3 pw = os.environ.get('SFDC_PASS')
      4 token = os.environ.get('SFDC_TOKEN')
----> 6 sf = SalesforceTools(username=user,password=pw,security_token=token)

File ~/checkouts/readthedocs.org/user_builds/salesforce-tools/checkouts/stable/src/salesforce_tools/salesforce_tools.py:9, in SalesforceTools.__init__(self, username, password, security_token, domain)
      8 def __init__(self, username, password, security_token, domain='login'):
----> 9     self.sf = Salesforce(username=username, password=password, security_token=security_token, domain=domain)
     10     self.opportunities = None

File ~/checkouts/readthedocs.org/user_builds/salesforce-tools/envs/stable/lib/python3.11/site-packages/simple_salesforce/api.py:250, in Salesforce.__init__(self, username, password, security_token, session_id, instance, instance_url, organizationId, version, proxies, session, client_id, domain, consumer_key, consumer_secret, privatekey_file, privatekey, parse_float, object_pairs_hook)
    248     self._refresh_session()
    249 else:
--> 250     raise TypeError(
    251         'You must provide login information or an instance and token'
    252         )
    254 self.auth_site = f'https://{self.domain}.salesforce.com'
    256 self.headers = {
    257     'Content-Type': 'application/json',
    258     'Authorization': 'Bearer ' + self.session_id,
    259     'X-PrettyPrint': '1'
    260     }

TypeError: You must provide login information or an instance and token
### Run a SOQL Query and return result as a df

soql = '''SELECT Id, Name, CloseDate, CreatedDate FROM Opportunity LIMIT 5'''

opps = sf.sf_api_query(soql=soql, dateList=['CloseDate','CreatedDate'],tz='America/Chicago')
opps.head()
Id Name CloseDate CreatedDate
0 006a50000004MBeAAM Opportunity for Conner5 2024-08-28 2024-02-10 02:26:48
1 006a50000004MBfAAM Opportunity for Chandler133 2024-06-06 2024-02-10 02:26:48
2 006a50000004MBjAAM Opportunity for McDonald13 2024-01-10 2024-02-10 02:26:48
3 006a50000004MBkAAM Opportunity for Jefferson17 2023-09-19 2024-02-10 02:26:48
4 006a50000004MBlAAM Opportunity for McLaughlin130 2024-03-18 2024-02-10 02:26:48