Documentation
¶
Index ¶
- Constants
- Variables
- type CollapsedSubscriptionEvent
- type Connector
- func (c *Connector) Delete(ctx context.Context, config common.DeleteParams) (*common.DeleteResult, error)
- func (c *Connector) DeleteSubscription(ctx context.Context, result common.SubscriptionResult) error
- func (c *Connector) EmptySubscriptionParams() *common.SubscribeParams
- func (c *Connector) EmptySubscriptionResult() *common.SubscriptionResult
- func (c *Connector) GetRecordsByIds(ctx context.Context, objectName string, recordIds []string, fields []string, ...) ([]common.ReadResultRow, error)
- func (c *Connector) HTTPClient() *common.HTTPClient
- func (c *Connector) JSONHTTPClient() *common.JSONHTTPClient
- func (c *Connector) ListObjectMetadata(ctx context.Context, objectNames []string) (*common.ListObjectMetadataResult, error)
- func (c *Connector) Provider() providers.Provider
- func (c *Connector) Read(ctx context.Context, params common.ReadParams) (*common.ReadResult, error)
- func (c *Connector) String() string
- func (c *Connector) Subscribe(ctx context.Context, params common.SubscribeParams) (*common.SubscriptionResult, error)
- func (c *Connector) UpdateSubscription(ctx context.Context, params common.SubscribeParams, ...) (*common.SubscriptionResult, error)
- func (c *Connector) VerifyWebhookMessage(ctx context.Context, req *common.WebhookRequest, ...) (bool, error)
- func (c *Connector) Write(ctx context.Context, config common.WriteParams) (*common.WriteResult, error)
- type Option
- type ResponseListError
- type ResponseSingleError
- type SalesloftVerificationParams
- type SubscriptionEvent
- func (evt SubscriptionEvent) EventTimeStampNano() (int64, error)
- func (evt SubscriptionEvent) EventType() (common.SubscriptionEventType, error)
- func (evt SubscriptionEvent) ObjectName() (string, error)
- func (evt SubscriptionEvent) PreLoadData(data *common.SubscriptionEventPreLoadData) error
- func (evt SubscriptionEvent) RawEventName() (string, error)
- func (evt SubscriptionEvent) RawMap() (map[string]any, error)
- func (evt SubscriptionEvent) RecordId() (string, error)
- func (evt SubscriptionEvent) UpdatedFields() ([]string, error)
- func (evt SubscriptionEvent) Workspace() (string, error)
- type SubscriptionRequest
- type SubscriptionResponse
- type SubscriptionResult
- type SuccessfulSubscription
Constants ¶
const ApiVersion = "v2"
const (
// DefaultPageSize is number of elements per page.
DefaultPageSize = 100
)
Variables ¶
var ( ErrMissingSignature = errors.New("missing webhook signature header") ErrInvalidSignature = errors.New("invalid webhook signature") )
Functions ¶
This section is empty.
Types ¶
type CollapsedSubscriptionEvent ¶
CollapsedSubscriptionEvent represents the raw webhook payload from Salesloft. Unlike Salesforce or Zoho, Salesloft sends individual events (one record per webhook), so this implementation simply wraps the single event.
func (CollapsedSubscriptionEvent) RawMap ¶
func (e CollapsedSubscriptionEvent) RawMap() (map[string]any, error)
RawMap returns a copy of the raw event data.
func (CollapsedSubscriptionEvent) SubscriptionEventList ¶
func (e CollapsedSubscriptionEvent) SubscriptionEventList() ([]common.SubscriptionEvent, error)
SubscriptionEventList returns the event as a single-element list. Salesloft webhooks contain only one record per payload, so no fan-out is needed.
type Connector ¶
type Connector struct {
BaseURL string
Module common.Module
Client *common.JSONHTTPClient
}
func NewConnector ¶
func (*Connector) Delete ¶
func (c *Connector) Delete(ctx context.Context, config common.DeleteParams) (*common.DeleteResult, error)
func (*Connector) DeleteSubscription ¶
func (c *Connector) DeleteSubscription( ctx context.Context, result common.SubscriptionResult, ) error
DeleteSubscription deletes webhook subscriptions.
func (*Connector) EmptySubscriptionParams ¶
func (c *Connector) EmptySubscriptionParams() *common.SubscribeParams
func (*Connector) EmptySubscriptionResult ¶
func (c *Connector) EmptySubscriptionResult() *common.SubscriptionResult
func (*Connector) GetRecordsByIds ¶
func (c *Connector) GetRecordsByIds(ctx context.Context, objectName string, recordIds []string, fields []string, _ []string, ) ([]common.ReadResultRow, error)
Reference: https://developers.salesloft.com/docs/api/account-stages-index/
func (*Connector) HTTPClient ¶
func (c *Connector) HTTPClient() *common.HTTPClient
func (*Connector) JSONHTTPClient ¶
func (c *Connector) JSONHTTPClient() *common.JSONHTTPClient
JSONHTTPClient returns the underlying JSON HTTP client.
func (*Connector) ListObjectMetadata ¶
func (*Connector) Read ¶
func (c *Connector) Read(ctx context.Context, params common.ReadParams) (*common.ReadResult, error)
func (*Connector) Subscribe ¶
func (c *Connector) Subscribe( ctx context.Context, params common.SubscribeParams, ) (*common.SubscriptionResult, error)
nolint: funlen,cyclop,gocognit,godoclint
func (*Connector) UpdateSubscription ¶
func (c *Connector) UpdateSubscription( ctx context.Context, params common.SubscribeParams, previousResult *common.SubscriptionResult, ) (*common.SubscriptionResult, error)
nolint: funlen, cyclop,gocognit,gocyclo,godoclint
func (*Connector) VerifyWebhookMessage ¶
func (c *Connector) VerifyWebhookMessage(ctx context.Context, req *common.WebhookRequest, params *common.VerificationParams, ) (bool, error)
func (*Connector) Write ¶
func (c *Connector) Write(ctx context.Context, config common.WriteParams) (*common.WriteResult, error)
type Option ¶
type Option = func(params *parameters)
Option is a function which mutates the connector configuration.
func WithAuthenticatedClient ¶
func WithAuthenticatedClient(client common.AuthenticatedHTTPClient) Option
type ResponseListError ¶
func (ResponseListError) CombineErr ¶
func (r ResponseListError) CombineErr(base error) error
type ResponseSingleError ¶
func (ResponseSingleError) CombineErr ¶
func (r ResponseSingleError) CombineErr(base error) error
type SalesloftVerificationParams ¶
type SalesloftVerificationParams struct {
Secret string `json:"secret,omitempty"`
}
type SubscriptionEvent ¶
func (SubscriptionEvent) EventTimeStampNano ¶
func (evt SubscriptionEvent) EventTimeStampNano() (int64, error)
nolint: godoclint Salesloft doesn't provide deliveredAt field in webhook response. So we are using updated_at field as event timestamp.
func (SubscriptionEvent) EventType ¶
func (evt SubscriptionEvent) EventType() (common.SubscriptionEventType, error)
func (SubscriptionEvent) ObjectName ¶
func (evt SubscriptionEvent) ObjectName() (string, error)
func (SubscriptionEvent) PreLoadData ¶
func (evt SubscriptionEvent) PreLoadData(data *common.SubscriptionEventPreLoadData) error
PreLoadData implements common.SubscriptionEvent.
func (SubscriptionEvent) RawEventName ¶
func (evt SubscriptionEvent) RawEventName() (string, error)
func (SubscriptionEvent) RecordId ¶
func (evt SubscriptionEvent) RecordId() (string, error)
func (SubscriptionEvent) UpdatedFields ¶
func (evt SubscriptionEvent) UpdatedFields() ([]string, error)
func (SubscriptionEvent) Workspace ¶
func (evt SubscriptionEvent) Workspace() (string, error)
Workspace is not available in Salesloft.
type SubscriptionRequest ¶
type SubscriptionResponse ¶
type SubscriptionResult ¶
type SubscriptionResult struct {
Subscriptions map[common.ObjectName]map[moduleEvent]SubscriptionResponse `json:"subscriptions"`
}