ServiceStack Home (Live)

<back to all web services

ViewOrder

Requires Authentication
The following routes are available for this service:
All Verbs/account/orders/{Id}
GET/ViewOrder
GET/ViewOrder/{Id}
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 ViewOrder:
    id: int = 0


class SkuType(str, Enum):
    PRODUCT = 'Product'
    PER_DEV = 'PerDev'
    PER_CORE = 'PerCore'
    SITE = 'Site'
    SUPPORT = 'Support'
    TRAINING = 'Training'
    REGISTER = 'Register'
    PAYMENT = 'Payment'


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OrderDetail:
    id: int = 0
    order_id: int = 0
    sku_id: int = 0
    sku_type: Optional[SkuType] = None
    price: int = 0
    description: Optional[str] = None
    quantity: int = 0
    total: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Order(IAddress):
    id: int = 0
    customer_id: int = 0
    product_name: Optional[str] = None
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    email: Optional[str] = None
    company: Optional[str] = None
    phone_number: Optional[str] = None
    address_line1: Optional[str] = None
    address_line2: Optional[str] = None
    address_city: Optional[str] = None
    address_zip: Optional[str] = None
    address_state: Optional[str] = None
    address_country: Optional[str] = None
    agree_terms: bool = False
    notes: Optional[str] = None
    last4: Optional[str] = None
    sub_total: int = 0
    coupon_id: Optional[str] = None
    discount: int = 0
    tax: int = 0
    total: int = 0
    item_quantity: int = 0
    authorized_quantity: Optional[int] = None
    subscription_id: Optional[int] = None
    license_ref: Optional[str] = None
    payment_id: Optional[int] = None
    email_id: Optional[int] = None
    paid: bool = False
    created_date: datetime.datetime = datetime.datetime(1, 1, 1)
    modified_date: datetime.datetime = datetime.datetime(1, 1, 1)
    modified_by: Optional[str] = None
    cancelled_date: Optional[datetime.datetime] = None
    cancelled_reason: Optional[str] = None
    ip_address: Optional[str] = None
    order_details: Optional[List[OrderDetail]] = None

Python ViewOrder DTOs

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

HTTP + XML

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

POST /account/orders/{Id} HTTP/1.1 
Host: account.servicestack.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ViewOrder xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
  <Id>0</Id>
</ViewOrder>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Order xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
  <AddressCity>String</AddressCity>
  <AddressCountry>String</AddressCountry>
  <AddressLine1>String</AddressLine1>
  <AddressLine2>String</AddressLine2>
  <AddressState>String</AddressState>
  <AddressZip>String</AddressZip>
  <AgreeTerms>false</AgreeTerms>
  <AuthorizedQuantity>0</AuthorizedQuantity>
  <CancelledDate>0001-01-01T00:00:00</CancelledDate>
  <CancelledReason>String</CancelledReason>
  <Company>String</Company>
  <CouponId>String</CouponId>
  <CreatedDate>0001-01-01T00:00:00</CreatedDate>
  <CustomerId>0</CustomerId>
  <Discount>0</Discount>
  <Email>String</Email>
  <EmailId>0</EmailId>
  <FirstName>String</FirstName>
  <Id>0</Id>
  <IpAddress>String</IpAddress>
  <ItemQuantity>0</ItemQuantity>
  <Last4>String</Last4>
  <LastName>String</LastName>
  <LicenseRef>String</LicenseRef>
  <ModifiedBy>String</ModifiedBy>
  <ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
  <Notes>String</Notes>
  <OrderDetails>
    <OrderDetail>
      <Description>String</Description>
      <Id>0</Id>
      <OrderId>0</OrderId>
      <Price>0</Price>
      <Quantity>0</Quantity>
      <SkuId>0</SkuId>
      <SkuType>Product</SkuType>
      <Total>0</Total>
    </OrderDetail>
  </OrderDetails>
  <Paid>false</Paid>
  <PaymentId>0</PaymentId>
  <PhoneNumber>String</PhoneNumber>
  <ProductName>String</ProductName>
  <SubTotal>0</SubTotal>
  <SubscriptionId>0</SubscriptionId>
  <Tax>0</Tax>
  <Total>0</Total>
</Order>