BokaMera.API.Host

<back to all web services

CreateNewsItem

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/newsAdd a news itemAdd a news item to the company of the currently logged in user, only administrators are allowed to add news items.
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

        <ValidateRequest(Validator:="IsAuthenticated")>
        Public Partial Class CreateNewsItem
            Implements ICompany
            '''<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 news item header, keep this short and concise
            '''</Summary>
            <ApiMember(Description:="The news item header, keep this short and concise", IsRequired:=true)>
            Public Overridable Property Heading As String

            '''<Summary>
            '''The news body text
            '''</Summary>
            <ApiMember(Description:="The news body text", IsRequired:=true)>
            Public Overridable Property Body As String

            '''<Summary>
            '''Valid url to a image associated with the news
            '''</Summary>
            <ApiMember(Description:="Valid url to a image associated with the news")>
            Public Overridable Property ImageUrl As Uri

            '''<Summary>
            '''The timestamp from which the newsitem should be visible from
            '''</Summary>
            <ApiMember(Description:="The timestamp from which the newsitem should be visible from", IsRequired:=true)>
            Public Overridable Property From As Date

            '''<Summary>
            '''The timestamp to which the newsitem should be visible to
            '''</Summary>
            <ApiMember(Description:="The timestamp to which the newsitem should be visible to", IsRequired:=true)>
            Public Overridable Property To As Date
        End Class

        Public Partial Class NewsItemQueryResponse
            '''<Summary>
            '''The news item id
            '''</Summary>
            <ApiMember(Description:="The news item id")>
            Public Overridable Property Id As Integer

            '''<Summary>
            '''Heading of the news item
            '''</Summary>
            <ApiMember(Description:="Heading of the news item")>
            Public Overridable Property Heading As String

            '''<Summary>
            '''Body of the news item
            '''</Summary>
            <ApiMember(Description:="Body of the news item")>
            Public Overridable Property Body As String

            '''<Summary>
            '''Url to a image associated with the news
            '''</Summary>
            <ApiMember(Description:="Url to a image associated with the news")>
            Public Overridable Property ImageUrl As Uri

            '''<Summary>
            '''The timestamp from which the newsitem should be visible from
            '''</Summary>
            <ApiMember(Description:="The timestamp from which the newsitem should be visible from", IsRequired:=true)>
            Public Overridable Property From As Date

            '''<Summary>
            '''The timestamp to which the newsitem should be visible to
            '''</Summary>
            <ApiMember(Description:="The timestamp to which the newsitem should be visible to", IsRequired:=true)>
            Public Overridable Property To As Date

            '''<Summary>
            '''The timestamp when news was created
            '''</Summary>
            <ApiMember(Description:="The timestamp when news was created", IsRequired:=true)>
            Public Overridable Property Created As Date

            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

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

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

{
	Id: 0,
	Heading: String,
	Body: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}