BokaMera.API.Host

<back to all web services

CreateNewsletterTemplate

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/newsletter/templatesCreate a new company newsletter template.Create a new company newsletter template.
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type NewsletterSendMethodQueryResponse() = 
        ///<summary>
        ///The send method id
        ///</summary>
        [<ApiMember(Description="The send method id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///The send method name.
        ///</summary>
        [<ApiMember(Description="The send method name.")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The send method description.
        ///</summary>
        [<ApiMember(Description="The send method description.")>]
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type NewsletterEmailTemplatesQueryResponse() = 
        ///<summary>
        ///The email template id
        ///</summary>
        [<ApiMember(Description="The email template id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///The email template name.
        ///</summary>
        [<ApiMember(Description="The email template name.")>]
        member val Name:String = null with get,set

        ///<summary>
        ///The email template description.
        ///</summary>
        [<ApiMember(Description="The email template description.")>]
        member val Description:String = null with get,set

        ///<summary>
        ///The email template html content.
        ///</summary>
        [<ApiMember(Description="The email template html content.")>]
        member val Body:String = null with get,set

    [<AllowNullLiteral>]
    type NewsletterTemplatesQueryResponse() = 
        ///<summary>
        ///The newsletter template id
        ///</summary>
        [<ApiMember(Description="The newsletter template id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///The newsletter template heading.
        ///</summary>
        [<ApiMember(Description="The newsletter template heading.")>]
        member val Heading:String = null with get,set

        ///<summary>
        ///The newsletter template body.
        ///</summary>
        [<ApiMember(Description="The newsletter template body.")>]
        member val Body:String = null with get,set

        ///<summary>
        ///The email template the newsletter uses.
        ///</summary>
        [<ApiMember(Description="The email template the newsletter uses.")>]
        member val EmailTemplateId:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///Send Method. 1 = Email, 2 = SMS
        ///</summary>
        [<ApiMember(Description="Send Method. 1 = Email, 2 = SMS")>]
        member val SendMethodId:Int32 = new Int32() with get,set

        ///<summary>
        ///The newsletter template image url.
        ///</summary>
        [<ApiMember(Description="The newsletter template image url.")>]
        member val ImageUrl:String = null with get,set

        ///<summary>
        ///The newsletter created date.
        ///</summary>
        [<ApiMember(Description="The newsletter created date.")>]
        member val Created:DateTime = new DateTime() with get,set

        ///<summary>
        ///Send method information.
        ///</summary>
        [<ApiMember(Description="Send method information.")>]
        member val SendMethodInformation:NewsletterSendMethodQueryResponse = null with get,set

        ///<summary>
        ///Email template information.
        ///</summary>
        [<ApiMember(Description="Email template information.")>]
        member val EmailTemplateInformation:NewsletterEmailTemplatesQueryResponse = null with get,set

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type CreateNewsletterTemplate() = 
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The newsletter template heading.
        ///</summary>
        [<ApiMember(Description="The newsletter template heading.")>]
        member val Heading:String = null with get,set

        ///<summary>
        ///The newsletter template body.
        ///</summary>
        [<ApiMember(Description="The newsletter template body.")>]
        member val Body:String = null with get,set

        ///<summary>
        ///The newsletter template image url.
        ///</summary>
        [<ApiMember(Description="The newsletter template image url.")>]
        member val ImageUrl:String = null with get,set

        ///<summary>
        ///The newsletter template send method (1=email, 2=sms).
        ///</summary>
        [<ApiMember(Description="The newsletter template send method (1=email, 2=sms).")>]
        member val SendMethodId:Int32 = new Int32() with get,set

        ///<summary>
        ///The email template id. Get valid email templates from GET /newsletter/emailtemplates
        ///</summary>
        [<ApiMember(Description="The email template id. Get valid email templates from GET /newsletter/emailtemplates")>]
        member val EmailTemplateId:Nullable<Int32> = new Nullable<Int32>() with get,set

F# CreateNewsletterTemplate DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /newsletter/templates HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	Heading: String,
	Body: String,
	ImageUrl: String,
	SendMethodId: 0,
	EmailTemplateId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	Heading: String,
	Body: String,
	EmailTemplateId: 0,
	SendMethodId: 0,
	ImageUrl: String,
	SendMethodInformation: 
	{
		Id: 0,
		Name: String,
		Description: String
	},
	EmailTemplateInformation: 
	{
		Id: 0,
		Name: String,
		Description: String,
		Body: String
	}
}