Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /news | Add a news item | Add 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
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 } } }