BokaMera.API.Host

<back to all web services

CreateMessageTemplate

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/messages/templatesCreate a new company message templatesCreate a new company message templates.
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports BokaMera.API.ServiceModel.Dtos

Namespace Global

    Namespace BokaMera.API.ServiceModel.Dtos

        <ApiResponse(Description:="You were unauthorized to call this service", StatusCode:=401)>
        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class CreateMessageTemplate
            Implements ICompany
            Public Sub New()
                Services = New Integer(){}
            End Sub

            '''<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.")>
            Public Overridable Property CompanyId As Nullable(Of Guid)

            '''<Summary>
            '''The message type id. See GET /messages/templates/types 
            '''</Summary>
            <ApiMember(Description:="The message type id. See GET /messages/templates/types ", IsRequired:=true)>
            Public Overridable Property TypeId As Integer

            '''<Summary>
            '''The message template name.
            '''</Summary>
            <ApiMember(Description:="The message template name.", IsRequired:=true)>
            Public Overridable Property Name As String

            '''<Summary>
            '''The message template title.
            '''</Summary>
            <ApiMember(Description:="The message template title.", IsRequired:=true)>
            Public Overridable Property Title As String

            '''<Summary>
            '''The message template title.
            '''</Summary>
            <ApiMember(Description:="The message template title.", IsRequired:=true)>
            Public Overridable Property Body As String

            '''<Summary>
            '''The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).
            '''</Summary>
            <ApiMember(Description:="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).")>
            Public Overridable Property Sender As String

            '''<Summary>
            '''Template Language sv / en
            '''</Summary>
            <ApiMember(Description:="Template Language sv / en")>
            Public Overridable Property Language As String

            '''<Summary>
            '''The services that is connected to the template. If null it will be connected to all services.
            '''</Summary>
            <ApiMember(Description:="The services that is connected to the template. If null it will be connected to all services.")>
            Public Overridable Property Services As Integer()
        End Class

        Public Partial Class MessageServices
            Public Overridable Property Id As Integer
            '''<Summary>
            '''Name of the service
            '''</Summary>
            <ApiMember(Description:="Name of the service")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The image url of the service
            '''</Summary>
            <ApiMember(Description:="The image url of the service")>
            Public Overridable Property ImageUrl As Uri
        End Class

        Public Partial Class MessageTemplatesQueryResponse
            Public Sub New()
                Services = New List(Of MessageServices)
            End Sub

            '''<Summary>
            '''The message template id
            '''</Summary>
            <ApiMember(Description:="The message template id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The message template name.
            '''</Summary>
            <ApiMember(Description:="The message template name.")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The message template title.
            '''</Summary>
            <ApiMember(Description:="The message template title.")>
            Public Overridable Property Title As String

            '''<Summary>
            '''The message template title.
            '''</Summary>
            <ApiMember(Description:="The message template title.")>
            Public Overridable Property Body As String

            '''<Summary>
            '''The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).
            '''</Summary>
            <ApiMember(Description:="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).")>
            Public Overridable Property Sender As String

            '''<Summary>
            '''If the message template is the default message currently in use.
            '''</Summary>
            <ApiMember(Description:="If the message template is the default message currently in use.")>
            Public Overridable Property [Default] As Boolean

            '''<Summary>
            '''If the message type information.
            '''</Summary>
            <ApiMember(Description:="If the message type information.")>
            Public Overridable Property MessageType As MessageTypeQueryResponse

            '''<Summary>
            '''Template language.
            '''</Summary>
            <ApiMember(Description:="Template language.")>
            Public Overridable Property Language As String

            '''<Summary>
            '''The connected services which the template is valid for. If empty then it's valid for all services.
            '''</Summary>
            <ApiMember(Description:="The connected services which the template is valid for. If empty then it's valid for all services.")>
            Public Overridable Property Services As List(Of MessageServices)
        End Class

        Public Partial Class MessageTypeQueryResponse
            '''<Summary>
            '''The message type id
            '''</Summary>
            <ApiMember(Description:="The message type id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''The message type name.
            '''</Summary>
            <ApiMember(Description:="The message type name.")>
            Public Overridable Property Name As String

            '''<Summary>
            '''The message type description.
            '''</Summary>
            <ApiMember(Description:="The message type description.")>
            Public Overridable Property Description As String

            '''<Summary>
            '''The maximum number of charachters that can be entered into message body using this type.
            '''</Summary>
            <ApiMember(Description:="The maximum number of charachters that can be entered into message body using this type.")>
            Public Overridable Property MaxCharacters As Integer

            '''<Summary>
            '''The default text that is always included when sending messages of this type.
            '''</Summary>
            <ApiMember(Description:="The default text that is always included when sending messages of this type.")>
            Public Overridable Property DefaultText As String

            '''<Summary>
            '''The send method for this type. 1 = Email, 2 = SMS.
            '''</Summary>
            <ApiMember(Description:="The send method for this type. 1 = Email, 2 = SMS.")>
            Public Overridable Property SendMethodId As Integer
        End Class
    End Namespace
End Namespace

VB.NET CreateMessageTemplate 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 /messages/templates HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	TypeId: 0,
	Name: String,
	Title: String,
	Body: String,
	Sender: String,
	Language: String,
	Services: 
	[
		0
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	Name: String,
	Title: String,
	Body: String,
	Sender: String,
	Default: False,
	MessageType: 
	{
		Id: 0,
		Name: String,
		Description: String,
		MaxCharacters: 0,
		DefaultText: String,
		SendMethodId: 0
	},
	Language: String,
	Services: 
	[
		{
			Id: 0,
			Name: String
		}
	]
}