Requires the role: | superadmin |
POST | /superadmin/support/cases | Add a new support case | Add a new support case to the company of the currently logged in user, only administrators are allowed to add support cases. |
---|
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 SupportCaseStatusResponse() =
///<summary>
///The status id
///</summary>
[<ApiMember(Description="The status id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The status name
///</summary>
[<ApiMember(Description="The status name")>]
member val Name:String = null with get,set
///<summary>
///The status description
///</summary>
[<ApiMember(Description="The status description")>]
member val Description:String = null with get,set
///<summary>
///The status icon
///</summary>
[<ApiMember(Description="The status icon")>]
member val Icon:String = null with get,set
///<summary>
///The status color
///</summary>
[<ApiMember(Description="The status color")>]
member val Color:String = null with get,set
[<AllowNullLiteral>]
type SupportCaseTypeResponse() =
///<summary>
///The type id
///</summary>
[<ApiMember(Description="The type id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The type name
///</summary>
[<ApiMember(Description="The type name")>]
member val Name:String = null with get,set
///<summary>
///The type description
///</summary>
[<ApiMember(Description="The type description")>]
member val Description:String = null with get,set
[<AllowNullLiteral>]
type SupportCaseAreaResponse() =
///<summary>
///The area id
///</summary>
[<ApiMember(Description="The area id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The area name
///</summary>
[<ApiMember(Description="The area name")>]
member val Name:String = null with get,set
///<summary>
///The area description
///</summary>
[<ApiMember(Description="The area description")>]
member val Description:String = null with get,set
[<AllowNullLiteral>]
type SupportCaseCommentsResponse() =
///<summary>
///The case id
///</summary>
[<ApiMember(Description="The case id")>]
member val SupportCaseId:Int32 = new Int32() with get,set
///<summary>
///The comments id
///</summary>
[<ApiMember(Description="The comments id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The case comment
///</summary>
[<ApiMember(Description="The case comment")>]
member val Comment:String = null with get,set
///<summary>
///The case comment created by
///</summary>
[<ApiMember(Description="The case comment created by")>]
member val CreatedBy:String = null with get,set
///<summary>
///The case comment created date
///</summary>
[<ApiMember(Description="The case comment created date")>]
member val Created:DateTime = new DateTime() with get,set
[<AllowNullLiteral>]
type SupportCaseAttachmentResponse() =
///<summary>
///The attachment id
///</summary>
[<ApiMember(Description="The attachment id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The attachment file url
///</summary>
[<ApiMember(Description="The attachment file url")>]
member val FileUrl:String = null with get,set
[<AllowNullLiteral>]
type SupportCaseQueryResponse() =
///<summary>
///The support case id
///</summary>
[<ApiMember(Description="The support case id")>]
member val Id:Int32 = new Int32() with get,set
///<summary>
///The company user id
///</summary>
[<ApiMember(Description="The company user id")>]
member val CompanyUserId:Guid = new Guid() with get,set
///<summary>
///The case title.
///</summary>
[<ApiMember(Description="The case title.")>]
member val Title:String = null with get,set
///<summary>
///The case description.
///</summary>
[<ApiMember(Description="The case description.")>]
member val Description:String = null with get,set
///<summary>
///The case status id.
///</summary>
[<ApiMember(Description="The case status id.")>]
member val CaseStatusId:Int32 = new Int32() with get,set
///<summary>
///If the case type id.
///</summary>
[<ApiMember(Description="If the case type id.")>]
member val CaseTypeId:Int32 = new Int32() with get,set
///<summary>
///If the case area id.
///</summary>
[<ApiMember(Description="If the case area id.")>]
member val CaseAreaId:Int32 = new Int32() with get,set
///<summary>
///The case created by.
///</summary>
[<ApiMember(Description="The case created by.")>]
member val CreatedBy:String = null with get,set
///<summary>
///The case updated by.
///</summary>
[<ApiMember(Description="The case updated by.")>]
member val UpdatedBy:String = null with get,set
///<summary>
///The case solved by.
///</summary>
[<ApiMember(Description="The case solved by.")>]
member val SolvedBy:String = null with get,set
///<summary>
///If case updated date.
///</summary>
[<ApiMember(Description="If case updated date.")>]
member val Updated:DateTime = new DateTime() with get,set
///<summary>
///If case created date.
///</summary>
[<ApiMember(Description="If case created date.")>]
member val Created:DateTime = new DateTime() with get,set
///<summary>
///Who owns the support case.
///</summary>
[<ApiMember(Description="Who owns the support case.")>]
member val CaseOwner:String = null with get,set
///<summary>
///The case status information.
///</summary>
[<ApiMember(Description="The case status information.")>]
member val CaseStatus:SupportCaseStatusResponse = null with get,set
///<summary>
///The case type information.
///</summary>
[<ApiMember(Description="The case type information.")>]
member val CaseType:SupportCaseTypeResponse = null with get,set
///<summary>
///The case area information.
///</summary>
[<ApiMember(Description="The case area information.")>]
member val CaseArea:SupportCaseAreaResponse = null with get,set
///<summary>
///The case comments.
///</summary>
[<ApiMember(Description="The case comments.")>]
member val Comments:ResizeArray<SupportCaseCommentsResponse> = new ResizeArray<SupportCaseCommentsResponse>() with get,set
///<summary>
///The case attachments.
///</summary>
[<ApiMember(Description="The case attachments.")>]
member val Attachments:ResizeArray<SupportCaseAttachmentResponse> = new ResizeArray<SupportCaseAttachmentResponse>() with get,set
///<summary>
///The case status options to select from.
///</summary>
[<ApiMember(Description="The case status options to select from.")>]
member val CaseStatusOptions:ResizeArray<SupportCaseStatusResponse> = new ResizeArray<SupportCaseStatusResponse>() with get,set
///<summary>
///The case type options to select from.
///</summary>
[<ApiMember(Description="The case type options to select from.")>]
member val CaseTypeOptions:ResizeArray<SupportCaseTypeResponse> = new ResizeArray<SupportCaseTypeResponse>() with get,set
///<summary>
///The case area options to select from.
///</summary>
[<ApiMember(Description="The case area options to select from.")>]
member val CaseAreaOptions:ResizeArray<SupportCaseAreaResponse> = new ResizeArray<SupportCaseAreaResponse>() with get,set
[<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
[<ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)>]
[<ValidateRequest(Validator="IsAuthenticated")>]
[<AllowNullLiteral>]
type SuperAdminCreateSupportCase() =
///<summary>
///Enter the company id, if blank company id and you are an admin, your company id will be used.
///</summary>
[<ApiMember(Description="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired=true)>]
member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set
///<summary>
///The case title.
///</summary>
[<ApiMember(Description="The case title.")>]
member val Title:String = null with get,set
///<summary>
///The case description.
///</summary>
[<ApiMember(Description="The case description.")>]
member val Description:String = null with get,set
///<summary>
///If the case type id.
///</summary>
[<ApiMember(Description="If the case type id.")>]
member val CaseTypeId:Int32 = new Int32() with get,set
///<summary>
///If the case area id.
///</summary>
[<ApiMember(Description="If the case area id.")>]
member val CaseAreaId:Int32 = new Int32() with get,set
F# SuperAdminCreateSupportCase 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
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /superadmin/support/cases HTTP/1.1
Host: api.bokamera.se
Accept: application/json
Content-Type: application/json
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Title":"String","Description":"String","CaseTypeId":0,"CaseAreaId":0}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"Id":0,"Title":"String","Description":"String","CaseStatusId":0,"CaseTypeId":0,"CaseAreaId":0,"CreatedBy":"String","UpdatedBy":"String","SolvedBy":"String","CaseOwner":"String","CaseStatus":{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"},"CaseType":{"Id":0,"Name":"String","Description":"String"},"CaseArea":{"Id":0,"Name":"String","Description":"String"},"Comments":[{"SupportCaseId":0,"Id":0,"Comment":"String","CreatedBy":"String"}],"Attachments":[{"Id":0,"FileUrl":"String"}],"CaseStatusOptions":[{"Id":0,"Name":"String","Description":"String","Icon":"String","Color":"String"}],"CaseTypeOptions":[{"Id":0,"Name":"String","Description":"String"}],"CaseAreaOptions":[{"Id":0,"Name":"String","Description":"String"}]}