AIM Web Services

<back to all web services

CustomerOrdersRequest

CustomerOrders
Requires active-e 3rd Party E-Commerce or active-e Vortx E-Commerce.

The following routes are available for this service:
POST/api/CustomerOrders
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 BaseRequest:
    # @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
    api_key: Optional[str] = None
    """
    This is your AIM API Key provided by Tri-Tech
    """


    # @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
    o_auth_token: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseSecureRequest(BaseRequest):
    # @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
    token: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
    device_id: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
    app_id: Optional[str] = None
    """
    
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseResponseResult:
    # @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
    status_code: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
    login: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
    error_code: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
    error_display_text: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
    error_message: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
    domain_name: Optional[str] = None
    """
    
    """

    # @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
    ip_address: Optional[str] = None
    """
    
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BaseResponse:
    # @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
    status: Optional[BaseResponseResult] = None
    """
    
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerOrdersResponse(BaseResponse):
    pass


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ThirdPartyOrderItem:
    product_name: Optional[str] = None
    sku: Optional[str] = None
    serial_number: Optional[str] = None
    web_number: Optional[str] = None
    location: Optional[str] = None
    qty: Decimal = decimal.Decimal(0)
    qty_picked: Decimal = decimal.Decimal(0)
    use_qty_picked: bool = False
    price: Decimal = decimal.Decimal(0)
    on_approval: bool = False
    is_e_card: bool = False
    ni_cat: Optional[int] = None
    ni_sub: Optional[int] = None
    ext_pk: Optional[int] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ThirdPartyOrder:
    order_number: Optional[str] = None
    order_date: datetime.datetime = datetime.datetime(1, 1, 1)
    transaction_state: Optional[str] = None
    payment_method: Optional[str] = None
    order_notes: Optional[str] = None
    authorization_code: Optional[str] = None
    shipping_method: Optional[str] = None
    total: Decimal = decimal.Decimal(0)
    sub_total: Decimal = decimal.Decimal(0)
    tax_total: Decimal = decimal.Decimal(0)
    shipping_total: Decimal = decimal.Decimal(0)
    card_type: Optional[str] = None
    card_token: Optional[str] = None
    card_span: Optional[str] = None
    card_expiration_month: Optional[str] = None
    card_expiration_year: Optional[str] = None
    customer_acct: int = 0
    email: Optional[str] = None
    po: Optional[str] = None
    employee_username: Optional[str] = None
    ae_on_approval_order_subtotal: Decimal = decimal.Decimal(0)
    ae_on_approval_order_shipping: Decimal = decimal.Decimal(0)
    shipping_attn: Optional[str] = None
    shipping_name: Optional[str] = None
    shipping_first_name: Optional[str] = None
    shipping_last_name: Optional[str] = None
    shipping_company: Optional[str] = None
    shipping_addr1: Optional[str] = None
    shipping_addr2: Optional[str] = None
    shipping_city: Optional[str] = None
    shipping_st: Optional[str] = None
    shipping_zip: Optional[str] = None
    shipping_country: Optional[str] = None
    shipping_phone: Optional[str] = None
    billing_attn: Optional[str] = None
    billing_name: Optional[str] = None
    billing_first_name: Optional[str] = None
    billing_last_name: Optional[str] = None
    billing_company: Optional[str] = None
    billing_addr1: Optional[str] = None
    billing_addr2: Optional[str] = None
    billing_city: Optional[str] = None
    billing_st: Optional[str] = None
    billing_zip: Optional[str] = None
    billing_country: Optional[str] = None
    billing_phone: Optional[str] = None
    order_source: Optional[str] = None
    card_name: Optional[str] = None
    pn_ref: Optional[str] = None
    line_items: Optional[List[ThirdPartyOrderItem]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomerOrdersRequest(BaseSecureRequest):
    """
    CustomerOrdersRequires active-e 3rd Party E-Commerce or active-e Vortx E-Commerce.
    """

    orders: Optional[List[ThirdPartyOrder]] = None

Python CustomerOrdersRequest 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 /api/CustomerOrders HTTP/1.1 
Host: active-ewebservice.biz 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CustomerOrdersRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <ApiKey>String</ApiKey>
  <OAuthToken>String</OAuthToken>
  <AppId>String</AppId>
  <DeviceId>String</DeviceId>
  <Token>String</Token>
  <Orders xmlns:d2p1="http://schemas.datacontract.org/2004/07/AIM.BL.Core.Misc">
    <d2p1:ThirdPartyOrder>
      <d2p1:AeOnApprovalOrderShipping>0</d2p1:AeOnApprovalOrderShipping>
      <d2p1:AeOnApprovalOrderSubtotal>0</d2p1:AeOnApprovalOrderSubtotal>
      <d2p1:AuthorizationCode>String</d2p1:AuthorizationCode>
      <d2p1:BillingAddr1>String</d2p1:BillingAddr1>
      <d2p1:BillingAddr2>String</d2p1:BillingAddr2>
      <d2p1:BillingAttn>String</d2p1:BillingAttn>
      <d2p1:BillingCity>String</d2p1:BillingCity>
      <d2p1:BillingCompany>String</d2p1:BillingCompany>
      <d2p1:BillingCountry>String</d2p1:BillingCountry>
      <d2p1:BillingFirstName>String</d2p1:BillingFirstName>
      <d2p1:BillingLastName>String</d2p1:BillingLastName>
      <d2p1:BillingName>String</d2p1:BillingName>
      <d2p1:BillingPhone>String</d2p1:BillingPhone>
      <d2p1:BillingSt>String</d2p1:BillingSt>
      <d2p1:BillingZip>String</d2p1:BillingZip>
      <d2p1:CardExpirationMonth>String</d2p1:CardExpirationMonth>
      <d2p1:CardExpirationYear>String</d2p1:CardExpirationYear>
      <d2p1:CardName>String</d2p1:CardName>
      <d2p1:CardSpan>String</d2p1:CardSpan>
      <d2p1:CardToken>String</d2p1:CardToken>
      <d2p1:CardType>String</d2p1:CardType>
      <d2p1:CustomerAcct>0</d2p1:CustomerAcct>
      <d2p1:Email>String</d2p1:Email>
      <d2p1:EmployeeUsername>String</d2p1:EmployeeUsername>
      <d2p1:LineItems>
        <d2p1:ThirdPartyOrder.ThirdPartyOrderItem>
          <d2p1:ExtPk>0</d2p1:ExtPk>
          <d2p1:IsECard>false</d2p1:IsECard>
          <d2p1:Location>String</d2p1:Location>
          <d2p1:NiCat>0</d2p1:NiCat>
          <d2p1:NiSub>0</d2p1:NiSub>
          <d2p1:OnApproval>false</d2p1:OnApproval>
          <d2p1:Price>0</d2p1:Price>
          <d2p1:ProductName>String</d2p1:ProductName>
          <d2p1:Qty>0</d2p1:Qty>
          <d2p1:QtyPicked>0</d2p1:QtyPicked>
          <d2p1:SerialNumber>String</d2p1:SerialNumber>
          <d2p1:Sku>String</d2p1:Sku>
          <d2p1:UseQtyPicked>false</d2p1:UseQtyPicked>
          <d2p1:WebNumber>String</d2p1:WebNumber>
        </d2p1:ThirdPartyOrder.ThirdPartyOrderItem>
      </d2p1:LineItems>
      <d2p1:OrderDate>0001-01-01T00:00:00</d2p1:OrderDate>
      <d2p1:OrderNotes>String</d2p1:OrderNotes>
      <d2p1:OrderNumber>String</d2p1:OrderNumber>
      <d2p1:OrderSource>String</d2p1:OrderSource>
      <d2p1:PO>String</d2p1:PO>
      <d2p1:PaymentMethod>String</d2p1:PaymentMethod>
      <d2p1:PnRef>String</d2p1:PnRef>
      <d2p1:ShippingAddr1>String</d2p1:ShippingAddr1>
      <d2p1:ShippingAddr2>String</d2p1:ShippingAddr2>
      <d2p1:ShippingAttn>String</d2p1:ShippingAttn>
      <d2p1:ShippingCity>String</d2p1:ShippingCity>
      <d2p1:ShippingCompany>String</d2p1:ShippingCompany>
      <d2p1:ShippingCountry>String</d2p1:ShippingCountry>
      <d2p1:ShippingFirstName>String</d2p1:ShippingFirstName>
      <d2p1:ShippingLastName>String</d2p1:ShippingLastName>
      <d2p1:ShippingMethod>String</d2p1:ShippingMethod>
      <d2p1:ShippingName>String</d2p1:ShippingName>
      <d2p1:ShippingPhone>String</d2p1:ShippingPhone>
      <d2p1:ShippingSt>String</d2p1:ShippingSt>
      <d2p1:ShippingTotal>0</d2p1:ShippingTotal>
      <d2p1:ShippingZip>String</d2p1:ShippingZip>
      <d2p1:SubTotal>0</d2p1:SubTotal>
      <d2p1:TaxTotal>0</d2p1:TaxTotal>
      <d2p1:Total>0</d2p1:Total>
      <d2p1:TransactionState>String</d2p1:TransactionState>
    </d2p1:ThirdPartyOrder>
  </Orders>
</CustomerOrdersRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CustomerOrdersResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
  <Status>
    <DomainName>String</DomainName>
    <ErrorCode>String</ErrorCode>
    <ErrorDisplayText>String</ErrorDisplayText>
    <ErrorMessage>String</ErrorMessage>
    <IpAddress>String</IpAddress>
    <Login>String</Login>
    <StatusCode>String</StatusCode>
  </Status>
</CustomerOrdersResponse>