ExForce v0.2.2 ExForce View Source
Simple wrapper for Salesforce REST API.
Usage
{:ok, %{instance_url: instance_url} = oauth_response} =
ExForce.OAuth.get_token(
"https://login.salesforce.com",
grant_type: "password",
client_id: "client_id",
client_secret: "client_secret",
username: "username",
password: "password"
)
{:ok, version_maps} = ExForce.versions(instance_url)
latest_version = version_maps |> Enum.map(&Map.fetch!(&1, "version")) |> List.last()
client = ExForce.build_client(oauth_response, api_version: latest_version)
names =
ExForce.query_stream(client, "SELECT Name FROM Account")
|> Stream.map(&Map.fetch!(&1.data, "Name"))
|> Stream.take(50)
|> Enum.to_list()
Link to this section Summary
Functions
Retrieves basic metadata for the specific SObject
Creates a SObject
Deletes a SObject
Lists the available objects
Retrieves extended metadata for the specified SObject
Retrieves a SObject by ID
Retrieves a SObject based on the value of a specified extneral ID field
Retrieves a SObject by relationship field
Excute the SOQL query and get the result of it
Excute the SOQL query and get the result of it, including deleted or archived objects
Retrieve additional query results for the specified query ID
Lists available resources for the specific API version
Returns Enumerable.t
from the QueryResult
Updates a SObject
Lists available REST API versions at an instance
Link to this section Types
Link to this section Functions
basic_info(client(), sobject_name()) :: {:ok, map()} | {:error, any()}
Retrieves basic metadata for the specific SObject.
Options
:headers
: set additional headers; default:[{"user-agent", "ex_force"}]
:api_version
: use the given api_version; default:"42.0"
create_sobject(client(), sobject_name(), map()) :: {:ok, sobject_id()} | {:error, any()}
Creates a SObject.
See SObject Rows
delete_sobject(client(), sobject_id(), sobject_name()) :: :ok | {:error, any()}
Deletes a SObject.
Lists the available objects.
See Describe Global
describe_sobject(client(), sobject_name()) :: {:ok, map()} | {:error, any()}
Retrieves extended metadata for the specified SObject.
See SObject Describe
get_sobject(client(), sobject_id(), sobject_name(), list()) :: {:ok, ExForce.SObject.t()} | {:error, any()}
Retrieves a SObject by ID.
See SObject Rows
get_sobject_by_external_id(client(), any(), field_name(), sobject_name()) :: {:ok, ExForce.SObject.t()} | {:error, any()}
Retrieves a SObject based on the value of a specified extneral ID field.
get_sobject_by_relationship( client(), sobject_id(), sobject_name(), field_name(), [field_name()] ) :: {:ok, ExForce.SObject.t()} | {:error, any()}
Retrieves a SObject by relationship field.
query(client(), soql()) :: {:ok, ExForce.QueryResult.t()} | {:error, any()}
Excute the SOQL query and get the result of it.
query_all(client(), soql()) :: {:ok, ExForce.QueryResult.t()} | {:error, any()}
Excute the SOQL query and get the result of it, including deleted or archived objects.
query_all_stream(client(), soql()) :: Enumerable.t()
query_retrieve(client(), query_id() | String.t()) :: {:ok, ExForce.QueryResult.t()} | {:error, any()}
Retrieve additional query results for the specified query ID.
query_stream(client(), soql()) :: Enumerable.t()
Lists available resources for the specific API version.
stream_query_result(client(), ExForce.QueryResult.t()) :: Enumerable.t()
Returns Enumerable.t
from the QueryResult
.
update_sobject(client(), sobject_id(), sobject_name(), map()) :: :ok | {:error, any()}
Updates a SObject.
See SObject Rows
Lists available REST API versions at an instance.
See Versions