Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /support/cases/{Id} | Update a support case | Update a support case to the company of the currently logged in user, only administrators are allowed to add support cases. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
@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")
open class UpdateSupportCase : ISupportCase
{
/**
* Enter the company id, if blank company id and you are an admin, your company id will be used.
*/
@ApiMember(Description="Enter the company id, if blank company id and you are an admin, your company id will be used.", IsRequired=true)
var CompanyId:UUID? = null
/**
* The support case id
*/
@ApiMember(Description="The support case id", ParameterType="path")
var Id:Int? = null
/**
* The case title.
*/
@ApiMember(Description="The case title.")
var Title:String? = null
/**
* The case description.
*/
@ApiMember(Description="The case description.")
var Description:String? = null
/**
* If the case type id.
*/
@ApiMember(Description="If the case type id.")
var CaseTypeId:Int? = null
/**
* If the case area id.
*/
@ApiMember(Description="If the case area id.")
var CaseAreaId:Int? = null
}
open class SupportCaseQueryResponse
{
/**
* The support case id
*/
@ApiMember(Description="The support case id")
var Id:Int? = null
/**
* The company user id
*/
@ApiMember(Description="The company user id")
var CompanyUserId:UUID? = null
/**
* The case title.
*/
@ApiMember(Description="The case title.")
var Title:String? = null
/**
* The case description.
*/
@ApiMember(Description="The case description.")
var Description:String? = null
/**
* The case status id.
*/
@ApiMember(Description="The case status id.")
var CaseStatusId:Int? = null
/**
* If the case type id.
*/
@ApiMember(Description="If the case type id.")
var CaseTypeId:Int? = null
/**
* If the case area id.
*/
@ApiMember(Description="If the case area id.")
var CaseAreaId:Int? = null
/**
* The case created by.
*/
@ApiMember(Description="The case created by.")
var CreatedBy:String? = null
/**
* The case updated by.
*/
@ApiMember(Description="The case updated by.")
var UpdatedBy:String? = null
/**
* The case solved by.
*/
@ApiMember(Description="The case solved by.")
var SolvedBy:String? = null
/**
* If case updated date.
*/
@ApiMember(Description="If case updated date.")
var Updated:Date? = null
/**
* If case created date.
*/
@ApiMember(Description="If case created date.")
var Created:Date? = null
/**
* Who owns the support case.
*/
@ApiMember(Description="Who owns the support case.")
var CaseOwner:String? = null
/**
* The case status information.
*/
@ApiMember(Description="The case status information.")
var CaseStatus:SupportCaseStatusResponse? = null
/**
* The case type information.
*/
@ApiMember(Description="The case type information.")
var CaseType:SupportCaseTypeResponse? = null
/**
* The case area information.
*/
@ApiMember(Description="The case area information.")
var CaseArea:SupportCaseAreaResponse? = null
/**
* The case comments.
*/
@ApiMember(Description="The case comments.")
var Comments:ArrayList<SupportCaseCommentsResponse> = ArrayList<SupportCaseCommentsResponse>()
/**
* The case attachments.
*/
@ApiMember(Description="The case attachments.")
var Attachments:ArrayList<SupportCaseAttachmentResponse> = ArrayList<SupportCaseAttachmentResponse>()
/**
* The case status options to select from.
*/
@ApiMember(Description="The case status options to select from.")
var CaseStatusOptions:ArrayList<SupportCaseStatusResponse> = ArrayList<SupportCaseStatusResponse>()
/**
* The case type options to select from.
*/
@ApiMember(Description="The case type options to select from.")
var CaseTypeOptions:ArrayList<SupportCaseTypeResponse> = ArrayList<SupportCaseTypeResponse>()
/**
* The case area options to select from.
*/
@ApiMember(Description="The case area options to select from.")
var CaseAreaOptions:ArrayList<SupportCaseAreaResponse> = ArrayList<SupportCaseAreaResponse>()
}
open class SupportCaseStatusResponse
{
/**
* The status id
*/
@ApiMember(Description="The status id")
var Id:Int? = null
/**
* The status name
*/
@ApiMember(Description="The status name")
var Name:String? = null
/**
* The status description
*/
@ApiMember(Description="The status description")
var Description:String? = null
/**
* The status icon
*/
@ApiMember(Description="The status icon")
var Icon:String? = null
/**
* The status color
*/
@ApiMember(Description="The status color")
var Color:String? = null
}
open class SupportCaseTypeResponse
{
/**
* The type id
*/
@ApiMember(Description="The type id")
var Id:Int? = null
/**
* The type name
*/
@ApiMember(Description="The type name")
var Name:String? = null
/**
* The type description
*/
@ApiMember(Description="The type description")
var Description:String? = null
}
open class SupportCaseAreaResponse
{
/**
* The area id
*/
@ApiMember(Description="The area id")
var Id:Int? = null
/**
* The area name
*/
@ApiMember(Description="The area name")
var Name:String? = null
/**
* The area description
*/
@ApiMember(Description="The area description")
var Description:String? = null
}
open class SupportCaseCommentsResponse
{
/**
* The case id
*/
@ApiMember(Description="The case id")
var SupportCaseId:Int? = null
/**
* The comments id
*/
@ApiMember(Description="The comments id")
var Id:Int? = null
/**
* The case comment
*/
@ApiMember(Description="The case comment")
var Comment:String? = null
/**
* The case comment created by
*/
@ApiMember(Description="The case comment created by")
var CreatedBy:String? = null
/**
* The case comment created date
*/
@ApiMember(Description="The case comment created date")
var Created:Date? = null
}
open class SupportCaseAttachmentResponse
{
/**
* The attachment id
*/
@ApiMember(Description="The attachment id")
var Id:Int? = null
/**
* The attachment file url
*/
@ApiMember(Description="The attachment file url")
var FileUrl:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /support/cases/{Id} HTTP/1.1
Host: api.bokamera.se
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"CompanyId":"00000000-0000-0000-0000-000000000000","Id":0,"Title":"String","Description":"String","CaseTypeId":0,"CaseAreaId":0}
HTTP/1.1 200 OK Content-Type: text/csv 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"}]}