/**
* Docusign eSignature REST API
* The Docusign eSignature REST API provides you with a powerful, convenient, and simple Web services API for interacting with Docusign.
*
* OpenAPI spec version: v2.1
* Contact: devcenter@docusign.com
*
* NOTE: This class is auto generated. Do not edit the class manually and submit a new issue instead.
*
*/
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['ApiClient', 'model/ConnectEventData', 'model/ConnectSalesforceObject'], factory);
} else if (typeof module === 'object' && module.exports) {
// CommonJS-like environments that support module.exports, like Node.
module.exports = factory(require('../ApiClient'), require('./ConnectEventData'), require('./ConnectSalesforceObject'));
} else {
// Browser globals (root is window)
if (!root.Docusign) {
root.Docusign = {};
}
root.Docusign.ConnectCustomConfiguration = factory(root.Docusign.ApiClient, root.Docusign.ConnectEventData, root.Docusign.ConnectSalesforceObject);
}
}(this, function(ApiClient, ConnectEventData, ConnectSalesforceObject) {
'use strict';
/**
* The ConnectCustomConfiguration model module.
* @module model/ConnectCustomConfiguration
*/
/**
* Constructs a new <code>ConnectCustomConfiguration</code>.
* The `connectCustomConfiguration` object describes how Connect is configured for your account.
* @alias module:model/ConnectCustomConfiguration
* @class
*/
var exports = function() {
var _this = this;
};
/**
* Constructs a <code>ConnectCustomConfiguration</code> from a plain JavaScript object, optionally creating a new instance.
* Copies all relevant properties from <code>data</code> to <code>obj</code> if supplied or a new instance if not.
* @param {Object} data The plain JavaScript object bearing properties of interest.
* @param {module:model/ConnectCustomConfiguration} obj Optional instance to populate.
* @return {module:model/ConnectCustomConfiguration} The populated <code>ConnectCustomConfiguration</code> instance.
*/
exports.constructFromObject = function(data, obj) {
if (data) {
obj = obj || new exports();
if (data.hasOwnProperty('allowEnvelopePublish')) {
obj['allowEnvelopePublish'] = ApiClient.convertToType(data['allowEnvelopePublish'], 'String');
}
if (data.hasOwnProperty('allowSalesforcePublish')) {
obj['allowSalesforcePublish'] = ApiClient.convertToType(data['allowSalesforcePublish'], 'String');
}
if (data.hasOwnProperty('allUsers')) {
obj['allUsers'] = ApiClient.convertToType(data['allUsers'], 'String');
}
if (data.hasOwnProperty('allUsersExcept')) {
obj['allUsersExcept'] = ApiClient.convertToType(data['allUsersExcept'], 'String');
}
if (data.hasOwnProperty('configurationType')) {
obj['configurationType'] = ApiClient.convertToType(data['configurationType'], 'String');
}
if (data.hasOwnProperty('connectId')) {
obj['connectId'] = ApiClient.convertToType(data['connectId'], 'String');
}
if (data.hasOwnProperty('deliveryMode')) {
obj['deliveryMode'] = ApiClient.convertToType(data['deliveryMode'], 'String');
}
if (data.hasOwnProperty('disabledBy')) {
obj['disabledBy'] = ApiClient.convertToType(data['disabledBy'], 'String');
}
if (data.hasOwnProperty('enableLog')) {
obj['enableLog'] = ApiClient.convertToType(data['enableLog'], 'String');
}
if (data.hasOwnProperty('envelopeEvents')) {
obj['envelopeEvents'] = ApiClient.convertToType(data['envelopeEvents'], ['String']);
}
if (data.hasOwnProperty('eventData')) {
obj['eventData'] = ConnectEventData.constructFromObject(data['eventData']);
}
if (data.hasOwnProperty('events')) {
obj['events'] = ApiClient.convertToType(data['events'], ['String']);
}
if (data.hasOwnProperty('externalFolderId')) {
obj['externalFolderId'] = ApiClient.convertToType(data['externalFolderId'], 'String');
}
if (data.hasOwnProperty('externalFolderLabel')) {
obj['externalFolderLabel'] = ApiClient.convertToType(data['externalFolderLabel'], 'String');
}
if (data.hasOwnProperty('groupIds')) {
obj['groupIds'] = ApiClient.convertToType(data['groupIds'], ['String']);
}
if (data.hasOwnProperty('includeCertificateOfCompletion')) {
obj['includeCertificateOfCompletion'] = ApiClient.convertToType(data['includeCertificateOfCompletion'], 'String');
}
if (data.hasOwnProperty('includeCertSoapHeader')) {
obj['includeCertSoapHeader'] = ApiClient.convertToType(data['includeCertSoapHeader'], 'String');
}
if (data.hasOwnProperty('includeDocumentFields')) {
obj['includeDocumentFields'] = ApiClient.convertToType(data['includeDocumentFields'], 'String');
}
if (data.hasOwnProperty('includeDocuments')) {
obj['includeDocuments'] = ApiClient.convertToType(data['includeDocuments'], 'String');
}
if (data.hasOwnProperty('includeEnvelopeVoidReason')) {
obj['includeEnvelopeVoidReason'] = ApiClient.convertToType(data['includeEnvelopeVoidReason'], 'String');
}
if (data.hasOwnProperty('includeHMAC')) {
obj['includeHMAC'] = ApiClient.convertToType(data['includeHMAC'], 'String');
}
if (data.hasOwnProperty('includeOAuth')) {
obj['includeOAuth'] = ApiClient.convertToType(data['includeOAuth'], 'String');
}
if (data.hasOwnProperty('includeSenderAccountasCustomField')) {
obj['includeSenderAccountasCustomField'] = ApiClient.convertToType(data['includeSenderAccountasCustomField'], 'String');
}
if (data.hasOwnProperty('includeTimeZoneInformation')) {
obj['includeTimeZoneInformation'] = ApiClient.convertToType(data['includeTimeZoneInformation'], 'String');
}
if (data.hasOwnProperty('integratorManaged')) {
obj['integratorManaged'] = ApiClient.convertToType(data['integratorManaged'], 'String');
}
if (data.hasOwnProperty('name')) {
obj['name'] = ApiClient.convertToType(data['name'], 'String');
}
if (data.hasOwnProperty('password')) {
obj['password'] = ApiClient.convertToType(data['password'], 'String');
}
if (data.hasOwnProperty('recipientEvents')) {
obj['recipientEvents'] = ApiClient.convertToType(data['recipientEvents'], ['String']);
}
if (data.hasOwnProperty('requireMutualTls')) {
obj['requireMutualTls'] = ApiClient.convertToType(data['requireMutualTls'], 'String');
}
if (data.hasOwnProperty('requiresAcknowledgement')) {
obj['requiresAcknowledgement'] = ApiClient.convertToType(data['requiresAcknowledgement'], 'String');
}
if (data.hasOwnProperty('salesforceApiVersion')) {
obj['salesforceApiVersion'] = ApiClient.convertToType(data['salesforceApiVersion'], 'String');
}
if (data.hasOwnProperty('salesforceAuthcode')) {
obj['salesforceAuthcode'] = ApiClient.convertToType(data['salesforceAuthcode'], 'String');
}
if (data.hasOwnProperty('salesforceCallBackUrl')) {
obj['salesforceCallBackUrl'] = ApiClient.convertToType(data['salesforceCallBackUrl'], 'String');
}
if (data.hasOwnProperty('salesforceDocumentsAsContentFiles')) {
obj['salesforceDocumentsAsContentFiles'] = ApiClient.convertToType(data['salesforceDocumentsAsContentFiles'], 'String');
}
if (data.hasOwnProperty('senderOverride')) {
obj['senderOverride'] = ApiClient.convertToType(data['senderOverride'], 'String');
}
if (data.hasOwnProperty('senderSelectableItems')) {
obj['senderSelectableItems'] = ApiClient.convertToType(data['senderSelectableItems'], ['String']);
}
if (data.hasOwnProperty('sfObjects')) {
obj['sfObjects'] = ApiClient.convertToType(data['sfObjects'], [ConnectSalesforceObject]);
}
if (data.hasOwnProperty('signMessageWithX509Certificate')) {
obj['signMessageWithX509Certificate'] = ApiClient.convertToType(data['signMessageWithX509Certificate'], 'String');
}
if (data.hasOwnProperty('soapNamespace')) {
obj['soapNamespace'] = ApiClient.convertToType(data['soapNamespace'], 'String');
}
if (data.hasOwnProperty('urlToPublishTo')) {
obj['urlToPublishTo'] = ApiClient.convertToType(data['urlToPublishTo'], 'String');
}
if (data.hasOwnProperty('userIds')) {
obj['userIds'] = ApiClient.convertToType(data['userIds'], ['String']);
}
if (data.hasOwnProperty('userName')) {
obj['userName'] = ApiClient.convertToType(data['userName'], 'String');
}
if (data.hasOwnProperty('useSoapInterface')) {
obj['useSoapInterface'] = ApiClient.convertToType(data['useSoapInterface'], 'String');
}
}
return obj;
}
/**
* When set to **true**, data is sent to the urlToPublishTo web address. This option can be set to false to stop sending data while maintaining the Connect configuration information.
* @member {String} allowEnvelopePublish
*/
exports.prototype['allowEnvelopePublish'] = undefined;
/**
*
* @member {String} allowSalesforcePublish
*/
exports.prototype['allowSalesforcePublish'] = undefined;
/**
* When set to **true**, the tracked envelope and recipient events for all users, including users that are added a later time, are sent through Connect.
* @member {String} allUsers
*/
exports.prototype['allUsers'] = undefined;
/**
*
* @member {String} allUsersExcept
*/
exports.prototype['allUsersExcept'] = undefined;
/**
* If merge field's are being used, specifies the type of the merge field. The only supported value is **salesforce**.
* @member {String} configurationType
*/
exports.prototype['configurationType'] = undefined;
/**
* Specifies the DocuSign generated ID for the Connect configuration.
* @member {String} connectId
*/
exports.prototype['connectId'] = undefined;
/**
*
* @member {String} deliveryMode
*/
exports.prototype['deliveryMode'] = undefined;
/**
*
* @member {String} disabledBy
*/
exports.prototype['disabledBy'] = undefined;
/**
* This turns Connect logging on or off. When set to **true**, logging is turned on.
* @member {String} enableLog
*/
exports.prototype['enableLog'] = undefined;
/**
* A comma separated list of �Envelope� related events that are tracked through Connect. The possible event values are: Sent, Delivered, Completed, Declined, and Voided.
* @member {Array.<String>} envelopeEvents
*/
exports.prototype['envelopeEvents'] = undefined;
/**
* Allows you to specify the format of the information the Connect webhooks returns. For more information, see [Connect webhooks with JSON notifications](https://www.docusign.com/blog/developers/connect-webhooks-json-notifications)
* @member {module:model/ConnectEventData} eventData
*/
exports.prototype['eventData'] = undefined;
/**
*
* @member {Array.<String>} events
*/
exports.prototype['events'] = undefined;
/**
*
* @member {String} externalFolderId
*/
exports.prototype['externalFolderId'] = undefined;
/**
*
* @member {String} externalFolderLabel
*/
exports.prototype['externalFolderLabel'] = undefined;
/**
*
* @member {Array.<String>} groupIds
*/
exports.prototype['groupIds'] = undefined;
/**
* When set to **true**, the Connect Service includes the Certificate of Completion with completed envelopes.
* @member {String} includeCertificateOfCompletion
*/
exports.prototype['includeCertificateOfCompletion'] = undefined;
/**
*
* @member {String} includeCertSoapHeader
*/
exports.prototype['includeCertSoapHeader'] = undefined;
/**
* When set to **true**, the Document Fields associated with envelope documents are included in the data. Document Fields are optional custom name-value pairs added to documents using the API.
* @member {String} includeDocumentFields
*/
exports.prototype['includeDocumentFields'] = undefined;
/**
* When set to **true**, Connect will send the PDF document along with the update XML.
* @member {String} includeDocuments
*/
exports.prototype['includeDocuments'] = undefined;
/**
* When set to **true**, Connect will include the voidedReason for voided envelopes.
* @member {String} includeEnvelopeVoidReason
*/
exports.prototype['includeEnvelopeVoidReason'] = undefined;
/**
*
* @member {String} includeHMAC
*/
exports.prototype['includeHMAC'] = undefined;
/**
*
* @member {String} includeOAuth
*/
exports.prototype['includeOAuth'] = undefined;
/**
* When set to **true**, Connect will include the sender account as Custom Field in the data.
* @member {String} includeSenderAccountasCustomField
*/
exports.prototype['includeSenderAccountasCustomField'] = undefined;
/**
* When set to **true**, Connect will include the envelope time zone information.
* @member {String} includeTimeZoneInformation
*/
exports.prototype['includeTimeZoneInformation'] = undefined;
/**
*
* @member {String} integratorManaged
*/
exports.prototype['integratorManaged'] = undefined;
/**
* The name of the Connect configuration. The name helps identify the configuration in the list.
* @member {String} name
*/
exports.prototype['name'] = undefined;
/**
*
* @member {String} password
*/
exports.prototype['password'] = undefined;
/**
* A comma separated list of �Recipient� related events that are tracked through Connect. The possible event values are: Sent, Delivered, Completed, Declined, AuthenticationFailed, and AutoResponded.
* @member {Array.<String>} recipientEvents
*/
exports.prototype['recipientEvents'] = undefined;
/**
*
* @member {String} requireMutualTls
*/
exports.prototype['requireMutualTls'] = undefined;
/**
* When set to **true**, and a publication message fails to be acknowledged, the message goes back into the queue and the system will retry delivery after a successful acknowledgement is received. If the delivery fails a second time, the message is not returned to the queue for sending until Connect receives a successful acknowledgement and it has been at least 24 hours since the previous retry. There is a maximum of ten retries Alternately, you can use Republish Connect Information to manually republish the envelope information.
* @member {String} requiresAcknowledgement
*/
exports.prototype['requiresAcknowledgement'] = undefined;
/**
*
* @member {String} salesforceApiVersion
*/
exports.prototype['salesforceApiVersion'] = undefined;
/**
*
* @member {String} salesforceAuthcode
*/
exports.prototype['salesforceAuthcode'] = undefined;
/**
*
* @member {String} salesforceCallBackUrl
*/
exports.prototype['salesforceCallBackUrl'] = undefined;
/**
*
* @member {String} salesforceDocumentsAsContentFiles
*/
exports.prototype['salesforceDocumentsAsContentFiles'] = undefined;
/**
*
* @member {String} senderOverride
*/
exports.prototype['senderOverride'] = undefined;
/**
*
* @member {Array.<String>} senderSelectableItems
*/
exports.prototype['senderSelectableItems'] = undefined;
/**
*
* @member {Array.<module:model/ConnectSalesforceObject>} sfObjects
*/
exports.prototype['sfObjects'] = undefined;
/**
* When set to **true**, Connect messages are signed with an X509 certificate. This provides support for 2-way SSL.
* @member {String} signMessageWithX509Certificate
*/
exports.prototype['signMessageWithX509Certificate'] = undefined;
/**
* The namespace of the SOAP interface. The namespace value must be set if useSoapInterface is set to true.
* @member {String} soapNamespace
*/
exports.prototype['soapNamespace'] = undefined;
/**
* This is the web address and name of your listener or Retrieving Service endpoint. You need to include HTTPS:// in the web address.
* @member {String} urlToPublishTo
*/
exports.prototype['urlToPublishTo'] = undefined;
/**
* A comma separated list of userIds. This sets the users associated with the tracked envelope and recipient events. When one of the event occurs for a set user, the information is sent through Connect. ###### Note: If allUsers is set to �false� then you must provide a list of user id�s.
* @member {Array.<String>} userIds
*/
exports.prototype['userIds'] = undefined;
/**
*
* @member {String} userName
*/
exports.prototype['userName'] = undefined;
/**
* When set to **true**, indicates that the `urlToPublishTo` property contains a SOAP endpoint.
* @member {String} useSoapInterface
*/
exports.prototype['useSoapInterface'] = undefined;
return exports;
}));