TicketUserServices

<back to all web services

WebshopOrderSearchRequest

Requires Authentication
Requires any of the roles:Admin, TeamAdminRequires the permission:ReadData
The following routes are available for this service:
POST/Webshop/Order/Search
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WebshopOrderLineSummary:
    id: Optional[int] = None
    product_id: Optional[int] = None
    variant_id: Optional[int] = None
    product_name: Optional[str] = None
    size: Optional[str] = None
    color: Optional[str] = None
    unit_price_minor: Optional[int] = None
    quantity: Optional[int] = None
    line_total_minor: Optional[int] = None
    status: Optional[str] = None
    payout_info_id: Optional[int] = None
    payout_tag: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WebshopOrderSummary:
    id: Optional[int] = None
    order_reference: Optional[str] = None
    owner_id: Optional[int] = None
    status: Optional[str] = None
    total_minor: Optional[int] = None
    delivery_fee_minor: Optional[int] = None
    total_discount_minor: Optional[int] = None
    currency: Optional[str] = None
    buyer_name: Optional[str] = None
    buyer_email: Optional[str] = None
    buyer_phone: Optional[str] = None
    address: Optional[str] = None
    city: Optional[str] = None
    zip_code: Optional[str] = None
    country: Optional[str] = None
    delivery_type: Optional[str] = None
    dropp_order_id: Optional[str] = None
    dropp_location_id: Optional[str] = None
    needs_delivery_attention: Optional[bool] = None
    payment_method_id: Optional[str] = None
    payment_id: Optional[str] = None
    payment_reference: Optional[str] = None
    discount_code: Optional[str] = None
    gift_paid_minor: Optional[int] = None
    created_at: Optional[datetime.datetime] = None
    updated_at: Optional[datetime.datetime] = None
    lines: Optional[List[WebshopOrderLineSummary]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WebshopOrderSearchResult:
    items: Optional[List[WebshopOrderSummary]] = None
    total_count: Optional[int] = None
    status_code: Optional[int] = None
    message: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WebshopOrderSearchRequest:
    owner_id: Optional[int] = None
    status: Optional[str] = None
    from_: Optional[datetime.datetime] = field(metadata=config(field_name='from'), default=None)
    to: Optional[datetime.datetime] = None
    skip: Optional[int] = None
    take: Optional[int] = None

Python WebshopOrderSearchRequest 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.

POST /Webshop/Order/Search HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ownerId: 0,
	status: String,
	from: 0001-01-01,
	to: 0001-01-01,
	skip: 0,
	take: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	items: 
	[
		{
			id: 0,
			orderReference: String,
			ownerId: 0,
			status: String,
			totalMinor: 0,
			deliveryFeeMinor: 0,
			totalDiscountMinor: 0,
			currency: String,
			buyerName: String,
			buyerEmail: String,
			buyerPhone: String,
			address: String,
			city: String,
			zipCode: String,
			country: String,
			deliveryType: String,
			droppOrderId: String,
			droppLocationId: String,
			needsDeliveryAttention: False,
			paymentMethodId: String,
			paymentId: String,
			paymentReference: String,
			discountCode: String,
			giftPaidMinor: 0,
			createdAt: 0001-01-01,
			updatedAt: 0001-01-01,
			lines: 
			[
				{
					id: 0,
					productId: 0,
					variantId: 0,
					productName: String,
					size: String,
					color: String,
					unitPriceMinor: 0,
					quantity: 0,
					lineTotalMinor: 0,
					status: String,
					payoutInfoId: 0,
					payoutTag: String
				}
			]
		}
	],
	totalCount: 0,
	statusCode: 0,
	message: String
}