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.

New in version 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’

New in version 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’

New in version 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 class.

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
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 # noqa SFDC REST API.# noqa

New in version 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
Returns:response
Return type: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
Returns:response
Return type: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.

Parameters:func – client function to add client kwargs to
Returns: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
Returns:response
Return type: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
Returns:response
Return type: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
Returns:response
Return type: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’

New in version 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’

New in version 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>’

New in version 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’

New in version 1.1.0.

class SalesforcePy.jobs.Ingest(client)

Bases: SalesforcePy.commons.ApiNamespace

The Ingest namespace class from which all Bulk API calls to a Salesforce organisation are made.

New in version 1.1.0.

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>’

New in version 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 # noqa if that entity supports an approval process and one has already been defined. It also supports # noqa 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.

New in version 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/

New in version 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’

New in version 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.

New in version 1.0.0.

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

Bases: SalesforcePy.commons.OAuthRequest

Performs a request to ‘/services/oauth2/revoke’

New in version 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/’

New in version 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.

New in version 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.

New in version 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.

New in version 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’

New in version 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/’

New in version 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.

Example: {“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.

New in version 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>’

New in version 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’

New in version 1.0.0.