| Requires any of the roles: | Admin, TeamAdmin | Required permission: | Tickets.Add |
| POST | /Webshop/Product |
|---|
import java.math.*
import java.util.*
import net.servicestack.client.*
open class WebshopProductCreateRequest
{
var item:WebshopProduct? = null
var ownerId:Int? = null
}
open class WebshopProduct
{
var id:Int? = null
var ownerId:Int? = null
@StringLength(200)
var name:String? = null
@StringLength(2000)
var description:String? = null
@StringLength(150)
var category:String? = null
@StringLength(150)
var subCategory:String? = null
var defaultPriceMinor:Int? = null
@StringLength(1500)
var imageUrl:String? = null
var viewOrder:Int? = null
@StringLength(20)
var status:String? = null
var payoutInfoId:Int? = null
var legacyItemId:Int? = null
var createdAt:Date? = null
var updatedAt:Date? = null
}
open class WebshopProductResult
{
var product:WebshopProductSummary? = null
var statusCode:Int? = null
var message:String? = null
}
open class WebshopProductSummary
{
var id:Int? = null
var ownerId:Int? = null
var name:String? = null
var description:String? = null
var category:String? = null
var subCategory:String? = null
var defaultPriceMinor:Int? = null
var imageUrl:String? = null
var viewOrder:Int? = null
var status:String? = null
var payoutInfoId:Int? = null
var legacyItemId:Int? = null
var variants:ArrayList<WebshopVariantSummary> = ArrayList<WebshopVariantSummary>()
}
open class WebshopVariantSummary
{
var id:Int? = null
var productId:Int? = null
var size:String? = null
var color:String? = null
var stockOnHand:Int? = null
var quantitySold:Int? = null
var availableQuantity:Int? = null
var status:String? = null
}
Kotlin WebshopProductCreateRequest DTOs
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 /Webshop/Product HTTP/1.1
Host: stubbur-app.azurewebsites.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
item:
{
id: 0,
ownerId: 0,
name: String,
description: String,
category: String,
subCategory: String,
defaultPriceMinor: 0,
imageUrl: String,
viewOrder: 0,
status: String,
payoutInfoId: 0,
legacyItemId: 0,
createdAt: 0001-01-01,
updatedAt: 0001-01-01
},
ownerId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
product:
{
id: 0,
ownerId: 0,
name: String,
description: String,
category: String,
subCategory: String,
defaultPriceMinor: 0,
imageUrl: String,
viewOrder: 0,
status: String,
payoutInfoId: 0,
legacyItemId: 0,
variants:
[
{
id: 0,
productId: 0,
size: String,
color: String,
stockOnHand: 0,
quantitySold: 0,
availableQuantity: 0,
status: String
}
]
},
statusCode: 0,
message: String
}