ExForce v0.4.0 ExForce View Source
Simple wrapper for Salesforce REST API.
Installation
The package can be installed by adding ex_force
to your list of dependencies in mix.exs
:
def deps do
[
{:ex_force, "~> 0.3"}
]
end
Check out Choosing a Tesla Adapter.
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" <> "security_token"
)
{: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.
Use the Composite API to update multiple records (up to 200) in one call, returning a list of SaveResult objects. You can choose whether to roll back the entire request when an error occurs. If more than 200 records need to be updated at once, try using the Bulk API. See Update Multiple Records with Fewer Round-Trips
Lists available REST API versions at an instance.
Link to this section Types
Link to this section Functions
basic_info(client, name)
View Sourcebasic_info(client(), sobject_name()) :: {:ok, map()} | {:error, any()}
Retrieves basic metadata for the specific SObject.
create_sobject(client, name, attrs)
View Sourcecreate_sobject(client(), sobject_name(), map()) :: {:ok, sobject_id()} | {:error, any()}
Creates a SObject.
See SObject Rows
delete_sobject(client, id, name)
View Sourcedelete_sobject(client(), sobject_id(), sobject_name()) :: :ok | {:error, any()}
Deletes a SObject.
Lists the available objects.
See Describe Global
describe_sobject(client, name)
View Sourcedescribe_sobject(client(), sobject_name()) :: {:ok, map()} | {:error, any()}
Retrieves extended metadata for the specified SObject.
See SObject Describe
get_sobject(client, id, name, fields)
View Sourceget_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, field_value, field_name, sobject_name)
View Sourceget_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, id, sobject_name, field_name, fields)
View Sourceget_sobject_by_relationship( client(), sobject_id(), sobject_name(), field_name(), [field_name()] ) :: {:ok, ExForce.SObject.t() | ExForce.QueryResult.t()} | {:error, any()}
Retrieves a SObject by relationship field.
query(client, soql)
View Sourcequery(client(), soql()) :: {:ok, ExForce.QueryResult.t()} | {:error, any()}
Excute the SOQL query and get the result of it.
query_all(client, soql)
View Sourcequery_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)
View Sourcequery_all_stream(client(), soql()) :: Enumerable.t()
query_retrieve(client, query_id_or_url)
View Sourcequery_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)
View Sourcequery_stream(client(), soql()) :: Enumerable.t()
Lists available resources for the specific API version.
stream_query_result(client, qr)
View Sourcestream_query_result(client(), ExForce.QueryResult.t()) :: Enumerable.t()
Returns Enumerable.t
from the QueryResult
.
update_sobject(client, id, name, attrs)
View Sourceupdate_sobject(client(), sobject_id(), sobject_name(), map()) :: :ok | {:error, any()}
Updates a SObject.
See SObject Rows
Use the Composite API to update multiple records (up to 200) in one call, returning a list of SaveResult objects. You can choose whether to roll back the entire request when an error occurs. If more than 200 records need to be updated at once, try using the Bulk API. See Update Multiple Records with Fewer Round-Trips
Lists available REST API versions at an instance.
See Versions