TicketUserServices

<back to all web services

WebshopCatalogRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdmin, MobileAppRequires the permission:ReadData
The following routes are available for this service:
GET/Webshop/Catalog/{OwnerId}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using TicketUserServices.ServiceModel;

namespace TicketUserServices.ServiceModel
{
    public partial class WebshopCatalogRequest
    {
        public virtual int OwnerId { get; set; }
        public virtual string ExternalId { get; set; }
    }

    public partial class WebshopCatalogResult
    {
        public WebshopCatalogResult()
        {
            Products = new List<WebshopProductSummary>{};
        }

        public virtual int OwnerId { get; set; }
        public virtual List<WebshopProductSummary> Products { get; set; }
        public virtual WebshopDeliveryOptions Delivery { get; set; }
        public virtual int StatusCode { get; set; }
        public virtual string Message { get; set; }
    }

    public partial class WebshopDeliveryOptions
    {
        public virtual bool PickupAllowed { get; set; }
        public virtual bool DroppAllowed { get; set; }
        public virtual bool ShippedAllowed { get; set; }
        public virtual string PickupAddress { get; set; }
        public virtual string PickupDescription { get; set; }
        public virtual int DroppFeeMinor { get; set; }
        public virtual int ShippedFeeMinor { get; set; }
        public virtual string OrderEmail { get; set; }
    }

    public partial class WebshopProductSummary
    {
        public WebshopProductSummary()
        {
            Variants = new List<WebshopVariantSummary>{};
        }

        public virtual int ID { get; set; }
        public virtual int OwnerId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Category { get; set; }
        public virtual string SubCategory { get; set; }
        public virtual int DefaultPriceMinor { get; set; }
        public virtual string ImageUrl { get; set; }
        public virtual int ViewOrder { get; set; }
        public virtual string Status { get; set; }
        public virtual int? PayoutInfoId { get; set; }
        public virtual int? LegacyItemId { get; set; }
        public virtual List<WebshopVariantSummary> Variants { get; set; }
    }

    public partial class WebshopVariantSummary
    {
        public virtual int ID { get; set; }
        public virtual int ProductId { get; set; }
        public virtual string Size { get; set; }
        public virtual string Color { get; set; }
        public virtual int StockOnHand { get; set; }
        public virtual int QuantitySold { get; set; }
        public virtual int AvailableQuantity { get; set; }
        public virtual string Status { get; set; }
    }

}

C# WebshopCatalogRequest DTOs

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /Webshop/Catalog/{OwnerId} HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ownerId: 0,
	products: 
	[
		{
			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
				}
			]
		}
	],
	delivery: 
	{
		pickupAllowed: False,
		droppAllowed: False,
		shippedAllowed: False,
		pickupAddress: String,
		pickupDescription: String,
		droppFeeMinor: 0,
		shippedFeeMinor: 0,
		orderEmail: String
	},
	statusCode: 0,
	message: String
}