POST | /PurchaseSubscription |
---|
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 Subscriptions:
section: Optional[str] = None
success: bool = False
activated: bool = False
purchased_order_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PurchaseSubscription(ICardInfo, IAddress):
code: Optional[str] = None
coupon: Optional[str] = None
renewal_ref: Optional[str] = None
upgrade_ref: Optional[str] = None
quantity: int = 0
user_auth_id: Optional[str] = None
sku_id: int = 0
is_small_company: Optional[bool] = None
is_non_profit: Optional[bool] = None
agree_terms: bool = False
first_name: Optional[str] = None
last_name: Optional[str] = None
email: Optional[str] = None
password: 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
license_name: Optional[str] = None
license_email: Optional[str] = None
license_address: Optional[str] = None
card_number: Optional[str] = None
cvc: Optional[str] = None
exp_month: int = 0
exp_year: int = 0
notes: Optional[str] = None
Python PurchaseSubscription DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /PurchaseSubscription HTTP/1.1
Host: account.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PurchaseSubscription 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>
<CardNumber>String</CardNumber>
<Code>String</Code>
<Company>String</Company>
<Coupon>String</Coupon>
<Cvc>String</Cvc>
<Email>String</Email>
<ExpMonth>0</ExpMonth>
<ExpYear>0</ExpYear>
<FirstName>String</FirstName>
<IsNonProfit>false</IsNonProfit>
<IsSmallCompany>false</IsSmallCompany>
<LastName>String</LastName>
<LicenseAddress>String</LicenseAddress>
<LicenseEmail>String</LicenseEmail>
<LicenseName>String</LicenseName>
<Notes>String</Notes>
<Password>String</Password>
<PhoneNumber>String</PhoneNumber>
<Quantity>0</Quantity>
<RenewalRef>String</RenewalRef>
<SkuId>0</SkuId>
<UpgradeRef>String</UpgradeRef>
<UserAuthId>String</UserAuthId>
</PurchaseSubscription>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <Subscriptions xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel"> <Activated>false</Activated> <PurchasedOrderId>0</PurchasedOrderId> <Section>String</Section> <Success>false</Success> </Subscriptions>