SalesforcePy Package Reference

SalesforcePy.chatter module

New in version 1.0.0.

class SalesforcePy.chatter.Chatter(client)

Bases: SalesforcePy.commons.ApiNamespace

The Chatter namespace class from which all API calls to a Salesforce organisation are made. .. versionadded:: 1.0.0

feed_comment(*args, **function_kwarg)
feed_item(*args, **function_kwarg)
class SalesforcePy.chatter.ChatterFeedComment(session_id, instance_url, _id, body, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/v<api_version>/chatter/feed-elements/<id>/capabilities/comments/items’ .. versionadded:: 1.0.0

class SalesforcePy.chatter.ChatterFeedItem(session_id, instance_url, body, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/v<api_version>/chatter/feed-elements’ .. versionadded:: 1.0.0

SalesforcePy.commons module

New in version 1.0.0.

class SalesforcePy.commons.ApiNamespace(client)

Bases: object

Base class for API namespaces.

New in version 1.0.0.

class SalesforcePy.commons.BaseRequest(session_id, instance_url, **kwargs)

Bases: object

Base class for all request objects, for convenience, new request types should inherit from this

New in version 1.0.0.

get_headers()

Returns headers dict for the request.

Returns:headers
Return type:dict
get_request_url()

Returns the request URL. (default: ‘https://<instance_url><service>’)

Returns:request_url
Return type:string
get_request_vars()

Returns the variables required by request()` and other functions.

Returns:(headers, logger, request_object, response, service)
Return type:(dict, logging.Logger, requests.Request|None, list|dict|None, string)
request()

Makes request to Salesforce and returns serialised response. Catches any exceptions and appends them to self.exceptions.

return:response: Salesforce response, if available
rtype:list|dict|None
set_proxies(proxies)

Sets proxies for this class. :param proxies: A dict containing proxies to use (see: http://docs.python-requests.org/en/master/user/advanced/#proxies) :type: dict

class SalesforcePy.commons.OAuthRequest(session_id, instance_url, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Base class for all OAuth request objects

New in version 1.0.0.

get_request_url()

Returns the request URL. (default: ‘https://<instance_url><service>’)

Returns:request_url
Return type:string
request()

Makes request to Salesforce and returns serialised response. Catches any exceptions and appends them to self.exceptions.

return:response: Salesforce response, if available
rtype:list|dict|None
exception SalesforcePy.commons.SFDCRequestException

Bases: exceptions.Exception

This exception is raised when we fail to complete requests to the SFDC REST API. .. versionadded:: 1.0.0

SalesforcePy.commons.delete_request(base_request)

Performs DELETE request for the class provided. :param: base_request: Class with which to make request. :type: BaseRequest :return: response :rtype: requests.Response

SalesforcePy.commons.get_request(base_request)

Performs GET request for the class provided. :param: base_request: Class with which to make request. :type: BaseRequest :return: response :rtype: requests.Response

SalesforcePy.commons.kwarg_adder(func)

Decorator to add the kwargs from the client to the kwargs at the function level. If the same parameters are used in both, the function level kwarg will supersede the one at the client level. :param func: client function to add client kwargs to :return: the function with updated kwargs

SalesforcePy.commons.patch_request(base_request)

Performs PATCH request for the class provided. :param: base_request: Class with which to make request. :type: BaseRequest :return: response :rtype: requests.Response

SalesforcePy.commons.post_request(base_request)

Performs POST request for the class provided. :param: base_request: Class with which to make request. :type: BaseRequest :return: response :rtype: requests.Response

SalesforcePy.commons.put_request(base_request)

Performs PUT request for the class provided. :param: base_request: Class with which to make request. :type: BaseRequest :return: response :rtype: requests.Response

SalesforcePy.jobs module

class SalesforcePy.jobs.Batches(session_id, instance_url, api_version, job_id, csv_file, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a PUT request to ‘/services/data/vX.XX/jobs/ingest/<job_id>/batches’ .. versionadded:: 1.1.0

class SalesforcePy.jobs.CreateJob(session_id, instance_url, api_version, request_body, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a POST request to ‘/services/data/vX.XX/jobs/ingest’ .. versionadded:: 1.1.0

class SalesforcePy.jobs.DeleteJob(session_id, instance_url, api_version, job_id, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a DELETE request to ‘/services/data/vX.XX/jobs/ingest/<job_id>’ .. versionadded:: 1.1.0

class SalesforcePy.jobs.GetJob(session_id, instance_url, api_version, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a GET request to ‘/services/data/vX.XX/jobs/ingest’ .. versionadded:: 1.1.0

class SalesforcePy.jobs.Ingest(client)

Bases: SalesforcePy.commons.ApiNamespace

batches(*args, **function_kwarg)
create(*args, **function_kwarg)
delete(*args, **function_kwarg)
get(*args, **function_kwarg)
update(*args, **function_kwarg)
class SalesforcePy.jobs.Jobs(client)

Bases: SalesforcePy.commons.ApiNamespace

class SalesforcePy.jobs.UpdateJob(session_id, instance_url, api_version, job_id, request_body, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a PATCH request to ‘/services/data/vX.XX/jobs/ingest/<job_id>’ .. versionadded:: 1.1.0

SalesforcePy.sfdc module

class SalesforcePy.sfdc.ApprovalProcess(session_id, instance_url, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Returns a list of all approval processes. Can also be used to submit a particular record if that entity supports
an approval process and one has already been defined. It also supports specifying a collection of different Process Approvals requests to have them all executed in bulk.

New in version 1.0.0.

class SalesforcePy.sfdc.Client(*args, **kwargs)

Bases: object

The client class from which all API calls to a Salesforce organisation are made. .. versionadded:: 1.0.0

approvals(*args, **function_kwarg)
debug(*args, **function_kwarg)
execute_anonymous(*args, **function_kwarg)
login(*args, **function_kwarg)
logout(*args, **function_kwarg)
query(*args, **function_kwarg)
query_more(*args, **function_kwarg)
search(*args, **function_kwarg)
set_api_version(*args, **function_kwarg)
set_instance_url(url)

Strips the protocol from url and assigns the value to self.instance_url

Parameters:url (string) – Instance URL used to make requests (eg. ‘https://eu11.salesforce.com’)
sobjects(*args, **function_kwarg)
class SalesforcePy.sfdc.ExecuteAnonymous(session_id, instance_url, ab, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/vX.XX/tooling/executeAnonymous/’ .. versionadded:: 1.0.0

class SalesforcePy.sfdc.Login(username, password, client_id, client_secret, **kwargs)

Bases: SalesforcePy.commons.OAuthRequest

Performs a request to ‘/services/oauth2/token’ .. versionadded:: 1.0.0

get_payload()

Returns the payload dict to be used in the request.

Returns:OAuth2 request body required to obtain access token.
Return type:dict
get_session_id()

Returns the session ID obtained if the login request was successful

Returns:Session ID
Return type:string
request()

Gets the result of super for this method, then assigns the access_token to session_id. Returns request response.

return:Response dict
rtype:dict
exception SalesforcePy.sfdc.LoginException

Bases: exceptions.Exception

Exception thrown during due to login failure. .. versionadded:: 1.0.0

class SalesforcePy.sfdc.Logout(session_id, instance_url, **kwargs)

Bases: SalesforcePy.commons.OAuthRequest

Performs a request to ‘/services/oauth2/revoke’ .. versionadded:: 1.0.0

class SalesforcePy.sfdc.Query(session_id, instance_url, query_string, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/vX.XX/query/’ .. versionadded:: 1.0.0

class SalesforcePy.sfdc.QueryMore(session_id, instance_url, query_string, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs recursive requests to ‘/services/data/vX.XX/query/’ when there are multiple batches to process. .. versionadded:: 1.0.0

request(*args)

Makes a Query request for the initial query string, then calls itself recursively to request all remaining batches, if there are any. This method will break the recursion and return all when the last batch processed contains a done value equal to True.

param:results: All queried batch results obtained in prior recursions of this method.
type:results: [dict]
return:A list of dicts where each dict is a batch of query results
rtype:[dict]
class SalesforcePy.sfdc.SObjectBlob(_client, service, http_method)

Bases: SalesforcePy.commons.BaseRequest

Perform a request to ‘/services/data/vX.XX/sobjects’ where file i/o is necessary. .. versionadded:: 1.0.0

request()

Returns the request response.

Returns:response
Return type:dict
set_request_body(**kwargs)

Creates binary request body by merging entity, json_body, file_content_type, field, filename and content from **kwargs** into a binary body template. Sets request_body instance variable with the result.

Note: content can be either a file or a raw value.

param:**kwargs:
type:**kwargs: string
class SalesforcePy.sfdc.SObjectController(_client, object_type, _id, binary_field, api_version, external_id)

Bases: object

A special class that controls insert/update/delete/query/describe of SObject resources. .. versionadded:: 1.0.0

delete(*args, **function_kwarg)
describe(*args, **function_kwarg)
describe_global(*args, **function_kwarg)
get_service()

Returns the correct sobject service depending on whether the countroller contains an id instance variable

Returns:service
Return type:string
insert(*args, **function_kwarg)
query(*args, **function_kwarg)
update(*args, **function_kwarg)
upsert(*args, **function_kwarg)
class SalesforcePy.sfdc.SObjects(_client, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Perform a request to ‘/services/data/vX.XX/sobjects’ .. versionadded:: 1.0.0

request()

Makes the appropriate request depending on the http_method. Supported now are: ‘GET’, ‘POST’, ‘PATCH’, and ‘DELETE’. Returns request response.

Note: As successful ‘PATCH’ and ‘DELETE’ responses return NO CONTENT, this method will return None. It may be advisable to check the status of the SObject instance returned as an additional factor in determining whether the request succeeded.

return:response dict
rtype:dict|None
class SalesforcePy.sfdc.Search(session_id, instance_url, search_string, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/vX.XX/search/’ .. versionadded:: 1.0.0

SalesforcePy.sfdc.client(username, password, client_id, client_secret, **kwargs)

Builds a Client and returns it.

New in version 1.0.0.

Note: if any of the required parameters are missing, a ValueError will be raised.

Parameters:
  • *username (string) - Salesforce username.
  • *password (string) - Salesforce password.
  • *client_id (string) - Salesforce client ID.
  • *client_secret (string) - Salesforce client secret.
  • **kwargs - kwargs (see below)
Keyword Arguments:
 
  • login_url (string) –

    Salesforce login URL without protocol Default: ‘login.salesforce.com’

  • protocol (string) –

    Protocol (future use)

  • proxies (dict) –
    A dict containing proxies to be used by requests module. Ex:

    {“https”: “example.org:443”}

    Default: None

  • timeout (‘string’) –

    Tell Requests to stop waiting for a response after a given number of seconds

returns:

client

rtype:

Client

raises:

ValueError

SalesforcePy.wave module

New in version 1.0.0.

class SalesforcePy.wave.Wave(client)

Bases: SalesforcePy.commons.ApiNamespace

The Wave namespace class from which all API calls to a Salesforce organisation are made. .. versionadded:: 1.0.0

dataset(*args, **function_kwarg)
query(*args, **function_kwarg)
class SalesforcePy.wave.WaveDataSet(session_id, instance_url, api_name, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/<api_version>/wave/datasets/<api_name>’ .. versionadded:: 1.0.0

class SalesforcePy.wave.WaveQuery(session_id, instance_url, query, **kwargs)

Bases: SalesforcePy.commons.BaseRequest

Performs a request to ‘/services/data/<api_version>/wave/query’ .. versionadded:: 1.0.0