/**
 * Brevo API
 * Brevo 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/brevo  **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  |   | 406  | Error. Not Acceptable  |   | 422  | Error. Unprocessable Entity | 
 *
 * The version of the OpenAPI document: 3.0.0
 * Contact: contact@brevo.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { RequestFile } from './models';

export class CreateWhatsAppTemplate {
    /**
    * Name of the template
    */
    'name': string;
    /**
    * Language of the template. For Example : **en** for English 
    */
    'language': string;
    /**
    * Category of the template
    */
    'category': CreateWhatsAppTemplate.CategoryEnum;
    /**
    * Absolute url of the media file **(no local file)** for the header. **Use this field in you want to add media in Template header and headerText is empty.** Allowed extensions for media files are: #### jpeg | png | mp4 | pdf 
    */
    'mediaUrl'?: string;
    /**
    * Body of the template. **Maximum allowed characters are 1024**
    */
    'bodyText': string;
    /**
    * Text content of the header in the template.  **Maximum allowed characters are 45** **Use this field to add text content in template header and if mediaUrl is empty** 
    */
    'headerText'?: string;
    /**
    * source of the template
    */
    'source'?: CreateWhatsAppTemplate.SourceEnum;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "name",
            "baseName": "name",
            "type": "string"
        },
        {
            "name": "language",
            "baseName": "language",
            "type": "string"
        },
        {
            "name": "category",
            "baseName": "category",
            "type": "CreateWhatsAppTemplate.CategoryEnum"
        },
        {
            "name": "mediaUrl",
            "baseName": "mediaUrl",
            "type": "string"
        },
        {
            "name": "bodyText",
            "baseName": "bodyText",
            "type": "string"
        },
        {
            "name": "headerText",
            "baseName": "headerText",
            "type": "string"
        },
        {
            "name": "source",
            "baseName": "source",
            "type": "CreateWhatsAppTemplate.SourceEnum"
        }    ];

    static getAttributeTypeMap() {
        return CreateWhatsAppTemplate.attributeTypeMap;
    }
}

export namespace CreateWhatsAppTemplate {
    export enum CategoryEnum {
        Marketing = <any> 'MARKETING',
        Utility = <any> 'UTILITY'
    }
    export enum SourceEnum {
        Automation = <any> 'Automation',
        Conversations = <any> 'Conversations'
    }
}
