Documentation
¶
Index ¶
- Variables
- func CheckResponse(r *http.Response) error
- func Endpoint(baseUrl string) oauth2.Endpoint
- type Agreement
- type AgreementCancellationInfo
- type AgreementService
- func (s *AgreementService) CreateAgreement(ctx context.Context, request Agreement) (*CreateAgreementResponse, error)
- func (s *AgreementService) CreateReminder(ctx context.Context, agreementId string, request ReminderInfo) (*ReminderCreationResult, error)
- func (s *AgreementService) GetAgreement(ctx context.Context, agreementId string) (*Agreement, error)
- func (s *AgreementService) GetAgreementMembers(ctx context.Context, agreementId string) (*MembersInfo, error)
- func (s *AgreementService) GetAuditTrail(ctx context.Context, agreementId string) (string, error)
- func (s *AgreementService) GetCombinedDocument(ctx context.Context, agreementId string) ([]byte, error)
- func (s *AgreementService) UpdateAgreementState(ctx context.Context, agreementId string, request UpdateAgreementRequest) error
- type CCParticipantInfo
- type Cc
- type Client
- func (c *Client) BareDo(ctx context.Context, req *http.Request) (*Response, error)
- func (c *Client) Client() *http.Client
- func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Response, error)
- func (c *Client) NewMultiPartRequest(urlStr string, body io.ReadWriter) (*http.Request, error)
- func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)
- type CreateAgreementResponse
- type CreateWebhookRequest
- type CreateWebhookResponse
- type DetailedParticipantInfo
- type DetailedParticipantSetInfo
- type DigAuthInfo
- type Document
- type ErrorResponse
- type FileInfo
- type ListOptions
- type MemberInfo
- type MembersInfo
- type MergeFieldInfo
- type NameInfo
- type Oauth2Params
- type PageInfo
- type ParticipantSecurityOption
- type ParticipantSetInfo
- type PhoneInfo
- type Rate
- type RateLimitError
- type ReminderCreationResult
- type ReminderInfo
- type Response
- type SenderInfo
- type ShareParticipantInfo
- type TransientDocument
- type TransientDocumentService
- type UpdateAgreementRequest
- type WebhookAgreementEvents
- type WebhookConditionalParams
- type WebhookLibraryDocumentEvents
- type WebhookMegaSignEvents
- type WebhookPayload
- type WebhookService
- type WebhookUrlInfo
- type WebhookWidgetEvents
Constants ¶
This section is empty.
Variables ¶
var AgreementState = struct { Authoring string Draft string InProcess string }{ Authoring: "AUTHORING", Draft: "DRAFT", InProcess: "IN_PROCESS", }
AgreementState defines the valid states of an Agreement.
var ParticipantRole = struct { Signer string Approver string Acceptor string CertifiedRecipient string FormFiller string DelegateToSigner string DelegateToApprover string DelegateToAcceptor string DelegateToCertifiedRecipient string DelegateToFormFiller string Share string NotarySigner string }{ Signer: "SIGNER", Approver: "APPROVER", Acceptor: "ACCEPTOR", CertifiedRecipient: "CERTIFIED_RECIPIENT", FormFiller: "FORM_FILLER", DelegateToSigner: "DELEGATE_TO_SIGNER", DelegateToApprover: "DELEGATE_TO_APPROVER", DelegateToAcceptor: "DELEGATE_TO_ACCEPTOR", DelegateToCertifiedRecipient: "DELEGATE_TO_CERTIFIED_RECIPIENT", DelegateToFormFiller: "DELEGATE_TO_FORM_FILLER", Share: "SHARE", NotarySigner: "NOTARY_SIGNER", }
ParticipantRole defines the valid roles of a participant in an Agreement.
var Resource = struct { Agreement string Widget string MegaSign string LibraryDocument string }{ Agreement: "AGREEMENT", Widget: "WIDGET", MegaSign: "MEGASIGN", LibraryDocument: "LIBRARY_DOCUMENT", }
Resource defines the type of resources that can be used in the API.
var Scope = struct { Account string Group string User string Resource string }{ Account: "ACCOUNT", Group: "GROUP", User: "USER", Resource: "RESOURCE", }
Scope defines the supported scopes for the API.
var SignatureType = struct { Esign string Written string }{ Esign: "ESIGN", Written: "WRITTEN", }
SignatureType defines the valid signature methods of an Agreement.
var WebhookSubscriptionEvent = struct { AgreementAll string AgreementCreated string AgreementActionRequested string AgreementActionCompleted string AgreementWorkflowCompleted string AgreementExpired string AgreementDocumentsDeleted string AgreementRecalled string AgreementRejected string AgreementShared string AgreementActionDelegated string AgreementActionReplacedSigner string AgreementModified string AgreementUserAckAgreementModified string AgreementEmailViewed string AgreementEmailBounced string AgreementAutoCancelledConversionProblem string AgreementOfflineSync string AgreementUploadedBySender string AgreementVaulted string AgreementWebIdentityAuthenticated string AgreementKbaAuthenticated string }{ AgreementAll: "AGREEMENT_ALL", AgreementCreated: "AGREEMENT_CREATED", AgreementActionRequested: "AGREEMENT_ACTION_REQUESTED", AgreementActionCompleted: "AGREEMENT_ACTION_COMPLETED", AgreementWorkflowCompleted: "AGREEMENT_WORKFLOW_COMPLETED", AgreementExpired: "AGREEMENT_EXPIRED", AgreementDocumentsDeleted: "AGREEMENT_DOCUMENTS_DELETED", AgreementRecalled: "AGREEMENT_RECALLED", AgreementRejected: "AGREEMENT_REJECTED", AgreementShared: "AGREEMENT_SHARED", AgreementActionDelegated: "AGREEMENT_ACTION_DELEGATED", AgreementActionReplacedSigner: "AGREEMENT_ACTION_REPLACED_SIGNER", AgreementModified: "AGREEMENT_MODIFIED", AgreementUserAckAgreementModified: "AGREEMENT_USER_ACK_AGREEMENT_MODIFIED", AgreementEmailViewed: "AGREEMENT_EMAIL_VIEWED", AgreementEmailBounced: "AGREEMENT_EMAIL_BOUNCED", AgreementAutoCancelledConversionProblem: "AGREEMENT_AUTO_CANCELLED_CONVERSION_PROBLEM", AgreementOfflineSync: "AGREEMENT_OFFLINE_SYNC", AgreementUploadedBySender: "AGREEMENT_UPLOADED_BY_SENDER", AgreementVaulted: "AGREEMENT_VAULTED", AgreementWebIdentityAuthenticated: "AGREEMENT_WEB_IDENTITY_AUTHENTICATED", AgreementKbaAuthenticated: "AGREEMENT_KBA_AUTHENTICATED", }
WebhookSubscriptionEvent defines the supported webhook events.
Functions ¶
func CheckResponse ¶
Types ¶
type Agreement ¶
type Agreement struct { FileInfos []FileInfo `json:"fileInfos,omitempty"` Name string `json:"name,omitempty"` ParticipantSetsInfo []ParticipantSetInfo `json:"participantSetsInfo,omitempty"` SignatureType string `json:"signatureType,omitempty"` State string `json:"state,omitempty"` Ccs []Cc `json:"ccs,omitempty"` CreatedDate string `json:"createdDate,omitempty"` DeviceInfo struct { ApplicationDescription string `json:"applicationDescription,omitempty"` DeviceDescription string `json:"deviceDescription,omitempty"` DeviceTime string `json:"deviceTime,omitempty"` } `json:"deviceInfo,omitempty"` DocumentVisibilityEnabled bool `json:"documentVisibilityEnabled,omitempty"` EmailOption struct { SendOptions struct { CompletionEmails string `json:"completionEmails,omitempty"` InFlightEmails string `json:"inFlightEmails,omitempty"` InitEmails string `json:"initEmails,omitempty"` } `json:"sendOptions,omitempty"` } `json:"emailOption,omitempty"` ExpirationTime string `json:"expirationTime,omitempty"` ExternalId struct { Id string `json:"id,omitempty"` } `json:"externalId,omitempty"` FirstReminderDelay int `json:"firstReminderDelay,omitempty"` FormFieldLayerTemplates []struct { Document struct { CreatedDate string `json:"createdDate,omitempty"` Id string `json:"id,omitempty"` Label string `json:"label,omitempty"` NumPages int `json:"numPages,omitempty"` MimeType string `json:"mimeType,omitempty"` Name string `json:"name,omitempty"` } `json:"document,omitempty"` Label string `json:"label,omitempty"` LibraryDocumentId string `json:"libraryDocumentId,omitempty"` Notarize bool `json:"notarize,omitempty"` TransientDocumentId string `json:"transientDocumentId,omitempty"` UrlFileInfo struct { MimeType string `json:"mimeType,omitempty"` Name string `json:"name,omitempty"` Url string `json:"url,omitempty"` } `json:"urlFileInfo,omitempty"` } `json:"formFieldLayerTemplates,omitempty"` GroupId string `json:"groupId,omitempty"` HasFormFieldData bool `json:"hasFormFieldData,omitempty"` HasSignerIdentityReport bool `json:"hasSignerIdentityReport,omitempty"` Id string `json:"id,omitempty"` IsDocumentRetentionApplied bool `json:"isDocumentRetentionApplied,omitempty"` LastEventDate string `json:"lastEventDate,omitempty"` Locale string `json:"locale,omitempty"` MergeFieldInfo []MergeFieldInfo `json:"mergeFieldInfo,omitempty"` Message string `json:"message,omitempty"` NotaryInfo struct { Appointment string `json:"appointment,omitempty"` NotaryEmail string `json:"notaryEmail,omitempty"` NotaryType string `json:"notaryType,omitempty"` Note string `json:"note,omitempty"` Payment string `json:"payment,omitempty"` } `json:"notaryInfo,omitempty"` ParentId string `json:"parentId,omitempty"` PostSignOption struct { RedirectDelay int `json:"redirectDelay,omitempty"` RedirectUrl string `json:"redirectUrl,omitempty"` } `json:"postSignOption,omitempty"` ReminderFrequency string `json:"reminderFrequency,omitempty"` SecurityOption struct { OpenPassword string `json:"openPassword,omitempty"` } `json:"securityOption,omitempty"` SenderEmail string `json:"senderEmail,omitempty"` Status string `json:"status,omitempty"` Type string `json:"type,omitempty"` VaultingInfo struct { Enabled bool `json:"enabled,omitempty"` } `json:"vaultingInfo,omitempty"` WorkflowId string `json:"workflowId,omitempty"` }
Agreement defines the request body for creating an agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/createAgreement
type AgreementService ¶
type AgreementService service
AgreementService handles operations related to agreements
ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements
func (*AgreementService) CreateAgreement ¶
func (s *AgreementService) CreateAgreement(ctx context.Context, request Agreement) (*CreateAgreementResponse, error)
CreateAgreement creates a new Adobe Sign Agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/createAgreement
func (*AgreementService) CreateReminder ¶
func (s *AgreementService) CreateReminder(ctx context.Context, agreementId string, request ReminderInfo) (*ReminderCreationResult, error)
CreateReminder Creates a reminder on the specified participants of an existing AdobeSign Agreement ref: https://secure.na1.adobesign.com/public/docs/restapi/v6#!/agreements/createReminderOnParticipant
func (*AgreementService) GetAgreement ¶
func (s *AgreementService) GetAgreement(ctx context.Context, agreementId string) (*Agreement, error)
GetAgreement retrieves an existing Adobe Sign Agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/getAgreementInfo
func (*AgreementService) GetAgreementMembers ¶
func (s *AgreementService) GetAgreementMembers(ctx context.Context, agreementId string) (*MembersInfo, error)
GetAgreementMembers Retrieves information of members of an existing AdobeSign Agreement ref: https://secure.na1.adobesign.com/public/docs/restapi/v6#!/agreements/getAllMembers
func (*AgreementService) GetAuditTrail ¶
GetAuditTrail retrieves the PDF file stream containing audit trail information ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/getAuditTrail
func (*AgreementService) GetCombinedDocument ¶
func (s *AgreementService) GetCombinedDocument(ctx context.Context, agreementId string) ([]byte, error)
GetCombinedDocument retrieves a single combined PDF document for the documents associated with an agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/getCombinedDocument
func (*AgreementService) UpdateAgreementState ¶
func (s *AgreementService) UpdateAgreementState(ctx context.Context, agreementId string, request UpdateAgreementRequest) error
UpdateAgreementState updates the state of an existing Adobe Sign Agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/agreements/updateAgreementState
type CCParticipantInfo ¶
type CCParticipantInfo struct { // Company of the CC participant, if available Company string `json:"company,omitempty"` // Email of the CC participant of the agreement Email string `json:"email"` // Hidden True if the agreement is hidden for the user that is calling the API. Only returned if self is true Hidden bool `json:"hidden,omitempty"` // Name of the CC participant, if available Name string `json:"name,omitempty"` // ParticipantId The unique identifier of the CC participant of the agreement ParticipantId string `json:"participantId"` // Self True if the CC participant is the same user that is calling the API Self bool `json:"self"` }
type Client ¶
type Client struct { // Base URL for API requests. Defaults to the public Adobe Sign API, but can be // set to a domain endpoint to use with Adobe Sign Enterprise. BaseURL should // always be specified with a trailing slash. BaseURL *url.URL // Send requests impersonating user ImpersonatedUser string // User agent used when communicating with the Adobe Sign API. UserAgent string //// Services used for talking to different parts of the Adobe Sign API. TransientDocumentService *TransientDocumentService AgreementService *AgreementService WebhookService *WebhookService // contains filtered or unexported fields }
A Client manages communication with the Adobe Sign API.
func NewClient ¶
NewClient creates an adobe sign client using an Integration Key, this method is deprecated. New integrations should use the NewOauth2Client method. ref: https://helpx.adobe.com/sign/kb/how-to-create-an-integration-key.html
func NewOauth2Client ¶
func NewOauth2Client(params Oauth2Params) *Client
func (*Client) BareDo ¶
BareDo sends an API request and lets you handle the api response. If an error or API Error occurs, the error will contain more information. Otherwise you are supposed to read and close the response's Body. If rate limit is exceeded and reset time is in the future, BareDo returns *RateLimitError immediately without making a network API call.
The provided ctx must be non-nil, if it is nil an error is returned. If it is canceled or times out, ctx.Err() will be returned.
func (*Client) Do ¶
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it. If v is nil, and no error happens, the response is returned as is. If rate limit is exceeded and reset time is in the future, Do returns *RateLimitError immediately without making a network API call.
The provided ctx must be non-nil, if it is nil an error is returned. If it is canceled or times out, ctx.Err() will be returned.
func (*Client) NewMultiPartRequest ¶
func (*Client) NewRequest ¶
NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the BaseURL of the Client. Relative URLs should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.
type CreateAgreementResponse ¶
type CreateAgreementResponse struct {
Id string `json:"id,omitempty"`
}
type CreateWebhookRequest ¶
type CreateWebhookRequest struct { Name string `json:"name,omitempty"` Scope string `json:"scope,omitempty"` State string `json:"state,omitempty"` WebhookSubscriptionEvents []string `json:"webhookSubscriptionEvents,omitempty"` WebhookUrlInfo WebhookUrlInfo `json:"webhookUrlInfo,omitempty"` ApplicationDisplayName string `json:"applicationDisplayName,omitempty"` ApplicationName string `json:"applicationName,omitempty"` Created string `json:"created,omitempty"` Id string `json:"id,omitempty"` LastModified string `json:"lastModified,omitempty"` ProblemNotificationEmails []struct { Email string `json:"email,omitempty"` } `json:"problemNotificationEmails,omitempty"` ResourceId string `json:"resourceId,omitempty"` ResourceType string `json:"resourceType,omitempty"` Status string `json:"status,omitempty"` WebhookConditionalParams WebhookConditionalParams `json:"webhookConditionalParams,omitempty"` }
type CreateWebhookResponse ¶
type CreateWebhookResponse struct {
Id string `json:"id"`
}
type DetailedParticipantInfo ¶
type DetailedParticipantInfo struct { // Email of the participant. In case of modifying a participant set (PUT) this is a required field. In case of GET, //this is the required field and will always be returned unless it is a fax workflow (legacy agreements) that were //created using fax as input, Email string `json:"email"` // ParticipantSetInfo Security options that apply to the participant. SecurityOption ParticipantSecurityOption `json:"securityOption"` // Company of the participant, if available. This cannot be changed as part of the PUT call. Company string `json:"company,omitempty"` // CreatedDate The date when the participant was added. This will be returned as part of GET call but is ignored if //passed as part of PUT call., CreatedDate string `json:"createdDate,omitempty"` // Hidden True if the agreement is hidden for the user that is calling the API. Only returned if self is true. //Ignored (not required) if modifying a participant (PUT). Hidden bool `json:"hidden,omitempty"` // Id The unique identifier of the participant. This will be returned as part of Get call but is not mandatory to //be passed as part of PUT call for agreements/{id}/members/participantSets/{id}., Id string `json:"id,omitempty"` // Name The name of the participant, if available. This cannot be changed as part of the PUT call. Name string `json:"name,omitempty"` // PrivateMessage The private message of the participant, if available. This cannot be changed as part of the PUT //call. PrivateMessage string `json:"privateMessage,omitempty"` // True if this participant is the same user that is calling the API. Returned as part of Get. Ignored //(not required) if modifying a participant set (PUT)., Self bool `json:"self,omitempty"` // Status ['REPLACED' or 'ACTIVE']: The status of the participant. This cannot be changed as part of the PUT call. //New participants will be ignored if added with a REPLACED status., Status string `json:"status,omitempty"` // UserId The user ID of the participant. This will be returned as part of GET call but is ignored if passed as //part of PUT call. UserId string `json:"userId,omitempty"` }
type DetailedParticipantSetInfo ¶
type DetailedParticipantSetInfo struct { // MemberInfos Array of ParticipantInfo objects, containing participant-specific data (e.g. email). All //participants in the array belong to the same set MemberInfos []DetailedParticipantInfo `json:"memberInfos"` // Order Index indicating sequential signing group (specified for hybrid routing). This cannot be changed as part //of the PUT call. Order int `json:"order"` // Role ['SIGNER' or 'SENDER' or 'APPROVER' or 'ACCEPTOR' or 'CERTIFIED_RECIPIENT' or 'FORM_FILLER' or //'DELEGATE_TO_SIGNER' or 'DELEGATE_TO_APPROVER' or 'DELEGATE_TO_ACCEPTOR' or 'DELEGATE_TO_CERTIFIED_RECIPIENT' or //'DELEGATE_TO_FORM_FILLER' or 'SHARE' or 'NOTARY_SIGNER']: Role assumed by all participants in the set (signer, //approver etc.). This cannot be changed as part of the PUT call., Role string `json:"role"` // Id The unique identifier of the participant set. This cannot be changed as part of the PUT call. Id string `json:"id,omitempty"` // Name of ParticipantSet (it can be empty, but needs not to be unique in a single agreement). Maximum no of //characters in participant set name is restricted to 255. This cannot be changed as part of the PUT call. Name string `json:"name,omitempty"` // PrivateMessage Participant set's private message - all participants in the set will receive the same message. //This cannot be changed as part of the PUT call. PrivateMessage string `json:"privateMessage,omitempty"` // Status ['CANCELLED' or 'COMPLETED' or 'EXPIRED' or 'NOT_YET_VISIBLE' or 'WAITING_FOR_NOTARIZATION' or //'WAITING_FOR_OTHERS' or 'WAITING_FOR_MY_APPROVAL' or 'WAITING_FOR_AUTHORING' or 'WAITING_FOR_MY_ACKNOWLEDGEMENT' //or 'WAITING_FOR_MY_ACCEPTANCE' or 'WAITING_FOR_MY_FORM_FILLING' or 'WAITING_FOR_MY_DELEGATION' or //'WAITING_FOR_MY_SIGNATURE' or 'WAITING_FOR_MY_VERIFICATION' or 'WAITING_FOR_PREFILL']: The agreement status with //respect to the participant set. This cannot be changed as part of the PUT call. Status string `json:"status,omitempty"` }
type DigAuthInfo ¶
type DigAuthInfo struct { // ProviderId Digital Identity Gateway Provider Id. When replacing a participant that has DIG_ID authentication //specified, you must supply a provider id for the new participant., ProviderId string `json:"providerId"` // ProviderDesc Digital Identity Gateway Provider Description. This will be ignored as part of POST or PUT calls., ProviderDesc string `json:"providerDesc,omitempty"` // ProviderName Digital Identity Gateway Provider Name. This will be ignored as part of POST or PUT calls. ProviderName string `json:"ProviderName,omitempty"` }
type ErrorResponse ¶
type ErrorResponse struct { Response *http.Response // HTTP response that caused this error Message string `json:"message"` Code string `json:"code"` Err string `json:"err"` }
An ErrorResponse reports one or more errors caused by an API request.
func (*ErrorResponse) Error ¶
func (r *ErrorResponse) Error() string
type FileInfo ¶
type FileInfo struct { Document Document `json:"document,omitempty"` Label string `json:"label,omitempty"` LibraryDocumentId string `json:"libraryDocumentId,omitempty"` Notarize bool `json:"notarize,omitempty"` TransientDocumentId string `json:"transientDocumentId,omitempty"` UrlFileInfo struct { MimeType string `json:"mimeType,omitempty"` Name string `json:"name,omitempty"` Url string `json:"url,omitempty"` } `json:"urlFileInfo,omitempty"` }
type ListOptions ¶
type ListOptions struct { // Maximum number of Items to be returned (max limit: 100) Cursor int `url:"cursor,omitempty"` // Offset used for pagination if collection has more than limit items PageSize int `url:"pageSize,omitempty"` }
ListOptions specifies the optional parameters to various List methods that support offset pagination.
type MemberInfo ¶
type MemberInfo struct { Email string `json:"email,omitempty"` Id string `json:"id,omitempty"` SecurityOption struct { AuthenticationMethod string `json:"authenticationMethod,omitempty"` NameInfo NameInfo `json:"nameInfo,omitempty"` NotaryAuthentication string `json:"notaryAuthentication,omitempty"` Password string `json:"password,omitempty"` PhoneInfo PhoneInfo `json:"phoneInfo,omitempty"` } `json:"securityOption,omitempty"` }
type MembersInfo ¶
type MembersInfo struct { // CCsInfo Information of CC participants of the agreement. CCsInfo []CCParticipantInfo `json:"ccsInfo"` // NextParticipantSets Information of next participant sets., NextParticipantSets []DetailedParticipantSetInfo `json:"nextParticipantSets"` // ParticipantSets Information about the participant Sets., ParticipantSets []DetailedParticipantSetInfo `json:"participantSets"` // SenderInfo Information of the sender of the agreement., SenderInfo SenderInfo `json:"senderInfo"` SharesInfo []ShareParticipantInfo `json:"sharesInfo"` }
type MergeFieldInfo ¶
type Oauth2Params ¶
type PageInfo ¶
type PageInfo struct {
NextCursor int `json:"nextCursor,omitempty"`
}
PageInfo holds the pagination information for a Adobe Sign API request
type ParticipantSecurityOption ¶
type ParticipantSecurityOption struct { // AuthenticationMethod ['NONE' or 'PASSWORD' or 'PHONE' or 'KBA' or 'WEB_IDENTITY' or 'ADOBE_SIGN' or 'GOV_ID' or //'DIG_ID']: The authentication method for the participants to have access to view and sign the document. When //replacing a participant that has PASSWORD or PHONE authentication specified, you must supply a password or phone //number for the new participant, and you cannot change the authentication method, AuthenticationMethod string `json:"authenticationMethod"` // DigAuthInfo Digital Identity Gateway Provider information. DigAuthInfo DigAuthInfo `json:"digAuthInfo,omitempty"` // NameInfo Recipient's full name, NameInfo NameInfo `json:"nameInfo,omitempty"` // NotaryAuthentication ['MULTI_FACTOR_AUTHENTICATION' or 'NONE']: The authentication method of the notary //participant to the notary, NotaryAuthentication string `json:"notaryAuthentication,omitempty"` // Password The password required for the participant to view and sign the document. Note that AdobeSign will never //show this password to anyone, so you will need to separately communicate it to any relevant parties. The password //will not be returned in GET call. When replacing a participant that has PASSWORD authentication specified, you //must supply a password for the new participant. Password string `json:"password,omitempty"` // PhoneInfo The phoneInfo required for the participant to view and sign the document PhoneInfo PhoneInfo `json:"phoneInfo,omitempty"` }
type ParticipantSetInfo ¶
type ParticipantSetInfo struct { MemberInfos []MemberInfo `json:"memberInfos,omitempty"` Order int `json:"order,omitempty"` Role string `json:"role,omitempty"` Id string `json:"id,omitempty"` Label string `json:"label,omitempty"` Name string `json:"name,omitempty"` PrivateMessage string `json:"privateMessage,omitempty"` VisiblePages []string `json:"visiblePages,omitempty"` }
type PhoneInfo ¶
type PhoneInfo struct { // CountryCode The numeric country calling code (ISD code) required for the participant to view and sign the //document if authentication type is PHONE CountryCode string `json:"countryCode,omitempty"` // CountryIsoCode The country ISO Alpha-2 code required for the participant to view and sign the document if //authentication method is PHONE CountryIsoCode string `json:"countryIsoCode,omitempty"` // Phone The phone number required for the participant to view and sign the document if authentication method is //PHONE. When replacing a participant that has PHONE authentication specified, you must supply a phone number for //the new participant Phone string `json:"phone,omitempty"` }
type Rate ¶
type Rate struct { // RetryAfter is the number of seconds that the client should wait before retrying new requests. RetryAfterSeconds int `json:"retryAfter"` }
Rate represents the rate limit for the current client. ref: https://www.adobe.io/apis/documentcloud/sign/docs.html#!adobedocs/adobe-sign/master/api_usage/throttling.md
type RateLimitError ¶
type RateLimitError struct { Rate Rate // Rate specifies last known rate limit for the client Response *http.Response // HTTP response that caused this error Message string `json:"message"` // error message }
RateLimitError occurs when Adobe Sign returns 403 Forbidden response with a rate limit remaining value of 0.
func (*RateLimitError) Error ¶
func (r *RateLimitError) Error() string
func (*RateLimitError) Is ¶
func (r *RateLimitError) Is(target error) bool
Is returns whether the provided error equals this error.
type ReminderCreationResult ¶
type ReminderCreationResult struct {
Id string `json:"id"`
}
type ReminderInfo ¶
type ReminderInfo struct { // RecipientParticipantIds A list of one or more participant IDs that the reminder should be sent to. These must //be recipients of the agreement and not sharees or cc's. RecipientParticipantIds []string `json:"recipientParticipantIds"` // Status ['ACTIVE' or 'CANCELED' or 'COMPLETE']: Current status of the reminder. The only valid update in a PUT //is from ACTIVE to CANCELED. Must be provided as ACTIVE in a POST. Status string `json:"status"` // FirstReminderDelay Integer which specifies the delay in hours before sending the first reminder. //This is an optional field. The minimum value allowed is 1 hour and the maximum value can’t be more than the //difference of agreement creation and expiry time of the agreement in hours. //If this is not specified but the reminder frequency is specified, then the first reminder will be sent based //on frequency. Cannot be updated in a PUT. FirstReminderDelay int `json:"firstReminderDelay,omitempty"` // Frequency ['DAILY_UNTIL_SIGNED' or 'WEEKDAILY_UNTIL_SIGNED' or 'EVERY_OTHER_DAY_UNTIL_SIGNED' or //'EVERY_THIRD_DAY_UNTIL_SIGNED' or 'EVERY_FIFTH_DAY_UNTIL_SIGNED' or 'WEEKLY_UNTIL_SIGNED' or 'ONCE']: The //frequency at which reminder will be sent until the agreement is completed. //If frequency is not provided, the reminder will be sent once (if the agreement is available at the specified //time) with the delay based on the firstReminderDelay field and will never repeat again. If the agreement is //not available at that time, reminder will not be sent. Cannot be updated in a PUT, Frequency string `json:"frequency,omitempty"` // LastSentDate The date when the reminder was last sent. Only provided in GET. LastSentDate string `json:"lastSentDate,omitempty"` // NextSentDate The date when the reminder is scheduled to be sent next. When provided in POST request, frequency //needs to be ONCE (or not specified), startReminderCounterFrom needs to be REMINDER_CREATION (or not specified) //and firstReminderDelay needs to be 0 (or not specified). Cannot be updated in a PUT. Format would be //yyyy-MM-dd'T'HH:mm:ssZ NextSentDate string `json:"nextSentDate,omitempty"` // Note An optional message sent to the recipients, describing why their participation is required. Note string `json:"note,omitempty"` // ReminderId An identifier of the reminder resource created on the server. If provided in POST or PUT, it will //be ignored ReminderId string `json:"reminderId,omitempty"` // StartReminderCounterFrom ['AGREEMENT_AVAILABILITY' or 'REMINDER_CREATION']: Reminder can be sent based on when //the agreement becomes available or when the reminder is created StartReminderCounterFrom string `json:"startReminderCounterFrom,omitempty"` }
type Response ¶
type Response struct { *http.Response //// These fields provide the page values for paginating through a set of //// results. Any or all of these may be set to the zero value for //// responses that are not part of a paginated set, or for which there //// are no additional pages. //// //// These fields support what is called "offset pagination" and should //// be used with the ListOptions struct. NextCursor int // Explicitly specify the Rate type so Rate's String() receiver doesn't // propagate to Response. Rate Rate }
Response is a Adobe Sign API response. This wraps the standard http.Response returned from Adobe Sign and provides convenient access to things like pagination links.
type SenderInfo ¶
type SenderInfo struct { // Company of the sender, if available. Company string `json:"company"` // Email of the sender of the agreement. Email string `json:"email` // Hidden True if the agreement is hidden for the user that is calling the API. Only returned if self is true. Hidden bool `json:"hidden"` // Name of the sender, if available. Name string `json:"name"` // ParticipantId The unique identifier of the sender of the agreement. ParticipantId string `json:"participantId"` // Self True if the sender is the same user that is calling the API. Self bool `json:"self"` // Status ['CANCELLED' or 'COMPLETED' or 'EXPIRED' or 'NOT_YET_VISIBLE' or 'WAITING_FOR_AUTHORING' or //'WAITING_FOR_MY_DELEGATION' or 'WAITING_FOR_MY_ACCEPTANCE' or 'WAITING_FOR_MY_ACKNOWLEDGEMENT' or //'WAITING_FOR_MY_APPROVAL' or 'WAITING_FOR_MY_FORM_FILLING' or 'WAITING_FOR_MY_SIGNATURE' or //'WAITING_FOR_NOTARIZATION' or 'WAITING_FOR_OTHERS']: The agreement status with respect to the participant set. //This cannot be changed as part of the PUT call., Status string `json:"status"` // CreatedDate The date when the sender was added. This will be returned as part of GET call but is ignored if //passed as part of PUT call., CreatedDate string `json:"createdDate"` // UserId The user ID of the sender. This will be returned as part of GET call but is ignored if passed as part of //PUT call. UserId string `json:"userId"` }
type ShareParticipantInfo ¶
type TransientDocument ¶
type TransientDocument struct {
TransientDocumentId string `json:"transientDocumentId"`
}
type TransientDocumentService ¶
type TransientDocumentService service
TransientDocumentService handles operations related to agreement documents.
ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/transientDocuments
func (*TransientDocumentService) UploadTransientDocument ¶
func (s *TransientDocumentService) UploadTransientDocument(ctx context.Context, file []byte, filename string) (*TransientDocument, error)
type UpdateAgreementRequest ¶
type UpdateAgreementRequest struct { State string `json:"state"` AgreementCancellationInfo AgreementCancellationInfo `json:"agreementCancellationInfo"` }
type WebhookAgreementEvents ¶
type WebhookAgreementEvents struct { IncludeDetailedInfo bool `json:"includeDetailedInfo,omitempty"` IncludeDocumentsInfo bool `json:"includeDocumentsInfo,omitempty"` IncludeParticipantsInfo bool `json:"includeParticipantsInfo,omitempty"` IncludeSignedDocuments bool `json:"includeSignedDocuments,omitempty"` }
type WebhookConditionalParams ¶
type WebhookConditionalParams struct { WebhookAgreementEvents WebhookAgreementEvents `json:"webhookAgreementEvents,omitempty"` WebhookLibraryDocumentEvents WebhookLibraryDocumentEvents `json:"webhookLibraryDocumentEvents,omitempty"` WebhookMegaSignEvents WebhookMegaSignEvents `json:"webhookMegaSignEvents,omitempty"` WebhookWidgetEvents WebhookWidgetEvents `json:"webhookWidgetEvents,omitempty"` }
type WebhookMegaSignEvents ¶
type WebhookMegaSignEvents struct {
IncludeDetailedInfo bool `json:"includeDetailedInfo,omitempty"`
}
type WebhookPayload ¶
type WebhookPayload struct { WebhookId string `json:"webhookId"` WebhookName string `json:"webhookName"` WebhookNotificationId string `json:"webhookNotificationId"` WebhookUrlInfo WebhookUrlInfo `json:"webhookUrlInfo"` WebhookScope string `json:"webhookScope"` WebhookNotificationApplicableUsers []struct { Id string `json:"id"` Email string `json:"email"` Role string `json:"role"` PayloadApplicable string `json:"payloadApplicable"` } `json:"webhookNotificationApplicableUsers"` Event string `json:"event"` SubEvent string `json:"subEvent"` EventDate string `json:"eventDate"` EventResourceType string `json:"eventResourceType"` EventResourceParentType string `json:"eventResourceParentType"` EventResourceParentId string `json:"eventResourceParentId"` ParticipantRole string `json:"participantRole"` ActionType string `json:"actionType"` ParticipantUserId string `json:"participantUserId"` ParticipantUserEmail string `json:"participantUserEmail"` ActingUserId string `json:"actingUserId"` ActingUserEmail string `json:"actingUserEmail"` ActingUserIpAddress string `json:"actingUserIpAddress"` InitiatingUserId string `json:"initiatingUserId"` InitiatingUserEmail string `json:"initiatingUserEmail"` Agreement struct { Id string `json:"id"` Name string `json:"name"` SignatureType string `json:"signatureType"` Status string `json:"status"` Ccs []struct { Email string `json:"email"` Label string `json:"label"` VisiblePages []string `json:"visiblePages"` } `json:"ccs"` DeviceInfo struct { ApplicationDescription string `json:"applicationDescription"` DeviceDescription string `json:"deviceDescription"` Location struct { Latitude string `json:"latitude"` Longitude string `json:"longitude"` } `json:"location"` DeviceTime string `json:"deviceTime"` } `json:"deviceInfo"` DocumentVisibilityEnabled string `json:"documentVisibilityEnabled"` CreatedDate string `json:"createdDate"` ExpirationTime string `json:"expirationTime"` ExternalId struct { Id string `json:"id"` } `json:"externalId"` PostSignOption struct { RedirectDelay string `json:"redirectDelay"` RedirectUrl string `json:"redirectUrl"` } `json:"postSignOption"` FirstReminderDelay string `json:"firstReminderDelay"` Locale string `json:"locale"` Message string `json:"message"` ReminderFrequency string `json:"reminderFrequency"` SenderEmail string `json:"senderEmail"` VaultingInfo struct { Enabled string `json:"enabled"` } `json:"vaultingInfo"` WorkflowId string `json:"workflowId"` ParticipantSetsInfo struct { ParticipantSets []struct { MemberInfos []struct { Id string `json:"id"` Email string `json:"email"` Company string `json:"company"` Name string `json:"name"` PrivateMessage string `json:"privateMessage"` Status string `json:"status"` } `json:"memberInfos"` Order string `json:"order"` Role string `json:"role"` Status string `json:"status"` Id string `json:"id"` Name string `json:"name"` PrivateMessage string `json:"privateMessage"` } `json:"participantSets"` } `json:"participantSetsInfo"` DocumentsInfo struct { Documents []struct { Id string `json:"id"` Label string `json:"label"` NumPages string `json:"numPages"` MimeType string `json:"mimeType"` Name string `json:"name"` } `json:"documents"` SupportingDocuments []struct { DisplayLabel string `json:"displayLabel"` FieldName string `json:"fieldName"` Id string `json:"id"` MimeType string `json:"mimeType"` NumPages string `json:"numPages"` } `json:"supportingDocuments"` } `json:"documentsInfo"` } `json:"agreement"` }
type WebhookService ¶
type WebhookService service
WebhookService handles operations related to webhooks.
ref: https://helpx.adobe.com/sign/using/adobe-sign-webhooks-api.html ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/webhooks/
func (*WebhookService) CreateWebhook ¶
func (s *WebhookService) CreateWebhook(ctx context.Context, request CreateWebhookRequest) (*CreateWebhookResponse, error)
CreateWebhook creates a new Adobe Sign Agreement ref: https://secure.na1.echosign.com/public/docs/restapi/v6#!/webhooks/createWebhook requires: `webhook_write` permissions https://secure.na1.echosign.com/public/static/oauthDoc.jsp#scope-webhook_write
type WebhookUrlInfo ¶
type WebhookUrlInfo struct {
Url string `json:"url,omitempty"`
}