text: /**
   * SendinBlue API
   * SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to :   - Manage your campaigns and get the statistics   - Manage your contacts   - Send transactional Emails and SMS   - and much more...  You can download our wrappers at https://github.com/orgs/sendinblue  **Possible responses**   | Code | Message |   | :-------------: | ------------- |   | 200  | OK. Successful Request  |   | 201  | OK. Successful Creation |   | 202  | OK. Request accepted |   | 204  | OK. Successful Update/Deletion  |   | 400  | Error. Bad Request  |   | 401  | Error. Authentication Needed  |   | 402  | Error. Not enough credit, plan upgrade needed  |   | 403  | Error. Permission denied  |   | 404  | Error. Object does not exist |   | 405  | Error. Method not allowed  | 
   *
   * OpenAPI spec version: 3.0.0
   * Contact: contact@sendinblue.com
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   *
   * Swagger Codegen version: 2.3.1
   *
   * Do not edit the class manually.
   *
   */
  
  (function(root, factory) {
    if (typeof define === 'function' && define.amd) {
      // AMD. Register as an anonymous module.
      define(['ApiClient', 'model/CreateEmailCampaignRecipients', 'model/CreateEmailCampaignSender'], factory);
    } else if (typeof module === 'object' && module.exports) {
      // CommonJS-like environments that support module.exports, like Node.
      module.exports = factory(require('../ApiClient'), require('./CreateEmailCampaignRecipients'), require('./CreateEmailCampaignSender'));
    } else {
      // Browser globals (root is window)
      if (!root.SibApiV3Sdk) {
        root.SibApiV3Sdk = {};
      }
      root.SibApiV3Sdk.CreateEmailCampaign = factory(root.SibApiV3Sdk.ApiClient, root.SibApiV3Sdk.CreateEmailCampaignRecipients, root.SibApiV3Sdk.CreateEmailCampaignSender);
    }
  }(this, function(ApiClient, CreateEmailCampaignRecipients, CreateEmailCampaignSender) {
    'use strict';
  
  
  
  
    /**
     * The CreateEmailCampaign model module.
     * @module model/CreateEmailCampaign
     * @version 7.x.x
     */
  
    /**
     * Constructs a new <code>CreateEmailCampaign</code>.
     * @alias module:model/CreateEmailCampaign
     * @class
     * @param sender {module:model/CreateEmailCampaignSender} 
     * @param name {String} Name of the campaign
     * @param subject {String} Subject of the campaign
     * @param type {module:model/CreateEmailCampaign.TypeEnum} Type of the campaign
     */
    var exports = function(sender, name, subject, type) {
      var _this = this;
  
  
      _this['sender'] = sender;
      _this['name'] = name;
  
  
  
      _this['subject'] = subject;
  
  
  
  
  
  
  
      _this['type'] = type;
  
  
  
    };
  
    /**
     * Constructs a <code>CreateEmailCampaign</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/CreateEmailCampaign} obj Optional instance to populate.
     * @return {module:model/CreateEmailCampaign} The populated <code>CreateEmailCampaign</code> instance.
     */
    exports.constructFromObject = function(data, obj) {
      if (data) {
        obj = obj || new exports();
  
        if (data.hasOwnProperty('tag')) {
          obj['tag'] = ApiClient.convertToType(data['tag'], 'String');
        }
        if (data.hasOwnProperty('sender')) {
          obj['sender'] = CreateEmailCampaignSender.constructFromObject(data['sender']);
        }
        if (data.hasOwnProperty('name')) {
          obj['name'] = ApiClient.convertToType(data['name'], 'String');
        }
        if (data.hasOwnProperty('htmlContent')) {
          obj['htmlContent'] = ApiClient.convertToType(data['htmlContent'], 'String');
        }
        if (data.hasOwnProperty('htmlUrl')) {
          obj['htmlUrl'] = ApiClient.convertToType(data['htmlUrl'], 'String');
        }
        if (data.hasOwnProperty('templateId')) {
          obj['templateId'] = ApiClient.convertToType(data['templateId'], 'Number');
        }
        if (data.hasOwnProperty('scheduledAt')) {
          obj['scheduledAt'] = ApiClient.convertToType(data['scheduledAt'], 'Date');
        }
        if (data.hasOwnProperty('subject')) {
          obj['subject'] = ApiClient.convertToType(data['subject'], 'String');
        }
        if (data.hasOwnProperty('replyTo')) {
          obj['replyTo'] = ApiClient.convertToType(data['replyTo'], 'String');
        }
        if (data.hasOwnProperty('toField')) {
          obj['toField'] = ApiClient.convertToType(data['toField'], 'String');
        }
        if (data.hasOwnProperty('recipients')) {
          obj['recipients'] = CreateEmailCampaignRecipients.constructFromObject(data['recipients']);
        }
        if (data.hasOwnProperty('attachmentUrl')) {
          obj['attachmentUrl'] = ApiClient.convertToType(data['attachmentUrl'], 'String');
        }
        if (data.hasOwnProperty('inlineImageActivation')) {
          obj['inlineImageActivation'] = ApiClient.convertToType(data['inlineImageActivation'], 'Boolean');
        }
        if (data.hasOwnProperty('mirrorActive')) {
          obj['mirrorActive'] = ApiClient.convertToType(data['mirrorActive'], 'Boolean');
        }
        if (data.hasOwnProperty('recurring')) {
          obj['recurring'] = ApiClient.convertToType(data['recurring'], 'Boolean');
        }
        if (data.hasOwnProperty('type')) {
          obj['type'] = ApiClient.convertToType(data['type'], 'String');
        }
        if (data.hasOwnProperty('footer')) {
          obj['footer'] = ApiClient.convertToType(data['footer'], 'String');
        }
        if (data.hasOwnProperty('header')) {
          obj['header'] = ApiClient.convertToType(data['header'], 'String');
        }
        if (data.hasOwnProperty('utmCampaign')) {
          obj['utmCampaign'] = ApiClient.convertToType(data['utmCampaign'], 'String');
        }
        if (data.hasOwnProperty('params')) {
          obj['params'] = ApiClient.convertToType(data['params'], Object);
        }
      }
      return obj;
    }
  
    /**
     * Tag of the campaign
     * @member {String} tag
     */
    exports.prototype['tag'] = undefined;
    /**
     * @member {module:model/CreateEmailCampaignSender} sender
     */
    exports.prototype['sender'] = undefined;
    /**
     * Name of the campaign
     * @member {String} name
     */
    exports.prototype['name'] = undefined;
    /**
     * Mandatory if htmlUrl and templateId are empty. Body of the message (HTML)
     * @member {String} htmlContent
     */
    exports.prototype['htmlContent'] = undefined;
    /**
     * Mandatory if htmlContent and templateId are empty. Url to the message (HTML)
     * @member {String} htmlUrl
     */
    exports.prototype['htmlUrl'] = undefined;
    /**
     * Mandatory if htmlContent and htmlUrl are empty. Id of the SMTP template with status 'active'. Used to copy only its content fetched from htmlContent/htmlUrl to an email campaign for RSS feature.
     * @member {Number} templateId
     */
    exports.prototype['templateId'] = undefined;
    /**
     * Sending UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
     * @member {Date} scheduledAt
     */
    exports.prototype['scheduledAt'] = undefined;
    /**
     * Subject of the campaign
     * @member {String} subject
     */
    exports.prototype['subject'] = undefined;
    /**
     * Email on which the campaign recipients will be able to reply to
     * @member {String} replyTo
     */
    exports.prototype['replyTo'] = undefined;
    /**
     * To personalize the «To» Field. If you want to include the first name and last name of your recipient, add {FNAME} {LNAME}. These contact attributes must already exist in your SendinBlue account. If input parameter 'params' used please use {{contact.FNAME}} {{contact.LNAME}} for personalization
     * @member {String} toField
     */
    exports.prototype['toField'] = undefined;
    /**
     * @member {module:model/CreateEmailCampaignRecipients} recipients
     */
    exports.prototype['recipients'] = undefined;
    /**
     * Absolute url of the attachment (no local file). Extension allowed: xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps
     * @member {String} attachmentUrl
     */
    exports.prototype['attachmentUrl'] = undefined;
    /**
     * Use true to embedded the images in your email. Final size of the email should be less than 4MB. Campaigns with embedded images can not be sent to more than 5000 contacts
     * @member {Boolean} inlineImageActivation
     * @default false
     */
    exports.prototype['inlineImageActivation'] = false;
    /**
     * Use true to enable the mirror link
     * @member {Boolean} mirrorActive
     */
    exports.prototype['mirrorActive'] = undefined;
    /**
     * For trigger campagins use false to make sure a contact receives the same campaign only once
     * @member {Boolean} recurring
     * @default false
     */
    exports.prototype['recurring'] = false;
    /**
     * Type of the campaign
     * @member {module:model/CreateEmailCampaign.TypeEnum} type
     */
    exports.prototype['type'] = undefined;
    /**
     * Footer of the email campaign
     * @member {String} footer
     */
    exports.prototype['footer'] = undefined;
    /**
     * Header of the email campaign
     * @member {String} header
     */
    exports.prototype['header'] = undefined;
    /**
     * Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed
     * @member {String} utmCampaign
     */
    exports.prototype['utmCampaign'] = undefined;
    /**
     * Pass the set of attributes to customize the type classic campaign. For example, {'FNAME':'Joe', 'LNAME':'Doe'}. Only available if 'type' is 'classic'. It's considered only if campaign is in New Template Language format. The New Template Language is dependent on the values of 'subject', 'htmlContent/htmlUrl', 'sender.name' & 'toField'
     * @member {Object} params
     */
    exports.prototype['params'] = undefined;
  
  
    /**
     * Allowed values for the <code>type</code> property.
     * @enum {String}
     * @readonly
     */
    exports.TypeEnum = {
      /**
       * value: "classic"
       * @const
       */
      "classic": "classic",
      /**
       * value: "trigger"
       * @const
       */
      "trigger": "trigger"  };
  
  
    return exports;
  }));
  
  
  