Skip to content

tzmfreedom/go-soapforce

Repository files navigation

go-soapforce

Salesforce SOAP API Client for golang

Install

go get github.com/tzmfreedom/go-soapforce

Usage

import package and initialize client

import "github.com/tzmfreedom/go-soapforce"

client := soapforce.NewClient()

for sandbox

client.SetLoginUrl("test.salesforce.com")

set api version

client.SetApiVersion("44.0")

debug request/response

client.SetDebug(true)

Login

res, err := client.Login("username", "password")

Logout

res, err := client.Logout()

DescribeSObject

res, err := client.DescribeSObject("Account")

DescribeGlobal

res, err := client.DescribeGlobal()

DescribeLayout

recordTypeIds := []string{}
res, err := client.DescribeLayout("Account", "layout_name", recordTypeIds)

Create

sobjects := []*soapforce.SObject{
	{
		Type: "Account",
		Fields: map[string]string{
			"Name": "Foo",
		},
	},
}
res, err := client.Create(sobjects)

Update

sobjects := []*soapforce.SObject{
	{
		Id:   "001xxxxxxxxxxxxxxx",
		Type: "Account",
		Fields: map[string]string{
			"Name": "Updated Name",
		},
	},
}
sResult, err := client.Update(sobjects)

Upsert

sobjects := []*soapforce.SObject{
	{
		Id:   "001xxxxxxxxxxxxxxx",
		Type: "Account",
		Fields: map[string]string{
			"Name": "Upserted Name",
		},
	},
}
sResult, err := client.Upsert(sobjects, "Id")

Delete

ids := []string{
	"001xxxxxxxxxxxxxxx",
}
sResult, err := client.Delete(ids)

Undelete

ids := []string{
	"001xxxxxxxxxxxxxxx",
}
sResult, err := client.Undelete(ids)

Query

res, err := client.Query("SELECT id, Name FROM Account")

Set BatchSize

client.SetBatchSize(200)

QueryMore

res, err := client.Query("SELECT id FROM Account")
res, err = client.QueryMore(res.ql)

Retrieve

ids := []string{ "001A000001WTqy6" }
res, err := client.Retrieve("Account", ids, "Name, BillingAddress")

GetUserInfo

res, err := client.GetUserInfo()

Contribute

Just send pull request if needed or fill an issue!

License

The MIT License See LICENSE file.

About

Salesforce SOAP API Client for golang

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published