(Crm.Leads)
List leads
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
)
res, err := s.Crm.Leads.List(ctx, operations.CrmLeadsAllRequest{
Raw: sdkgo.Bool(false),
ServiceID: sdkgo.String("salesforce"),
Limit: sdkgo.Int64(20),
Filter: &components.LeadsFilter{
FirstName: sdkgo.String("Elon"),
LastName: sdkgo.String("Musk"),
Email: sdkgo.String("[email protected]"),
PhoneNumber: sdkgo.String("1234567890"),
},
Sort: &components.LeadsSort{
By: components.LeadsSortByCreatedAt.ToPointer(),
Direction: components.SortDirectionDesc.ToPointer(),
},
PassThrough: map[string]any{
"search": "San Francisco",
},
Fields: sdkgo.String("id,updated_at"),
})
if err != nil {
log.Fatal(err)
}
if res.GetLeadsResponse != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmLeadsAllRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmLeadsAllResponse, error
Error Type | Status Code | Content Type |
---|---|---|
apierrors.BadRequestResponse | 400 | application/json |
apierrors.UnauthorizedResponse | 401 | application/json |
apierrors.PaymentRequiredResponse | 402 | application/json |
apierrors.NotFoundResponse | 404 | application/json |
apierrors.UnprocessableResponse | 422 | application/json |
apierrors.APIError | 4XX, 5XX | */* |
Create lead
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
)
res, err := s.Crm.Leads.Create(ctx, operations.CrmLeadsAddRequest{
Raw: sdkgo.Bool(false),
ServiceID: sdkgo.String("salesforce"),
Lead: components.LeadInput{
Name: "Elon Musk",
CompanyName: sdkgo.String("Spacex"),
OwnerID: sdkgo.String("54321"),
OwnerName: sdkgo.String("John Doe"),
CompanyID: sdkgo.String("2"),
LeadID: sdkgo.String("2"),
LeadSource: sdkgo.String("Cold Call"),
FirstName: sdkgo.String("Elon"),
LastName: sdkgo.String("Musk"),
Description: sdkgo.String("A thinker"),
Prefix: sdkgo.String("Sir"),
Title: sdkgo.String("CEO"),
Language: sdkgo.String("EN"),
Status: sdkgo.String("New"),
MonetaryAmount: sdkgo.Float64(75000),
Currency: components.CurrencyUsd.ToPointer(),
Fax: sdkgo.String("+12129876543"),
Websites: []components.Website{
components.Website{
ID: sdkgo.String("12345"),
URL: "http://example.com",
Type: components.WebsiteTypePrimary.ToPointer(),
},
components.Website{
ID: sdkgo.String("12345"),
URL: "http://example.com",
Type: components.WebsiteTypePrimary.ToPointer(),
},
},
Addresses: []components.Address{
components.Address{
ID: sdkgo.String("123"),
Type: components.TypePrimary.ToPointer(),
String: sdkgo.String("25 Spring Street, Blackburn, VIC 3130"),
Name: sdkgo.String("HQ US"),
Line1: sdkgo.String("Main street"),
Line2: sdkgo.String("apt #"),
Line3: sdkgo.String("Suite #"),
Line4: sdkgo.String("delivery instructions"),
StreetNumber: sdkgo.String("25"),
City: sdkgo.String("San Francisco"),
State: sdkgo.String("CA"),
PostalCode: sdkgo.String("94104"),
Country: sdkgo.String("US"),
Latitude: sdkgo.String("40.759211"),
Longitude: sdkgo.String("-73.984638"),
County: sdkgo.String("Santa Clara"),
ContactName: sdkgo.String("Elon Musk"),
Salutation: sdkgo.String("Mr"),
PhoneNumber: sdkgo.String("111-111-1111"),
Fax: sdkgo.String("122-111-1111"),
Email: sdkgo.String("[email protected]"),
Website: sdkgo.String("https://elonmusk.com"),
Notes: sdkgo.String("Address notes or delivery instructions."),
RowVersion: sdkgo.String("1-12345"),
},
components.Address{
ID: sdkgo.String("123"),
Type: components.TypePrimary.ToPointer(),
String: sdkgo.String("25 Spring Street, Blackburn, VIC 3130"),
Name: sdkgo.String("HQ US"),
Line1: sdkgo.String("Main street"),
Line2: sdkgo.String("apt #"),
Line3: sdkgo.String("Suite #"),
Line4: sdkgo.String("delivery instructions"),
StreetNumber: sdkgo.String("25"),
City: sdkgo.String("San Francisco"),
State: sdkgo.String("CA"),
PostalCode: sdkgo.String("94104"),
Country: sdkgo.String("US"),
Latitude: sdkgo.String("40.759211"),
Longitude: sdkgo.String("-73.984638"),
County: sdkgo.String("Santa Clara"),
ContactName: sdkgo.String("Elon Musk"),
Salutation: sdkgo.String("Mr"),
PhoneNumber: sdkgo.String("111-111-1111"),
Fax: sdkgo.String("122-111-1111"),
Email: sdkgo.String("[email protected]"),
Website: sdkgo.String("https://elonmusk.com"),
Notes: sdkgo.String("Address notes or delivery instructions."),
RowVersion: sdkgo.String("1-12345"),
},
},
SocialLinks: []components.SocialLink{
components.SocialLink{
ID: sdkgo.String("12345"),
URL: "https://www.twitter.com/apideck",
Type: sdkgo.String("twitter"),
},
components.SocialLink{
ID: sdkgo.String("12345"),
URL: "https://www.twitter.com/apideck",
Type: sdkgo.String("twitter"),
},
},
PhoneNumbers: []components.PhoneNumber{
components.PhoneNumber{
ID: sdkgo.String("12345"),
CountryCode: sdkgo.String("1"),
AreaCode: sdkgo.String("323"),
Number: "111-111-1111",
Extension: sdkgo.String("105"),
Type: components.PhoneNumberTypePrimary.ToPointer(),
},
},
Emails: []components.Email{
components.Email{
ID: sdkgo.String("123"),
Email: sdkgo.String("[email protected]"),
Type: components.EmailTypePrimary.ToPointer(),
},
},
CustomFields: []components.CustomField{
components.CustomField{
ID: sdkgo.String("2389328923893298"),
Name: sdkgo.String("employee_level"),
Description: sdkgo.String("Employee Level"),
Value: sdkgo.Pointer(components.CreateValueFour(
components.Four{},
)),
},
components.CustomField{
ID: sdkgo.String("2389328923893298"),
Name: sdkgo.String("employee_level"),
Description: sdkgo.String("Employee Level"),
Value: sdkgo.Pointer(components.CreateValueNumber(
10,
)),
},
components.CustomField{
ID: sdkgo.String("2389328923893298"),
Name: sdkgo.String("employee_level"),
Description: sdkgo.String("Employee Level"),
Value: sdkgo.Pointer(components.CreateValueStr(
"Uses Salesforce and Marketo",
)),
},
},
Tags: []string{
"New",
},
PassThrough: []components.PassThroughBody{
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
},
},
})
if err != nil {
log.Fatal(err)
}
if res.CreateLeadResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmLeadsAddRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmLeadsAddResponse, error
Error Type | Status Code | Content Type |
---|---|---|
apierrors.BadRequestResponse | 400 | application/json |
apierrors.UnauthorizedResponse | 401 | application/json |
apierrors.PaymentRequiredResponse | 402 | application/json |
apierrors.NotFoundResponse | 404 | application/json |
apierrors.UnprocessableResponse | 422 | application/json |
apierrors.APIError | 4XX, 5XX | */* |
Get lead
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
)
res, err := s.Crm.Leads.Get(ctx, operations.CrmLeadsOneRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
Raw: sdkgo.Bool(false),
Fields: sdkgo.String("id,updated_at"),
})
if err != nil {
log.Fatal(err)
}
if res.GetLeadResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmLeadsOneRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmLeadsOneResponse, error
Error Type | Status Code | Content Type |
---|---|---|
apierrors.BadRequestResponse | 400 | application/json |
apierrors.UnauthorizedResponse | 401 | application/json |
apierrors.PaymentRequiredResponse | 402 | application/json |
apierrors.NotFoundResponse | 404 | application/json |
apierrors.UnprocessableResponse | 422 | application/json |
apierrors.APIError | 4XX, 5XX | */* |
Update lead
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/components"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
)
res, err := s.Crm.Leads.Update(ctx, operations.CrmLeadsUpdateRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
Raw: sdkgo.Bool(false),
Lead: components.LeadInput{
Name: "Elon Musk",
CompanyName: sdkgo.String("Spacex"),
OwnerID: sdkgo.String("54321"),
OwnerName: sdkgo.String("John Doe"),
CompanyID: sdkgo.String("2"),
LeadID: sdkgo.String("2"),
LeadSource: sdkgo.String("Cold Call"),
FirstName: sdkgo.String("Elon"),
LastName: sdkgo.String("Musk"),
Description: sdkgo.String("A thinker"),
Prefix: sdkgo.String("Sir"),
Title: sdkgo.String("CEO"),
Language: sdkgo.String("EN"),
Status: sdkgo.String("New"),
MonetaryAmount: sdkgo.Float64(75000),
Currency: components.CurrencyUsd.ToPointer(),
Fax: sdkgo.String("+12129876543"),
Websites: []components.Website{
components.Website{
ID: sdkgo.String("12345"),
URL: "http://example.com",
Type: components.WebsiteTypePrimary.ToPointer(),
},
components.Website{
ID: sdkgo.String("12345"),
URL: "http://example.com",
Type: components.WebsiteTypePrimary.ToPointer(),
},
components.Website{
ID: sdkgo.String("12345"),
URL: "http://example.com",
Type: components.WebsiteTypePrimary.ToPointer(),
},
},
Addresses: []components.Address{
components.Address{
ID: sdkgo.String("123"),
Type: components.TypePrimary.ToPointer(),
String: sdkgo.String("25 Spring Street, Blackburn, VIC 3130"),
Name: sdkgo.String("HQ US"),
Line1: sdkgo.String("Main street"),
Line2: sdkgo.String("apt #"),
Line3: sdkgo.String("Suite #"),
Line4: sdkgo.String("delivery instructions"),
StreetNumber: sdkgo.String("25"),
City: sdkgo.String("San Francisco"),
State: sdkgo.String("CA"),
PostalCode: sdkgo.String("94104"),
Country: sdkgo.String("US"),
Latitude: sdkgo.String("40.759211"),
Longitude: sdkgo.String("-73.984638"),
County: sdkgo.String("Santa Clara"),
ContactName: sdkgo.String("Elon Musk"),
Salutation: sdkgo.String("Mr"),
PhoneNumber: sdkgo.String("111-111-1111"),
Fax: sdkgo.String("122-111-1111"),
Email: sdkgo.String("[email protected]"),
Website: sdkgo.String("https://elonmusk.com"),
Notes: sdkgo.String("Address notes or delivery instructions."),
RowVersion: sdkgo.String("1-12345"),
},
components.Address{
ID: sdkgo.String("123"),
Type: components.TypePrimary.ToPointer(),
String: sdkgo.String("25 Spring Street, Blackburn, VIC 3130"),
Name: sdkgo.String("HQ US"),
Line1: sdkgo.String("Main street"),
Line2: sdkgo.String("apt #"),
Line3: sdkgo.String("Suite #"),
Line4: sdkgo.String("delivery instructions"),
StreetNumber: sdkgo.String("25"),
City: sdkgo.String("San Francisco"),
State: sdkgo.String("CA"),
PostalCode: sdkgo.String("94104"),
Country: sdkgo.String("US"),
Latitude: sdkgo.String("40.759211"),
Longitude: sdkgo.String("-73.984638"),
County: sdkgo.String("Santa Clara"),
ContactName: sdkgo.String("Elon Musk"),
Salutation: sdkgo.String("Mr"),
PhoneNumber: sdkgo.String("111-111-1111"),
Fax: sdkgo.String("122-111-1111"),
Email: sdkgo.String("[email protected]"),
Website: sdkgo.String("https://elonmusk.com"),
Notes: sdkgo.String("Address notes or delivery instructions."),
RowVersion: sdkgo.String("1-12345"),
},
},
SocialLinks: []components.SocialLink{
components.SocialLink{
ID: sdkgo.String("12345"),
URL: "https://www.twitter.com/apideck",
Type: sdkgo.String("twitter"),
},
components.SocialLink{
ID: sdkgo.String("12345"),
URL: "https://www.twitter.com/apideck",
Type: sdkgo.String("twitter"),
},
},
PhoneNumbers: []components.PhoneNumber{
components.PhoneNumber{
ID: sdkgo.String("12345"),
CountryCode: sdkgo.String("1"),
AreaCode: sdkgo.String("323"),
Number: "111-111-1111",
Extension: sdkgo.String("105"),
Type: components.PhoneNumberTypePrimary.ToPointer(),
},
components.PhoneNumber{
ID: sdkgo.String("12345"),
CountryCode: sdkgo.String("1"),
AreaCode: sdkgo.String("323"),
Number: "111-111-1111",
Extension: sdkgo.String("105"),
Type: components.PhoneNumberTypePrimary.ToPointer(),
},
components.PhoneNumber{
ID: sdkgo.String("12345"),
CountryCode: sdkgo.String("1"),
AreaCode: sdkgo.String("323"),
Number: "111-111-1111",
Extension: sdkgo.String("105"),
Type: components.PhoneNumberTypePrimary.ToPointer(),
},
},
Emails: []components.Email{
components.Email{
ID: sdkgo.String("123"),
Email: sdkgo.String("[email protected]"),
Type: components.EmailTypePrimary.ToPointer(),
},
components.Email{
ID: sdkgo.String("123"),
Email: sdkgo.String("[email protected]"),
Type: components.EmailTypePrimary.ToPointer(),
},
},
CustomFields: []components.CustomField{
components.CustomField{
ID: sdkgo.String("2389328923893298"),
Name: sdkgo.String("employee_level"),
Description: sdkgo.String("Employee Level"),
Value: sdkgo.Pointer(components.CreateValueFour(
components.Four{},
)),
},
components.CustomField{
ID: sdkgo.String("2389328923893298"),
Name: sdkgo.String("employee_level"),
Description: sdkgo.String("Employee Level"),
Value: sdkgo.Pointer(components.CreateValueArrayOf6(
[]components.Six{
components.Six{},
},
)),
},
},
Tags: []string{
"New",
},
PassThrough: []components.PassThroughBody{
components.PassThroughBody{
ServiceID: "<id>",
ExtendPaths: []components.ExtendPaths{
components.ExtendPaths{
Path: "$.nested.property",
Value: map[string]any{
"TaxClassificationRef": map[string]any{
"value": "EUC-99990201-V1-00020000",
},
},
},
},
},
},
},
})
if err != nil {
log.Fatal(err)
}
if res.UpdateLeadResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmLeadsUpdateRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmLeadsUpdateResponse, error
Error Type | Status Code | Content Type |
---|---|---|
apierrors.BadRequestResponse | 400 | application/json |
apierrors.UnauthorizedResponse | 401 | application/json |
apierrors.PaymentRequiredResponse | 402 | application/json |
apierrors.NotFoundResponse | 404 | application/json |
apierrors.UnprocessableResponse | 422 | application/json |
apierrors.APIError | 4XX, 5XX | */* |
Delete lead
package main
import(
"context"
"os"
sdkgo "github.com/apideck-libraries/sdk-go"
"github.com/apideck-libraries/sdk-go/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := sdkgo.New(
sdkgo.WithSecurity(os.Getenv("APIDECK_API_KEY")),
sdkgo.WithConsumerID("test-consumer"),
sdkgo.WithAppID("dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"),
)
res, err := s.Crm.Leads.Delete(ctx, operations.CrmLeadsDeleteRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
Raw: sdkgo.Bool(false),
})
if err != nil {
log.Fatal(err)
}
if res.DeleteLeadResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmLeadsDeleteRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmLeadsDeleteResponse, error
Error Type | Status Code | Content Type |
---|---|---|
apierrors.BadRequestResponse | 400 | application/json |
apierrors.UnauthorizedResponse | 401 | application/json |
apierrors.PaymentRequiredResponse | 402 | application/json |
apierrors.NotFoundResponse | 404 | application/json |
apierrors.UnprocessableResponse | 422 | application/json |
apierrors.APIError | 4XX, 5XX | */* |