(Crm.Opportunities)
- List - List opportunities
- Create - Create opportunity
- Get - Get opportunity
- Update - Update opportunity
- Delete - Delete opportunity
List opportunities
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.Opportunities.List(ctx, operations.CrmOpportunitiesAllRequest{
ServiceID: sdkgo.String("salesforce"),
Filter: &components.OpportunitiesFilter{
Status: sdkgo.String("Completed"),
MonetaryAmount: sdkgo.Float64(75000),
},
Sort: &components.OpportunitiesSort{
By: components.OpportunitiesSortByCreatedAt.ToPointer(),
},
PassThrough: map[string]any{
"search": "San Francisco",
},
Fields: sdkgo.String("id,updated_at"),
})
if err != nil {
log.Fatal(err)
}
if res.GetOpportunitiesResponse != 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.CrmOpportunitiesAllRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmOpportunitiesAllResponse, 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 opportunity
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/types"
"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.Opportunities.Create(ctx, operations.CrmOpportunitiesAddRequest{
ServiceID: sdkgo.String("salesforce"),
Opportunity: components.OpportunityInput{
Title: "New Rocket",
PrimaryContactID: sdkgo.String("12345"),
Description: sdkgo.String("Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines."),
Type: sdkgo.String("Existing Customer - Upgrade"),
MonetaryAmount: sdkgo.Float64(75000),
Currency: components.CurrencyUsd.ToPointer(),
WinProbability: sdkgo.Float64(40),
CloseDate: types.MustNewDateFromString("2020-10-30"),
LossReasonID: sdkgo.String("12345"),
LossReason: sdkgo.String("No budget"),
WonReasonID: sdkgo.String("12345"),
WonReason: sdkgo.String("Best pitch"),
PipelineID: sdkgo.String("12345"),
PipelineStageID: sdkgo.String("12345"),
SourceID: sdkgo.String("12345"),
LeadID: sdkgo.String("12345"),
LeadSource: sdkgo.String("Website"),
ContactID: sdkgo.String("12345"),
ContactIds: []string{
"12345",
},
CompanyID: sdkgo.String("12345"),
CompanyName: sdkgo.String("Copper"),
OwnerID: sdkgo.String("12345"),
Priority: sdkgo.String("None"),
Status: sdkgo.String("Open"),
StatusID: sdkgo.String("12345"),
Tags: []string{
"New",
},
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.CreateValueBoolean(
true,
)),
},
},
StageLastChangedAt: types.MustNewTimeFromString("2020-09-30T07:43:32.000Z"),
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.CreateOpportunityResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmOpportunitiesAddRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmOpportunitiesAddResponse, 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 opportunity
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.Opportunities.Get(ctx, operations.CrmOpportunitiesOneRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
Fields: sdkgo.String("id,updated_at"),
})
if err != nil {
log.Fatal(err)
}
if res.GetOpportunityResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmOpportunitiesOneRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmOpportunitiesOneResponse, 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 opportunity
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/types"
"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.Opportunities.Update(ctx, operations.CrmOpportunitiesUpdateRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
Opportunity: components.OpportunityInput{
Title: "New Rocket",
PrimaryContactID: sdkgo.String("12345"),
Description: sdkgo.String("Opportunities are created for People and Companies that are interested in buying your products or services. Create Opportunities for People and Companies to move them through one of your Pipelines."),
Type: sdkgo.String("Existing Customer - Upgrade"),
MonetaryAmount: sdkgo.Float64(75000),
Currency: components.CurrencyUsd.ToPointer(),
WinProbability: sdkgo.Float64(40),
CloseDate: types.MustNewDateFromString("2020-10-30"),
LossReasonID: sdkgo.String("12345"),
LossReason: sdkgo.String("No budget"),
WonReasonID: sdkgo.String("12345"),
WonReason: sdkgo.String("Best pitch"),
PipelineID: sdkgo.String("12345"),
PipelineStageID: sdkgo.String("12345"),
SourceID: sdkgo.String("12345"),
LeadID: sdkgo.String("12345"),
LeadSource: sdkgo.String("Website"),
ContactID: sdkgo.String("12345"),
ContactIds: []string{
"12345",
},
CompanyID: sdkgo.String("12345"),
CompanyName: sdkgo.String("Copper"),
OwnerID: sdkgo.String("12345"),
Priority: sdkgo.String("None"),
Status: sdkgo.String("Open"),
StatusID: sdkgo.String("12345"),
Tags: []string{
"New",
},
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.CreateValueBoolean(
true,
)),
},
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{},
components.Six{},
},
)),
},
},
StageLastChangedAt: types.MustNewTimeFromString("2020-09-30T07:43:32.000Z"),
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",
},
},
},
},
},
},
},
})
if err != nil {
log.Fatal(err)
}
if res.UpdateOpportunityResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmOpportunitiesUpdateRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmOpportunitiesUpdateResponse, 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 opportunity
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.Opportunities.Delete(ctx, operations.CrmOpportunitiesDeleteRequest{
ID: "<id>",
ServiceID: sdkgo.String("salesforce"),
})
if err != nil {
log.Fatal(err)
}
if res.DeleteOpportunityResponse != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CrmOpportunitiesDeleteRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CrmOpportunitiesDeleteResponse, 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 | */* |