This is a utility library for consuming the salesforce lightning API
- sobjects (object CRUD)
- query (SOQL queries)
Instantiate a new instance using NewSalesforceUtils()
. Configuration can be provided as environment variables, or in code.
package main
import salesforce_utils "github.com/catalystcommunity/salesforce-utils"
func main() {
// if authenticate is true then authentication is done as part of instantiation. If authenticate is
// false, you'll need to manually call the Authenticate() method.
authenticate := true
// empty config will use environment variables
config := salesforce_utils.Config{}
sfUtils, err := salesforce_utils.NewSalesforceUtils(authenticate, config)
if err != nil {
fmt.Printf("error instantiating salesforce utils: %s", err.Error())
}
// create an object
myJson := `{"some": "stuff"}`
response, sfErr := sfUtils.CreateObject("my_type_name", []byte(myJson))
// make a soql query
myQuery := 'select fields(all) from my_type_name'
response, sfErr := sfUtils.ExecuteSoqlQuery(myQuery)
}
Configuration is handled by code or environment variables. Code variables take precedence.
// if authenticate is true then authentication is done as part of instantiation. If authenticate is false, you'll need to manually call the Authenticate() method.
authenticate := true
config := salesforce_utils.Config{
BaseUrl: "https://mydomain.my.salesforce.com",
ApiVersion: "55.0",
ClientId: "client_id_here",
ClientSecret: "client_secret_here",
Username: "username_here",
Password: "password_here",
GrantType: "password",
}
sfUtils, err := salesforce_utils.NewSalesforceUtils(authenticate, config)
name | required | purpose | default |
---|---|---|---|
SALESFORCE_BASE_URL | yes | Set the salesforce base url, i.e. https://mydomain.my.salesforce.com | "" |
SALESFORCE_CLIENT_ID | yes | Set the connected app client id | "" |
SALESFORCE_CLIENT_SECRET | yes | Set the connected app client secret | "" |
SALESFORCE_USERNAME | yes | User to authenticate as | "" |
SALESFORCE_PASSWORD | yes | Password to authenticate with | "" |
SALESFORCE_GRANT_TYPE | no | Grant type, we advise not setting this and letting it use the default | "password" |
SALESFORCE_API_VERSION | no | Salesforce api version to use | "55.0" |