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.
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 NewsItemQueryResponse() = 
        ///<summary>
        ///The news item id
        ///</summary>
        [<ApiMember(Description="The news item id")>]
        member val Id:Int32 = new Int32() with get,set

        ///<summary>
        ///Heading of the news item
        ///</summary>
        [<ApiMember(Description="Heading of the news item")>]
        member val Heading:String = null with get,set

        ///<summary>
        ///Body of the news item
        ///</summary>
        [<ApiMember(Description="Body of the news item")>]
        member val Body:String = null with get,set

        ///<summary>
        ///Url to a image associated with the news
        ///</summary>
        [<ApiMember(Description="Url to a image associated with the news")>]
        member val ImageUrl:Uri = null with get,set

        ///<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)>]
        member val From:DateTime = new DateTime() with get,set

        ///<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)>]
        member val To:DateTime = new DateTime() with get,set

        ///<summary>
        ///The timestamp when news was created
        ///</summary>
        [<ApiMember(Description="The timestamp when news was created", IsRequired=true)>]
        member val Created:DateTime = new DateTime() with get,set

        member val ResponseStatus:ResponseStatus = null with get,set

    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type CreateNewsItem() = 
        ///<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 news item header, keep this short and concise
        ///</summary>
        [<ApiMember(Description="The news item header, keep this short and concise", IsRequired=true)>]
        member val Heading:String = null with get,set

        ///<summary>
        ///The news body text
        ///</summary>
        [<ApiMember(Description="The news body text", IsRequired=true)>]
        member val Body:String = null with get,set

        ///<summary>
        ///Valid url to a image associated with the news
        ///</summary>
        [<ApiMember(Description="Valid url to a image associated with the news")>]
        member val ImageUrl:Uri = null with get,set

        ///<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)>]
        member val From:DateTime = new DateTime() with get,set

        ///<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)>]
        member val To:DateTime = new DateTime() with get,set

F# CreateNewsItem DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
Content-Type: application/json
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Heading":"String","Body":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
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"}}}